From 2754961708ff0eb6030faf6db2edf8fbdae227d5 Mon Sep 17 00:00:00 2001 From: Paul Martin Date: Mon, 11 Jan 2016 12:25:06 +0000 Subject: [PATCH] Document edit capability via ProseMirror submodule #974 + New docEdit page with links from docPage and docList + Bespoke menu system with full screen edit mode + npm required for building client side scripts + Ant script added for BuildUI which performs npm commands + Update font-awesome to 4.5.0 + Factor out to JGitUtils common code in BranchTicketService for EditFilePage + getTreeEntries + commitIndex + Merge capability for document editing --- .gitmodules | 3 + build.xml | 17 + .../gitblit/tickets/BranchTicketService.java | 109 +----- .../java/com/gitblit/utils/JGitUtils.java | 131 ++++++++ .../com/gitblit/wicket/pages/DocPage.html | 4 +- .../com/gitblit/wicket/pages/DocPage.java | 2 + .../com/gitblit/wicket/pages/DocsPage.html | 4 +- .../com/gitblit/wicket/pages/DocsPage.java | 4 + .../gitblit/wicket/pages/EditFilePage.html | 60 ++++ .../gitblit/wicket/pages/EditFilePage.java | 220 ++++++++++++ src/main/js/.gitignore | 1 + src/main/js/editor.dev.css | 70 ++++ src/main/js/editor.dev.js | 271 +++++++++++++++ src/main/js/package.json | 23 ++ src/main/js/prosemirror | 1 + .../fontawesome/css/font-awesome.min.css | 4 +- .../fontawesome/fonts/FontAwesome.otf | Bin 62856 -> 109688 bytes .../fontawesome/fonts/fontawesome-webfont.eot | Bin 38205 -> 70807 bytes .../fontawesome/fonts/fontawesome-webfont.svg | 317 +++++++++++++++--- .../fontawesome/fonts/fontawesome-webfont.ttf | Bin 80652 -> 142072 bytes .../fonts/fontawesome-webfont.woff | Bin 44432 -> 83588 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes src/main/resources/gitblit-editor.min.css | 1 + src/main/resources/gitblit-editor.min.js | 10 + src/main/resources/gitblit.css | 4 - 25 files changed, 1106 insertions(+), 150 deletions(-) create mode 100644 src/main/java/com/gitblit/wicket/pages/EditFilePage.html create mode 100644 src/main/java/com/gitblit/wicket/pages/EditFilePage.java create mode 100644 src/main/js/.gitignore create mode 100644 src/main/js/editor.dev.css create mode 100644 src/main/js/editor.dev.js create mode 100644 src/main/js/package.json create mode 160000 src/main/js/prosemirror create mode 100644 src/main/resources/fontawesome/fonts/fontawesome-webfont.woff2 create mode 100644 src/main/resources/gitblit-editor.min.css create mode 100644 src/main/resources/gitblit-editor.min.js diff --git a/.gitmodules b/.gitmodules index 01eaa2c8..25cab4a1 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "src/main/distrib/data/gitignore"] path = src/main/distrib/data/gitignore url = https://github.com/github/gitignore.git +[submodule "src/main/js/prosemirror"] + path = src/main/js/prosemirror + url = https://github.com/ProseMirror/prosemirror.git diff --git a/build.xml b/build.xml index 7205bf84..2edc853c 100644 --- a/build.xml +++ b/build.xml @@ -1056,4 +1056,21 @@ + + + + + + + + + + + + + diff --git a/src/main/java/com/gitblit/tickets/BranchTicketService.java b/src/main/java/com/gitblit/tickets/BranchTicketService.java index 83966939..7bef435a 100644 --- a/src/main/java/com/gitblit/tickets/BranchTicketService.java +++ b/src/main/java/com/gitblit/tickets/BranchTicketService.java @@ -19,7 +19,6 @@ import java.io.IOException; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; -import java.util.Collection; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -31,21 +30,17 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicLong; import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; -import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.dircache.DirCache; import org.eclipse.jgit.dircache.DirCacheBuilder; import org.eclipse.jgit.dircache.DirCacheEntry; import org.eclipse.jgit.events.RefsChangedEvent; import org.eclipse.jgit.events.RefsChangedListener; -import org.eclipse.jgit.internal.JGitText; -import org.eclipse.jgit.lib.CommitBuilder; import org.eclipse.jgit.lib.FileMode; import org.eclipse.jgit.lib.ObjectId; import org.eclipse.jgit.lib.ObjectInserter; import org.eclipse.jgit.lib.PersonIdent; import org.eclipse.jgit.lib.Ref; import org.eclipse.jgit.lib.RefRename; -import org.eclipse.jgit.lib.RefUpdate; import org.eclipse.jgit.lib.RefUpdate.Result; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.revwalk.RevCommit; @@ -338,7 +333,7 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi Set ignorePaths = new HashSet(); ignorePaths.add(file); - for (DirCacheEntry entry : getTreeEntries(db, ignorePaths)) { + for (DirCacheEntry entry : JGitUtils.getTreeEntries(db, BRANCH, ignorePaths)) { builder.add(entry); } @@ -804,7 +799,7 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi } } - for (DirCacheEntry entry : getTreeEntries(db, ignorePaths)) { + for (DirCacheEntry entry : JGitUtils.getTreeEntries(db, BRANCH, ignorePaths)) { builder.add(entry); } @@ -816,108 +811,18 @@ public class BranchTicketService extends ITicketService implements RefsChangedLi return newIndex; } - /** - * Returns all tree entries that do not match the ignore paths. - * - * @param db - * @param ignorePaths - * @param dcBuilder - * @throws IOException - */ - private List getTreeEntries(Repository db, Collection ignorePaths) throws IOException { - List list = new ArrayList(); - TreeWalk tw = null; - try { - ObjectId treeId = db.resolve(BRANCH + "^{tree}"); - if (treeId == null) { - // branch does not exist yet, could be migrating tickets - return list; - } - tw = new TreeWalk(db); - int hIdx = tw.addTree(treeId); - tw.setRecursive(true); - - while (tw.next()) { - String path = tw.getPathString(); - CanonicalTreeParser hTree = null; - if (hIdx != -1) { - hTree = tw.getTree(hIdx, CanonicalTreeParser.class); - } - if (!ignorePaths.contains(path)) { - // add all other tree entries - if (hTree != null) { - final DirCacheEntry entry = new DirCacheEntry(path); - entry.setObjectId(hTree.getEntryObjectId()); - entry.setFileMode(hTree.getEntryFileMode()); - list.add(entry); - } - } - } - } finally { - if (tw != null) { - tw.close(); - } - } - return list; - } - private boolean commitIndex(Repository db, DirCache index, String author, String message) throws IOException, ConcurrentRefUpdateException { + final boolean forceCommit = true; boolean success = false; - + ObjectId headId = db.resolve(BRANCH + "^{commit}"); if (headId == null) { // create the branch createTicketsBranch(db); - headId = db.resolve(BRANCH + "^{commit}"); - } - ObjectInserter odi = db.newObjectInserter(); - try { - // Create the in-memory index of the new/updated ticket - ObjectId indexTreeId = index.writeTree(odi); - - // Create a commit object - PersonIdent ident = new PersonIdent(author, "gitblit@localhost"); - CommitBuilder commit = new CommitBuilder(); - commit.setAuthor(ident); - commit.setCommitter(ident); - commit.setEncoding(Constants.ENCODING); - commit.setMessage(message); - commit.setParentId(headId); - commit.setTreeId(indexTreeId); - - // Insert the commit into the repository - ObjectId commitId = odi.insert(commit); - odi.flush(); - - RevWalk revWalk = new RevWalk(db); - try { - RevCommit revCommit = revWalk.parseCommit(commitId); - RefUpdate ru = db.updateRef(BRANCH); - ru.setNewObjectId(commitId); - ru.setExpectedOldObjectId(headId); - ru.setRefLogMessage("commit: " + revCommit.getShortMessage(), false); - Result rc = ru.forceUpdate(); - switch (rc) { - case NEW: - case FORCED: - case FAST_FORWARD: - success = true; - break; - case REJECTED: - case LOCK_FAILURE: - throw new ConcurrentRefUpdateException(JGitText.get().couldNotLockHEAD, - ru.getRef(), rc); - default: - throw new JGitInternalException(MessageFormat.format( - JGitText.get().updatingRefFailed, BRANCH, commitId.toString(), - rc)); - } - } finally { - revWalk.close(); - } - } finally { - odi.close(); } + + success = JGitUtils.commitIndex(db, BRANCH, index, headId, forceCommit, author, "gitblit@localhost", message); + return success; } diff --git a/src/main/java/com/gitblit/utils/JGitUtils.java b/src/main/java/com/gitblit/utils/JGitUtils.java index 7a008139..3aaad6d7 100644 --- a/src/main/java/com/gitblit/utils/JGitUtils.java +++ b/src/main/java/com/gitblit/utils/JGitUtils.java @@ -21,6 +21,7 @@ import java.text.DecimalFormat; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.HashMap; @@ -36,16 +37,21 @@ import org.eclipse.jgit.api.CloneCommand; import org.eclipse.jgit.api.FetchCommand; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.TagCommand; +import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; import org.eclipse.jgit.api.errors.GitAPIException; +import org.eclipse.jgit.api.errors.JGitInternalException; import org.eclipse.jgit.diff.DiffEntry; import org.eclipse.jgit.diff.DiffEntry.ChangeType; import org.eclipse.jgit.diff.DiffFormatter; import org.eclipse.jgit.diff.RawTextComparator; +import org.eclipse.jgit.dircache.DirCache; +import org.eclipse.jgit.dircache.DirCacheEntry; import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.errors.IncorrectObjectTypeException; import org.eclipse.jgit.errors.LargeObjectException; import org.eclipse.jgit.errors.MissingObjectException; import org.eclipse.jgit.errors.StopWalkException; +import org.eclipse.jgit.internal.JGitText; import org.eclipse.jgit.lib.BlobBasedConfig; import org.eclipse.jgit.lib.CommitBuilder; import org.eclipse.jgit.lib.Constants; @@ -63,6 +69,7 @@ import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.lib.TreeFormatter; import org.eclipse.jgit.merge.MergeStrategy; import org.eclipse.jgit.merge.RecursiveMerger; +import org.eclipse.jgit.merge.ThreeWayMerger; import org.eclipse.jgit.revwalk.RevBlob; import org.eclipse.jgit.revwalk.RevCommit; import org.eclipse.jgit.revwalk.RevObject; @@ -75,6 +82,7 @@ import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.eclipse.jgit.transport.CredentialsProvider; import org.eclipse.jgit.transport.FetchResult; import org.eclipse.jgit.transport.RefSpec; +import org.eclipse.jgit.treewalk.CanonicalTreeParser; import org.eclipse.jgit.treewalk.TreeWalk; import org.eclipse.jgit.treewalk.filter.AndTreeFilter; import org.eclipse.jgit.treewalk.filter.OrTreeFilter; @@ -2597,4 +2605,127 @@ public class JGitUtils { + "objects/" + oid; } + + /** + * Returns all tree entries that do not match the ignore paths. + * + * @param db + * @param ignorePaths + * @param dcBuilder + * @throws IOException + */ + public static List getTreeEntries(Repository db, String branch, Collection ignorePaths) throws IOException { + List list = new ArrayList(); + TreeWalk tw = null; + try { + ObjectId treeId = db.resolve(branch + "^{tree}"); + if (treeId == null) { + // branch does not exist yet + return list; + } + tw = new TreeWalk(db); + int hIdx = tw.addTree(treeId); + tw.setRecursive(true); + + while (tw.next()) { + String path = tw.getPathString(); + CanonicalTreeParser hTree = null; + if (hIdx != -1) { + hTree = tw.getTree(hIdx, CanonicalTreeParser.class); + } + if (!ignorePaths.contains(path)) { + // add all other tree entries + if (hTree != null) { + final DirCacheEntry entry = new DirCacheEntry(path); + entry.setObjectId(hTree.getEntryObjectId()); + entry.setFileMode(hTree.getEntryFileMode()); + list.add(entry); + } + } + } + } finally { + if (tw != null) { + tw.close(); + } + } + return list; + } + + public static boolean commitIndex(Repository db, String branch, DirCache index, + ObjectId parentId, boolean forceCommit, + String author, String authorEmail, String message) throws IOException, ConcurrentRefUpdateException { + boolean success = false; + + ObjectId headId = db.resolve(branch + "^{commit}"); + ObjectId baseId = parentId; + if (baseId == null || headId == null) { return false; } + + ObjectInserter odi = db.newObjectInserter(); + try { + // Create the in-memory index of the new/updated ticket + ObjectId indexTreeId = index.writeTree(odi); + + // Create a commit object + PersonIdent ident = new PersonIdent(author, authorEmail); + + if (forceCommit == false) { + ThreeWayMerger merger = MergeStrategy.RECURSIVE.newMerger(db, true); + merger.setObjectInserter(odi); + merger.setBase(baseId); + boolean mergeSuccess = merger.merge(indexTreeId, headId); + + if (mergeSuccess) { + indexTreeId = merger.getResultTreeId(); + } else { + //Manual merge required + return false; + } + } + + CommitBuilder commit = new CommitBuilder(); + commit.setAuthor(ident); + commit.setCommitter(ident); + commit.setEncoding(com.gitblit.Constants.ENCODING); + commit.setMessage(message); + commit.setParentId(headId); + commit.setTreeId(indexTreeId); + + // Insert the commit into the repository + ObjectId commitId = odi.insert(commit); + odi.flush(); + + RevWalk revWalk = new RevWalk(db); + try { + RevCommit revCommit = revWalk.parseCommit(commitId); + RefUpdate ru = db.updateRef(branch); + ru.setForceUpdate(forceCommit); + ru.setNewObjectId(commitId); + ru.setExpectedOldObjectId(headId); + ru.setRefLogMessage("commit: " + revCommit.getShortMessage(), false); + Result rc = ru.update(); + + switch (rc) { + case NEW: + case FORCED: + case FAST_FORWARD: + success = true; + break; + case REJECTED: + case LOCK_FAILURE: + throw new ConcurrentRefUpdateException(JGitText.get().couldNotLockHEAD, + ru.getRef(), rc); + default: + throw new JGitInternalException(MessageFormat.format( + JGitText.get().updatingRefFailed, branch, commitId.toString(), + rc)); + } + } finally { + revWalk.close(); + } + } finally { + odi.close(); + } + return success; + } + } diff --git a/src/main/java/com/gitblit/wicket/pages/DocPage.html b/src/main/java/com/gitblit/wicket/pages/DocPage.html index 2bb7e1bc..6df6f3a9 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocPage.html +++ b/src/main/java/com/gitblit/wicket/pages/DocPage.html @@ -12,7 +12,7 @@
- | | + | | |
@@ -24,7 +24,7 @@
- | | + | | |
diff --git a/src/main/java/com/gitblit/wicket/pages/DocPage.java b/src/main/java/com/gitblit/wicket/pages/DocPage.java index 5ed9c400..fe05ada2 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocPage.java +++ b/src/main/java/com/gitblit/wicket/pages/DocPage.java @@ -85,6 +85,8 @@ public class DocPage extends RepositoryPage { } // document page links + fragment.add(new BookmarkablePageLink("editLink", EditFilePage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); fragment.add(new BookmarkablePageLink("blameLink", BlamePage.class, WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); fragment.add(new BookmarkablePageLink("historyLink", HistoryPage.class, diff --git a/src/main/java/com/gitblit/wicket/pages/DocsPage.html b/src/main/java/com/gitblit/wicket/pages/DocsPage.html index 2253205b..54306b1b 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocsPage.html +++ b/src/main/java/com/gitblit/wicket/pages/DocsPage.html @@ -20,7 +20,7 @@
- | | + | | |
@@ -43,7 +43,7 @@ [doc size] - | | | + | | | | diff --git a/src/main/java/com/gitblit/wicket/pages/DocsPage.java b/src/main/java/com/gitblit/wicket/pages/DocsPage.java index 8be9a573..93016920 100644 --- a/src/main/java/com/gitblit/wicket/pages/DocsPage.java +++ b/src/main/java/com/gitblit/wicket/pages/DocsPage.java @@ -103,6 +103,8 @@ public class DocsPage extends RepositoryPage { public void populateItem(final Item item) { MarkupDocument doc = item.getModelObject(); // document page links + item.add(new BookmarkablePageLink("editLink", EditFilePage.class, + WicketUtils.newPathParameter(repositoryName, commitId, doc.documentPath))); item.add(new BookmarkablePageLink("blameLink", BlamePage.class, WicketUtils.newPathParameter(repositoryName, commitId, doc.documentPath))); item.add(new BookmarkablePageLink("historyLink", HistoryPage.class, @@ -148,6 +150,8 @@ public class DocsPage extends RepositoryPage { // links item.add(new BookmarkablePageLink("view", DocPage.class, WicketUtils .newPathParameter(repositoryName, commitId, entry.path))); + item.add(new BookmarkablePageLink("edit", EditFilePage.class, WicketUtils + .newPathParameter(repositoryName, commitId, entry.path))); String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, commitId, entry.path); item.add(new ExternalLink("raw", rawUrl)); item.add(new BookmarkablePageLink("blame", BlamePage.class, WicketUtils diff --git a/src/main/java/com/gitblit/wicket/pages/EditFilePage.html b/src/main/java/com/gitblit/wicket/pages/EditFilePage.html new file mode 100644 index 00000000..602149b7 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EditFilePage.html @@ -0,0 +1,60 @@ + + + + + + + + + + + +
+ +
+ + +
+ | | +
+
+
+ + + +
+ +
+
+ + +
+ +
+ | | +
+ + +
[content]
+
+
+ +
+ + \ No newline at end of file diff --git a/src/main/java/com/gitblit/wicket/pages/EditFilePage.java b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java new file mode 100644 index 00000000..378f2a35 --- /dev/null +++ b/src/main/java/com/gitblit/wicket/pages/EditFilePage.java @@ -0,0 +1,220 @@ +/* + * Copyright 2016 gitblit.com. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.gitblit.wicket.pages; + + +import java.io.IOException; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.form.Form; +import org.apache.wicket.markup.html.form.TextArea; +import org.apache.wicket.markup.html.link.BookmarkablePageLink; +import org.apache.wicket.markup.html.link.ExternalLink; +import org.apache.wicket.markup.html.panel.Fragment; +import org.apache.wicket.model.Model; +import org.eclipse.jgit.api.errors.ConcurrentRefUpdateException; +import org.eclipse.jgit.dircache.DirCache; +import org.eclipse.jgit.dircache.DirCacheBuilder; +import org.eclipse.jgit.dircache.DirCacheEntry; +import org.eclipse.jgit.lib.FileMode; +import org.eclipse.jgit.lib.ObjectId; +import org.eclipse.jgit.lib.Repository; +import org.eclipse.jgit.revwalk.RevCommit; + +import com.gitblit.Constants; +import com.gitblit.models.UserModel; +import com.gitblit.servlet.RawServlet; +import com.gitblit.utils.BugtraqProcessor; +import com.gitblit.utils.JGitUtils; +import com.gitblit.utils.StringUtils; +import com.gitblit.wicket.CacheControl; +import com.gitblit.wicket.GitBlitWebSession; +import com.gitblit.wicket.CacheControl.LastModified; +import com.gitblit.wicket.MarkupProcessor; +import com.gitblit.wicket.MarkupProcessor.MarkupDocument; +import com.gitblit.wicket.WicketUtils; + +@CacheControl(LastModified.BOOT) +public class EditFilePage extends RepositoryPage { + + public EditFilePage(final PageParameters params) { + super(params); + + final UserModel currentUser = (GitBlitWebSession.get().getUser() != null) ? GitBlitWebSession.get().getUser() : UserModel.ANONYMOUS; + + final String path = WicketUtils.getPath(params).replace("%2f", "/").replace("%2F", "/"); + MarkupProcessor processor = new MarkupProcessor(app().settings(), app().xssFilter()); + + Repository r = getRepository(); + RevCommit commit = JGitUtils.getCommit(r, objectId); + String [] encodings = getEncodings(); + + // Read raw markup content and transform it to html + String documentPath = path; + String markupText = JGitUtils.getStringContent(r, commit.getTree(), path, encodings); + + // Hunt for document + if (StringUtils.isEmpty(markupText)) { + String name = StringUtils.stripFileExtension(path); + + List docExtensions = processor.getAllExtensions(); + for (String ext : docExtensions) { + String checkName = name + "." + ext; + markupText = JGitUtils.getStringContent(r, commit.getTree(), checkName, encodings); + if (!StringUtils.isEmpty(markupText)) { + // found it + documentPath = path; + break; + } + } + } + + if (markupText == null) { + markupText = ""; + } + + BugtraqProcessor bugtraq = new BugtraqProcessor(app().settings()); + markupText = bugtraq.processText(getRepository(), repositoryName, markupText); + + Fragment fragment; + String displayedCommitId = commit.getId().getName(); + MarkupDocument markupDoc = processor.parse(repositoryName, displayedCommitId, documentPath, markupText); + logger.info("Loading Edit File page: " + displayedCommitId); + + if (currentUser.canEdit(getRepositoryModel())) { + + final Model documentContent = new Model(markupDoc.markup); + final Model commitMessage = new Model("Document update"); + final Model commitIdAtLoad = new Model(displayedCommitId); + + fragment = new Fragment("doc", "markupContent", this); + + Form form = new Form("documentEditor") { + + private static final long serialVersionUID = 1L; + + @Override + protected void onSubmit() { + + final Repository repository = getRepository(); + final String document = documentContent.getObject(); + final String message = commitMessage.getObject(); + + final String branchName = JGitUtils.getBranch(getRepository(), objectId).getName(); + final String authorEmail = StringUtils.isEmpty(currentUser.emailAddress) ? (currentUser.username + "@gitblit") : currentUser.emailAddress; + + boolean success = false; + + try { + ObjectId docAtLoad = getRepository().resolve(commitIdAtLoad.getObject()); + + logger.info("Commiting Edit File page: " + commitIdAtLoad.getObject()); + + DirCache index = DirCache.newInCore(); + DirCacheBuilder builder = index.builder(); + byte[] bytes = document.getBytes( Constants.ENCODING ); + + final DirCacheEntry fileUpdate = new DirCacheEntry(path); + fileUpdate.setLength(bytes.length); + fileUpdate.setLastModified(System.currentTimeMillis()); + fileUpdate.setFileMode(FileMode.REGULAR_FILE); + fileUpdate.setObjectId(repository.newObjectInserter().insert( org.eclipse.jgit.lib.Constants.OBJ_BLOB, bytes )); + builder.add(fileUpdate); + + Set ignorePaths = new HashSet(); + ignorePaths.add(path); + + for (DirCacheEntry entry : JGitUtils.getTreeEntries(repository, branchName, ignorePaths)) { + builder.add(entry); + } + + builder.finish(); + + final boolean forceCommit = false; + + success = JGitUtils.commitIndex(repository, branchName, index, docAtLoad, forceCommit, currentUser.getDisplayName(), authorEmail, message); + + } catch (IOException | ConcurrentRefUpdateException e) { + e.printStackTrace(); + } + + if (success == false) { + EditFilePage.this.error("Unable to commit document " + path, false); + return; + } + + setResponsePage(EditFilePage.class, params); + return; + } + }; + + final TextArea docIO = new TextArea("content", documentContent); + docIO.setOutputMarkupId(false); + + form.add(new Label("commitAuthor", String.format("%s <%s>", currentUser.getDisplayName(), currentUser.emailAddress))); + form.add(new TextArea("commitMessage", commitMessage)); + + + form.setOutputMarkupId(false); + form.add(docIO); + + addBottomScriptInline("attachDocumentEditor(document.querySelector('textarea#editor'), $('#commitDialog'));"); + + fragment.add(form); + + } else { + + final Model documentContent = new Model(markupDoc.html); + + fragment = new Fragment("doc", "plainContent", this); + + fragment.add(new Label("content", documentContent).setEscapeModelStrings(false)); + } + + // document page links + fragment.add(new BookmarkablePageLink("blameLink", BlamePage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + fragment.add(new BookmarkablePageLink("historyLink", HistoryPage.class, + WicketUtils.newPathParameter(repositoryName, objectId, documentPath))); + String rawUrl = RawServlet.asLink(getContextUrl(), repositoryName, objectId, documentPath); + fragment.add(new ExternalLink("rawLink", rawUrl)); + + add(fragment); + + } + + @Override + protected String getPageName() { + return getString("gb.docs"); + } + + @Override + protected boolean isCommitPage() { + return true; + } + + @Override + protected Class getRepoNavPageClass() { + return DocsPage.class; + } + + + +} diff --git a/src/main/js/.gitignore b/src/main/js/.gitignore new file mode 100644 index 00000000..b512c09d --- /dev/null +++ b/src/main/js/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/src/main/js/editor.dev.css b/src/main/js/editor.dev.css new file mode 100644 index 00000000..d1a0ebee --- /dev/null +++ b/src/main/js/editor.dev.css @@ -0,0 +1,70 @@ +.ProseMirror-menubar { + + border-top-left-radius: inherit; + border-top-right-radius: inherit; + color: #666; + padding: 1px 6px; + border-bottom: 1px solid silver; + background: white; + z-index: 10; + -moz-box-sizing: border-box; + box-sizing: border-box; + overflow: visible; + +} + +.ProseMirror-menubar.scrolling { + top: 47px; +} + +.ProseMirror-menuitem { + display: inline-block; + font-size: 1.2em; + text-align: center; + min-width: 30px; + line-height: 30px; + box-sizing: border-box; + margin: 1px; + border-width: 1px; + border-style: solid; + border-color: white; +} + +.ProseMirror-menuitem:hover { + border-radius: 5px; + background: #fcfcfc; + border-color: #95a5a6; + border-width: 1px; + border-style: solid; + box-sizing: border-box; +} + +.ProseMirror-icon { + line-height: inherit; + vertical-align: middle; +} + + +.ProseMirror-menubar .fa-header-x:after { + font-family: Arial, Helvetica, sans-serif; + font-size: 65%; + vertical-align: text-bottom; + position: relative; + top: 2px; +} + +.fa-header-1:after { + content: "1"; +} + +.fa-header-2:after { + content: "2"; +} + +.fa-header-3:after { + content: "3"; +} + +.forceHide { + display:none !important; +} \ No newline at end of file diff --git a/src/main/js/editor.dev.js b/src/main/js/editor.dev.js new file mode 100644 index 00000000..62b6b4cc --- /dev/null +++ b/src/main/js/editor.dev.js @@ -0,0 +1,271 @@ +attachDocumentEditor = function (editorElement, commitDialogElement) +{ + var edit = require("./prosemirror/dist/edit") + require("./prosemirror/dist/inputrules/autoinput") + require("./prosemirror/dist/menu/menubar") + require("./prosemirror/dist/markdown") + var _menu = require("./prosemirror/dist/menu/menu") + + + var content = document.querySelector('#editor'); + content.style.display = "none"; + + var gitblitCommands = new _menu.MenuCommandGroup("gitblitCommands"); + var viewCommands = new _menu.MenuCommandGroup("viewCommands"); + var textCommands = new _menu.MenuCommandGroup("textCommands"); + var insertCommands = new _menu.MenuCommandGroup("insertCommands"); + + var menuItems = [gitblitCommands, viewCommands, textCommands, _menu.inlineGroup, _menu.blockGroup, _menu.historyGroup, insertCommands]; + + const updateCmd = Object.create(null); + + updateCmd["GitblitCommit"] = { + label: "GitblitCommit", + run: function() { + commitDialogElement.modal({show:true}); + editorElement.value = pm.getContent('markdown'); + }, + menu: { + group: "gitblitCommands", rank: 10, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-save"); } + } + } + }; + + updateCmd["FullScreen"] = { + label: "Toggle Fullscreen", + derive: "toggle", + run: function(pm) { + //Maintain the scroll context + var initialScroll = window.scrollY; + var navs = [document.querySelector("div.repositorynavbar"), document.querySelector("div.navbar"), document.querySelector("div.docnav")]; + var offset = navs.reduce(function(p, c) { return p + c.offsetHeight; }, 0); + navs.forEach(function(e) { e.classList.toggle("forceHide"); }); + + if (!toggleFullScreen(document.documentElement)) { + offset = 60; + } else { + offset -= 60; + } + + pm.signal("commandsChanged"); + + //Browsers don't seem to accept a scrollTo straight after a full screen + setTimeout(function(){window.scrollTo(0, Math.max(0,initialScroll - offset));}, 100); + + }, + menu: { + group: "viewCommands", rank: 11, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-arrows-alt"); } + } + }, + active: function active(pm) { return getFullScreenElement() ? true : false; } + }; + + updateCmd["heading1"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:1}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:1})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 1, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-1"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["heading2"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:2}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:2})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 2, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-2"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["heading3"] = { + derive: "toggle", + run: function(pm) { + var selection = pm.selection; + var from = selection.from; + var to = selection.to; + var attr = {name:"make", level:3}; + + var node = pm.doc.path(from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, attr)) { + return pm.tr.setBlockType(from, to, pm.schema.nodes.paragraph, {}).apply(pm.apply.scroll); + } else { + return pm.tr.setBlockType(from, to, pm.schema.nodes.heading, attr).apply(pm.apply.scroll); + } + + }, + active: function active(pm) { + var node = pm.doc.path(pm.selection.from.path); + if (node && node.hasMarkup(pm.schema.nodes.heading, {name:"make", level:3})) { + return true; + } + return false; + }, + menu: { + group: "textCommands", rank: 3, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-header fa-header-x fa-header-3"); } + }, + }, + select: function(){return true;} + }; + + updateCmd["strong:toggle"] = { + menu: { + group: "textCommands", rank: 4, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-bold"); } + } + }, + select: function(){return true;} + }; + + updateCmd["em:toggle"] = { + menu: { + group: "textCommands", rank: 5, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-italic"); } + } + }, + select: function(){return true;} + }; + + updateCmd["code:toggle"] = { + menu: { + group: "textCommands", rank: 6, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-code"); } + } + }, + select: function(){return true;} + }; + + updateCmd["image:insert"] = { + menu: { + group: "insertCommands", rank: 1, + display: { + render: function(cmd, pm) { return renderFontAwesomeIcon(cmd, pm, "fa-picture-o"); } + } + } + }; + + var pm = window.pm = new edit.ProseMirror({ + place: document.querySelector('#visualEditor'), + autoInput: true, + doc: content.value, + menuBar: { float:true, content: menuItems}, + commands: edit.CommandSet.default.update(updateCmd), + docFormat: "markdown" + }); + + + var scrollStart = document.querySelector(".ProseMirror").offsetTop; + + + var ticking = false; + window.addEventListener("scroll", function() { + var scrollPosition = window.scrollY; + if (!ticking) { + window.requestAnimationFrame(function() { + if (!getFullScreenElement() && (scrollPosition > scrollStart)) { + document.querySelector(".ProseMirror-menubar").classList.add("scrolling"); + } else { + document.querySelector(".ProseMirror-menubar").classList.remove("scrolling"); + } + ticking = false; + }); + } + ticking = true; + }); +} + +function renderFontAwesomeIcon(cmd, pm, classNames) { + var node = document.createElement("div"); + node.className = "ProseMirror-icon"; + var icon = document.createElement("i"); + icon.setAttribute("class", "fa fa-fw " + classNames); + + //TODO: try modify parent to simplify css border etc + var active = cmd.active(pm); + + if (active || cmd.spec.invert) node.classList.add("ProseMirror-menu-active"); + node.appendChild(icon); + return node; +} + + + +function getFullScreenElement() { + return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; +} + +function toggleFullScreen(e) { + if (getFullScreenElement()) { + if (document.exitFullscreen) { document.exitFullscreen(); } + else if (document.msExitFullscreen) { document.msExitFullscreen(); } + else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } + else if (document.webkitExitFullscreen) { document.webkitExitFullscreen(); } + return true; + } else { + if (e.requestFullscreen) { e.requestFullscreen(); } + else if (e.msRequestFullscreen) { e.msRequestFullscreen(); } + else if (e.mozRequestFullScreen) { e.mozRequestFullScreen(); } + else if (e.webkitRequestFullscreen) { e.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT); } + } + return false; +} + +commitChanges = function() { + document.querySelector('form#documentEditor').submit(); +} + diff --git a/src/main/js/package.json b/src/main/js/package.json new file mode 100644 index 00000000..a8a3101e --- /dev/null +++ b/src/main/js/package.json @@ -0,0 +1,23 @@ +{ + "name": "gitblit", + "homepage": "http://gitblit.com/", + "version": "1.0.0", + "devDependencies": { + "babel-cli": "^6.4.5", + "babel-preset-es2015": "^6.3.13", + "babelify": "*", + "browserify": "^11.2.0", + "browserify-shim": "^3.8.10", + "suitcss-preprocessor": "^0.8.0", + "uglify-js": "^2.6.1" + }, + "scripts": { + "build": "npm run build:js-min & npm run build:css-min", + "build:debug": "npm run build:js & npm run build:css", + "build:js": "browserify editor.dev.js > ../resources/gitblit-editor.js", + "build:js-min": "browserify editor.dev.js | uglifyjs --compress --mangle -o ../resources/gitblit-editor.min.js", + "build:css": "suitcss editor.dev.css ../resources/gitblit-editor.css", + "build:css-min": "suitcss -m editor.dev.css ../resources/gitblit-editor.min.css", + "postinstall": "cd prosemirror && npm install" + } +} diff --git a/src/main/js/prosemirror b/src/main/js/prosemirror new file mode 160000 index 00000000..c28df1df --- /dev/null +++ b/src/main/js/prosemirror @@ -0,0 +1 @@ +Subproject commit c28df1df1f2790b1d72715c4c1c4a1d8d24560e8 diff --git a/src/main/resources/fontawesome/css/font-awesome.min.css b/src/main/resources/fontawesome/css/font-awesome.min.css index 449d6ac5..d0603cb4 100644 --- a/src/main/resources/fontawesome/css/font-awesome.min.css +++ b/src/main/resources/fontawesome/css/font-awesome.min.css @@ -1,4 +1,4 @@ /*! - * Font Awesome 4.0.3 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.5.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.0.3');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.3333333333333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.2857142857142858em;text-align:center}.fa-ul{padding-left:0;margin-left:2.142857142857143em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.142857142857143em;width:2.142857142857143em;top:.14285714285714285em;text-align:center}.fa-li.fa-lg{left:-1.8571428571428572em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0,mirror=1);-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2,mirror=1);-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-asc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-desc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-reply-all:before{content:"\f122"}.fa-mail-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"} \ No newline at end of file + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.5.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -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{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} diff --git a/src/main/resources/fontawesome/fonts/FontAwesome.otf b/src/main/resources/fontawesome/fonts/FontAwesome.otf index 8b0f54e47e1d356dcf1496942a50e228e0f1ee14..3ed7f8b48ad9bfab52eb03822fefcd6b77d2e680 100644 GIT binary patch delta 81112 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񮓮p?hB#Bsx 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