├── .gitignore
├── LICENSE
├── README.md
├── article.md
├── batch
├── en
│ ├── en001.txt
│ ├── en002.txt
│ └── en003.txt
└── img-backup
│ ├── en001
│ ├── en001-0001.png
│ ├── en001-0002.png
│ ├── en001-0003.png
│ └── en001-0004.png
│ ├── en002
│ ├── en02-001.png
│ ├── en02-002.png
│ ├── en02-003.png
│ └── en02-004.png
│ └── en003
│ ├── en03-001.png
│ ├── en03-002.png
│ ├── en03-003.png
│ └── en03-004.png
├── package-lock.json
├── package.json
├── pom.xml
├── screenshot
└── img.png
├── src
└── main
│ ├── java
│ └── com
│ │ └── bpodgursky
│ │ └── nlpviz
│ │ ├── AbstractParser.java
│ │ ├── EnglishParser.java
│ │ ├── SpanishParser.java
│ │ ├── api
│ │ └── WebServer.java
│ │ ├── scripts
│ │ └── StanfordCoreNLPTest.java
│ │ └── servlet
│ │ ├── HomeServlet.java
│ │ └── ParseServlet.java
│ ├── resources
│ └── com
│ │ └── bpodgursky
│ │ └── nlpviz
│ │ ├── jobjar.xml
│ │ └── log4j.xml
│ └── www
│ └── com
│ └── bpodgursky
│ └── nlpviz
│ └── www
│ ├── css
│ └── digraph.css
│ ├── index.html
│ └── resources
│ ├── animated-overlay.gif
│ ├── bootstrap.min.css
│ ├── bootstrap.min.js
│ ├── d3.v3.min.js
│ ├── dagre-d3.js
│ ├── docs.css
│ ├── font-awesome.min.css
│ ├── glyphicons-halflings-white.png
│ ├── glyphicons-halflings.png
│ ├── images
│ ├── ui-bg_diagonals-thick_18_b81900_40x40.png
│ ├── ui-bg_diagonals-thick_20_666666_40x40.png
│ ├── ui-bg_flat_10_000000_40x100.png
│ ├── ui-bg_glass_100_f6f6f6_1x400.png
│ ├── ui-bg_glass_100_fdf5ce_1x400.png
│ ├── ui-bg_glass_65_ffffff_1x400.png
│ ├── ui-bg_gloss-wave_35_f6a828_500x100.png
│ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png
│ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png
│ ├── ui-icons_222222_256x240.png
│ ├── ui-icons_228ef1_256x240.png
│ ├── ui-icons_ef8c08_256x240.png
│ ├── ui-icons_ffd27a_256x240.png
│ └── ui-icons_ffffff_256x240.png
│ ├── jquery-2.0.0.min.js
│ ├── jquery-ui-1.9.2.custom.css
│ ├── jquery-ui-1.9.2.custom.css~
│ ├── jquery-ui-1.9.2.custom.min.js
│ ├── jquery.form.min.js
│ ├── marked.js
│ ├── purl.js
│ └── uri.min.js
└── target
├── classes
└── com
│ └── bpodgursky
│ └── nlpviz
│ ├── AbstractParser.class
│ ├── EnglishParser.class
│ ├── SpanishParser.class
│ ├── api
│ └── WebServer.class
│ ├── jobjar.xml
│ ├── log4j.xml
│ ├── scripts
│ └── StanfordCoreNLPTest.class
│ ├── servlet
│ ├── HomeServlet.class
│ └── ParseServlet.class
│ └── www
│ ├── css
│ └── digraph.css
│ ├── index.html
│ └── resources
│ ├── animated-overlay.gif
│ ├── bootstrap.min.css
│ ├── bootstrap.min.js
│ ├── d3.v3.min.js
│ ├── dagre-d3.js
│ ├── docs.css
│ ├── font-awesome.min.css
│ ├── glyphicons-halflings-white.png
│ ├── glyphicons-halflings.png
│ ├── images
│ ├── ui-bg_diagonals-thick_18_b81900_40x40.png
│ ├── ui-bg_diagonals-thick_20_666666_40x40.png
│ ├── ui-bg_flat_10_000000_40x100.png
│ ├── ui-bg_glass_100_f6f6f6_1x400.png
│ ├── ui-bg_glass_100_fdf5ce_1x400.png
│ ├── ui-bg_glass_65_ffffff_1x400.png
│ ├── ui-bg_gloss-wave_35_f6a828_500x100.png
│ ├── ui-bg_highlight-soft_100_eeeeee_1x100.png
│ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png
│ ├── ui-icons_222222_256x240.png
│ ├── ui-icons_228ef1_256x240.png
│ ├── ui-icons_ef8c08_256x240.png
│ ├── ui-icons_ffd27a_256x240.png
│ └── ui-icons_ffffff_256x240.png
│ ├── jquery-2.0.0.min.js
│ ├── jquery-ui-1.9.2.custom.css
│ ├── jquery-ui-1.9.2.custom.min.js
│ ├── jquery.form.min.js
│ ├── marked.js
│ ├── purl.js
│ └── uri.min.js
└── maven-status
└── maven-compiler-plugin
└── compile
└── default-compile
├── createdFiles.lst
└── inputFiles.lst
/.gitignore:
--------------------------------------------------------------------------------
1 | # dependencies
2 | /node_modules
3 | #System Files
4 | .DS_Store
5 | hs_err_pid5384.log
6 | nlpviz.log
7 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright 2017 Ben Podgursky
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # nlpviz
2 |
3 | Nlpviz visualizes the structure of English sentences using Stanford CoreNLP and D3.js.
4 |
5 | 
6 |
7 | This repository is a fork of [bpodgursky/nlpviz](https://github.com/bpodgursky/nlpviz).
8 |
9 | I made this repository for my private use on my MacBook.
10 |
11 | ## Requirement
12 |
13 | [Java SE Development Kit 8](http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)
14 |
15 | [Apache Maven](https://maven.apache.org)
16 |
17 | [Node.js](https://nodejs.org/en/) (v8.9.3)
18 |
19 | ## Platform
20 |
21 | macOS High Sierra 10.13
22 |
23 | ## Installtion
24 |
25 | ```shell
26 | $ npm install
27 | ```
28 |
29 | The first time you run this, it will take some time and network bandwidth to install the dependencies - the Stanford NLP core model jar is on its own over 200 MB.
30 |
31 | ## Starting the App
32 |
33 | ```
34 | $ npm run start
35 | ```
36 |
37 | At this point, you can open [http://localhost:43315](http://localhost:43315) in your browser.
38 |
--------------------------------------------------------------------------------
/article.md:
--------------------------------------------------------------------------------
1 | # Using CoreNLP, d3.js, and dagre.js to visualize sentence parse trees
2 |
3 | Posted on August 19, 2013
4 | by bpodgursky
5 |
6 | I’ve always been casually interested in the field of Natural Langauge Processing (NLP), a field of computer science interested in extracting information from natural human language. I have no training or education whatsoever in the field so I’m not in a position to contribute much to the field, but I am definitely interested in seeing where the state of the art is, and in particular how powerful open-source NLP libraries have gotten (Google and Microsoft certainly have more powerful closed-source systems, but that doesn’t really help me.)
7 |
8 | A few years ago I started playing with Apache’s OpenNLP project. I’m a big fan of the Apache foundation and their libraries, but I found myself very frustrated by OpenNLP’s lack of documentation and the hacky-feeling interfaces the library exposed. However recently I took another look at the available NLP libraries and came across Stanford’s CoreNLP project. CoreNLP, as it turns out, is an awesome project, and it took almost zero effort to get their example demo working.
9 |
10 | As a total NLP beginnner, the sentence parsing functionality was the most immediately approachable example. Sentence parsing takes a natural-English sentence:
11 |
12 | “I am parsing an example sentence.”
13 |
14 | and breaks it down into component tokens and their relations:
15 |
16 | ` (ROOT1 (S (NP (PRP I)) (VP (VBP am) (VP (VBG parsing) (NP (DT an) (NN example) (NN sentence)))) (. .)))`
17 |
18 | where each token type corresponds to a particular word type–“NP” means “Noun Phrase”, VBG means “Verb, gerund or present participle”, and so forth (I’ve been referencing this as a complete token list.)
19 |
20 | I’ve also been looking into JavaScript graph visualization libraries recently (I’ve struggled to find a JS library remotely as powerful and pretty as graphviz), and wanted to test out the dagre library, which re-implements a simplified dot algorithm in javascipt and can render the results to d3 (the current coolest-kid-on-the-block JS graph library). So I put the two together and put together a simple visualization which uses dagre to show CoreNLP’s sentence parse tree. It’s pretty simple, but you can play with it here.
21 |
--------------------------------------------------------------------------------
/batch/en/en001.txt:
--------------------------------------------------------------------------------
1 | HTML (Hypertext Markup Language) is not a programming language; it is a markup language used to tell your browser how to structure the web pages you visit. It can be as complicated or as simple as the web developer wishes it to be. HTML consists of a series of elements, which you use to enclose, wrap, or mark up different parts of the content to make it appear or act a certain way. The enclosing tags can make a bit of content into a hyperlink to link to another page on the web, italicize words, and so on. For example, take the following line of content.
--------------------------------------------------------------------------------
/batch/en/en002.txt:
--------------------------------------------------------------------------------
1 | Block-level elements form a visible block on a page — they will appear on a new line from whatever content went before it, and any content that goes after it will also appear on a new line. Block-level elements tend to be structural elements on the page that represent, for example, paragraphs, lists, navigation menus, footers, etc. A block-level element wouldn't be nested inside an inline element, but it might be nested inside another block-level element.
--------------------------------------------------------------------------------
/batch/en/en003.txt:
--------------------------------------------------------------------------------
1 | A very common task in HTML is structuring tabular data, and it has a number of elements and attributes for just this purpose. Coupled with a little CSS for styling, HTML makes it easy to display tables of information on the web such as your school lesson plan, the timetable at your local swimming pool, or statistics about your favorite dinosaurs or football team. This module takes you through all you need to know about structuring tabular data using HTML.
--------------------------------------------------------------------------------
/batch/img-backup/en001/en001-0001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en001/en001-0001.png
--------------------------------------------------------------------------------
/batch/img-backup/en001/en001-0002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en001/en001-0002.png
--------------------------------------------------------------------------------
/batch/img-backup/en001/en001-0003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en001/en001-0003.png
--------------------------------------------------------------------------------
/batch/img-backup/en001/en001-0004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en001/en001-0004.png
--------------------------------------------------------------------------------
/batch/img-backup/en002/en02-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en002/en02-001.png
--------------------------------------------------------------------------------
/batch/img-backup/en002/en02-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en002/en02-002.png
--------------------------------------------------------------------------------
/batch/img-backup/en002/en02-003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en002/en02-003.png
--------------------------------------------------------------------------------
/batch/img-backup/en002/en02-004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en002/en02-004.png
--------------------------------------------------------------------------------
/batch/img-backup/en003/en03-001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en003/en03-001.png
--------------------------------------------------------------------------------
/batch/img-backup/en003/en03-002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en003/en03-002.png
--------------------------------------------------------------------------------
/batch/img-backup/en003/en03-003.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en003/en03-003.png
--------------------------------------------------------------------------------
/batch/img-backup/en003/en03-004.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/batch/img-backup/en003/en03-004.png
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nlpviz",
3 | "version": "0.0.1",
4 | "description": "codeNLP with d3.js",
5 | "main": "index.js",
6 | "scripts": {
7 | "preinstall": "mvn compile",
8 | "start": "mvn exec:java",
9 | "test": "echo \"Error: no test specified\" && exit 1"
10 | },
11 | "keywords": [
12 | "coreNLP"
13 | ],
14 | "license": "Apache-2.0",
15 | "dependencies": {
16 | "nodemon": "^1.17.5"
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
3 | 4.0.0
4 |
5 | com.bpodgursky
6 | nlpviz
7 | 1.0-SNAPSHOT
8 | jar
9 |
10 | nlpviz
11 | http://maven.apache.org
12 |
13 |
14 | UTF-8
15 |
16 |
17 |
18 |
19 |
20 | junit
21 | junit
22 | 4.4
23 | test
24 |
25 |
26 |
27 | org.json
28 | json
29 | 20090211
30 |
31 |
32 |
33 | org.slf4j
34 | slf4j-api
35 | 1.7.5
36 |
37 |
38 |
39 | org.slf4j
40 | slf4j-log4j12
41 | 1.7.5
42 |
43 |
44 |
45 | commons-lang
46 | commons-lang
47 | 2.6
48 |
49 |
50 |
51 | commons-codec
52 | commons-codec
53 | 1.8
54 |
55 |
56 |
57 | commons-io
58 | commons-io
59 | 2.4
60 |
61 |
62 |
63 | com.google.guava
64 | guava
65 | 14.0.1
66 |
67 |
68 |
69 | org.apache.httpcomponents
70 | httpclient
71 | 4.2.5
72 |
73 |
74 |
75 | org.eclipse.jetty.aggregate
76 | jetty-all-server
77 | 8.1.10.v20130312
78 |
79 |
80 |
81 | org.jsoup
82 | jsoup
83 | 1.7.2
84 |
85 |
86 |
87 |
88 |
89 | edu.stanford.nlp
90 | stanford-corenlp
91 | 3.5.2
92 |
93 |
94 |
95 | edu.stanford.nlp
96 | stanford-parser
97 | 3.5.2
98 |
99 |
100 |
101 | edu.stanford.nlp
102 | stanford-corenlp
103 | 3.5.2
104 | models
105 |
106 |
107 |
108 | edu.stanford.nlp
109 | stanford-corenlp
110 | 3.5.2
111 | models-spanish
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 | org.apache.maven.plugins
122 | maven-compiler-plugin
123 | 3.1
124 |
125 | 1.8
126 | 1.8
127 |
128 |
129 |
130 |
131 | maven-assembly-plugin
132 |
133 |
134 |
135 | true
136 |
137 |
138 | ${build-commit}
139 |
140 |
141 |
142 | src/main/resources/com/bpodgursky/nlpviz/jobjar.xml
143 |
144 | false
145 |
146 |
147 |
148 | package
149 |
150 | single
151 |
152 |
153 | false
154 |
155 |
156 |
157 |
158 |
159 |
160 | org.codehaus.mojo
161 | exec-maven-plugin
162 | 1.4.0
163 |
164 |
165 |
166 | java
167 |
168 |
169 |
170 |
171 | com.bpodgursky.nlpviz.api.WebServer
172 |
173 |
174 |
175 |
176 |
177 |
178 |
179 |
180 | src/main/resources/
181 |
182 | **/*.xml
183 | **/*.bin
184 |
185 |
186 |
187 | src/main/www/
188 |
189 | **/*.jsp
190 | **/*.css
191 | **/*.js
192 | **/*.html
193 | **/*.png
194 | **/*.gif
195 |
196 |
197 |
198 |
199 |
200 |
201 |
202 |
--------------------------------------------------------------------------------
/screenshot/img.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/screenshot/img.png
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/AbstractParser.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz;
2 |
3 | import java.util.Iterator;
4 | import java.util.List;
5 | import java.util.Properties;
6 |
7 | import com.google.common.collect.Lists;
8 | import edu.stanford.nlp.ling.CoreAnnotations;
9 | import edu.stanford.nlp.ling.CoreLabel;
10 | import edu.stanford.nlp.pipeline.Annotation;
11 | import edu.stanford.nlp.pipeline.StanfordCoreNLP;
12 | import edu.stanford.nlp.trees.Tree;
13 | import edu.stanford.nlp.trees.TreeCoreAnnotations;
14 | import edu.stanford.nlp.util.CoreMap;
15 | import org.json.JSONArray;
16 | import org.json.JSONException;
17 | import org.json.JSONObject;
18 |
19 | public abstract class AbstractParser {
20 |
21 | private final StanfordCoreNLP pipeline;
22 |
23 | public AbstractParser(Properties properties) {
24 | pipeline = new StanfordCoreNLP(properties);
25 | }
26 |
27 | public JSONArray parse(String text) throws JSONException {
28 | Annotation document = new Annotation(text);
29 | pipeline.annotate(document);
30 |
31 | JSONArray array = new JSONArray();
32 |
33 | List sentences = document.get(CoreAnnotations.SentencesAnnotation.class);
34 |
35 | for (CoreMap sentence : sentences) {
36 | Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
37 | List coreLabels = sentence.get(CoreAnnotations.TokensAnnotation.class);
38 |
39 | array.put(toJSON(tree, coreLabels.iterator()));
40 | }
41 |
42 | return array;
43 | }
44 |
45 | public static JSONObject toJSON(Tree tree, Iterator labels) throws JSONException {
46 |
47 | List children = Lists.newArrayList();
48 | for (Tree child : tree.getChildrenAsList()) {
49 | children.add(toJSON(child, labels));
50 | }
51 |
52 | JSONObject obj = new JSONObject();
53 |
54 | if(tree.isLeaf()){
55 | CoreLabel next = labels.next();
56 |
57 | String word = next.get(CoreAnnotations.TextAnnotation.class);
58 | String pos = next.get(CoreAnnotations.PartOfSpeechAnnotation.class);
59 | String ne = next.get(CoreAnnotations.NamedEntityTagAnnotation.class);
60 |
61 | System.out.println(pos);
62 |
63 | obj.put("word", word);
64 | obj.put("pos", pos);
65 | obj.put("ne", ne);
66 | obj.put("type", "TK");
67 |
68 | }else{
69 |
70 | // System.out.println(tree.label());
71 |
72 | obj.put("type", tree.label());
73 | }
74 |
75 | return new JSONObject()
76 | .put("data", obj)
77 | .put("children", new JSONArray(children));
78 | }
79 | }
80 |
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/EnglishParser.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz;
2 |
3 | import java.util.Properties;
4 |
5 | public class EnglishParser extends AbstractParser {
6 |
7 | public EnglishParser(){
8 | super(getProperties());
9 | }
10 |
11 | private static Properties getProperties(){
12 | Properties props = new Properties();
13 | props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
14 | return props;
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/SpanishParser.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz;
2 |
3 | import java.util.Properties;
4 |
5 | public class SpanishParser extends AbstractParser {
6 |
7 | public SpanishParser() {
8 | super(getProperties());
9 | }
10 |
11 | private static Properties getProperties() {
12 | Properties props = new Properties();
13 | props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse");
14 | props.put("tokenize.language", "es");
15 | props.put("pos.model", "edu/stanford/nlp/models/pos-tagger/spanish/spanish-distsim.tagger");
16 | props.put("ner.model", "edu/stanford/nlp/models/ner/spanish.ancora.distsim.s512.crf.ser.gz");
17 | props.put("ner.applyNumericClassifiers", "false");
18 | props.put("ner.applyNumericClassifiers", "false");
19 | props.put("ner.useSUTime", "false");
20 | props.put("parse.model", "edu/stanford/nlp/models/lexparser/spanishPCFG.ser.gz");
21 | return props;
22 | }
23 |
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/api/WebServer.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz.api;
2 |
3 | import javax.servlet.DispatcherType;
4 | import java.net.URL;
5 | import java.util.EnumSet;
6 | import java.util.concurrent.Semaphore;
7 |
8 | import com.bpodgursky.nlpviz.servlet.ParseServlet;
9 | import org.apache.log4j.xml.DOMConfigurator;
10 | import org.eclipse.jetty.server.Server;
11 | import org.eclipse.jetty.servlet.ServletHolder;
12 | import org.eclipse.jetty.servlets.GzipFilter;
13 | import org.eclipse.jetty.webapp.WebAppContext;
14 | import org.slf4j.Logger;
15 | import org.slf4j.LoggerFactory;
16 |
17 | public class WebServer implements Runnable {
18 | public static final int DEFAULT_PORT = 43315;
19 | public static final String PARSER = "/parser";
20 | public static final String HOME = "/home";
21 |
22 | private final Semaphore shutdownLock = new Semaphore(0);
23 | private static final Logger LOG = LoggerFactory.getLogger(WebServer.class);
24 |
25 | public WebServer(){}
26 |
27 | public final void shutdown() {
28 | shutdownLock.release();
29 | }
30 |
31 | public void run() {
32 | try {
33 |
34 | Server uiServer = new Server(DEFAULT_PORT);
35 | final URL warUrl = uiServer.getClass().getClassLoader().getResource("com/bpodgursky/nlpviz/www");
36 | final String warUrlString = warUrl.toExternalForm();
37 |
38 | WebAppContext context = new WebAppContext(warUrlString, "/");
39 | context.addServlet(new ServletHolder(new ParseServlet()), PARSER);
40 | // context.addServlet(new ServletHolder(new HomeServlet()), HOME);
41 | context.addFilter(GzipFilter.class, "/*", EnumSet.of(DispatcherType.REQUEST));
42 |
43 | uiServer.setHandler(context);
44 |
45 | LOG.info("Parse Server is listening on port: " + DEFAULT_PORT);
46 |
47 | uiServer.start();
48 |
49 | shutdownLock.acquire();
50 |
51 | } catch (Exception e) {
52 | throw new RuntimeException(e);
53 | }
54 | }
55 |
56 | public static void main(String[] args) throws InterruptedException {
57 | DOMConfigurator.configure(WebServer.class.getResource("/com/bpodgursky/nlpviz/log4j.xml"));
58 |
59 | WebServer server = new WebServer();
60 | Thread thread1 = new Thread(server);
61 |
62 | thread1.start();
63 | thread1.join();
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/scripts/StanfordCoreNLPTest.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz.scripts;
2 |
3 | import com.google.common.collect.Lists;
4 | import edu.stanford.nlp.dcoref.CorefChain;
5 | import edu.stanford.nlp.dcoref.CorefCoreAnnotations;
6 | import edu.stanford.nlp.ling.CoreAnnotations;
7 | import edu.stanford.nlp.ling.CoreLabel;
8 | import edu.stanford.nlp.pipeline.Annotation;
9 | import edu.stanford.nlp.pipeline.StanfordCoreNLP;
10 | import edu.stanford.nlp.semgraph.SemanticGraph;
11 | import edu.stanford.nlp.semgraph.SemanticGraphCoreAnnotations;
12 | import edu.stanford.nlp.trees.Tree;
13 | import edu.stanford.nlp.trees.TreeCoreAnnotations;
14 | import edu.stanford.nlp.util.CoreMap;
15 | import org.json.JSONArray;
16 | import org.json.JSONException;
17 | import org.json.JSONObject;
18 |
19 | import java.io.IOException;
20 | import java.util.Iterator;
21 | import java.util.List;
22 | import java.util.Map;
23 | import java.util.Properties;
24 |
25 | public class StanfordCoreNLPTest {
26 |
27 |
28 | public static void main(String[] args) throws IOException, ClassNotFoundException, JSONException {
29 |
30 | // creates a StanfordCoreNLP object, with POS tagging, lemmatization, NER, parsing, and coreference resolution
31 | Properties props = new Properties();
32 | props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref");
33 | StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
34 |
35 | // read some text in the text variable
36 | String text = "Bob is a truck driver. He drives a lot every day.";// Add your text here!
37 |
38 | // create an empty Annotation just with the given text
39 | Annotation document = new Annotation(text);
40 |
41 | // run all Annotators on this text
42 | pipeline.annotate(document);
43 |
44 | // these are all the sentences in this document
45 | // a CoreMap is essentially a Map that uses class objects as keys and has values with custom types
46 | List sentences = document.get(CoreAnnotations.SentencesAnnotation.class);
47 |
48 | for (CoreMap sentence : sentences) {
49 | // traversing the words in the current sentence
50 | // a CoreLabel is a CoreMap with additional token-specific methods
51 | for (CoreLabel token : sentence.get(CoreAnnotations.TokensAnnotation.class)) {
52 | // this is the text of the token
53 | String word = token.get(CoreAnnotations.TextAnnotation.class);
54 | // this is the POS tag of the token
55 | String pos = token.get(CoreAnnotations.PartOfSpeechAnnotation.class);
56 | // this is the NER label of the token
57 | String ne = token.get(CoreAnnotations.NamedEntityTagAnnotation.class);
58 |
59 | System.out.println();
60 | System.out.println(token.docID());
61 | System.out.println(word);
62 | System.out.println(pos);
63 | System.out.println(ne);
64 | }
65 |
66 | // this is the parse tree of the current sentence
67 | Tree tree = sentence.get(TreeCoreAnnotations.TreeAnnotation.class);
68 | List coreLabels = sentence.get(CoreAnnotations.TokensAnnotation.class);
69 |
70 | tree.label();
71 |
72 | System.out.println(tree);
73 |
74 |
75 | JSONObject json = toJSON(tree, coreLabels.iterator());
76 | System.out.println(json);
77 |
78 | // this is the Stanford dependency graph of the current sentence
79 | SemanticGraph dependencies = sentence.get(SemanticGraphCoreAnnotations.CollapsedCCProcessedDependenciesAnnotation.class);
80 |
81 | System.out.println(dependencies);
82 |
83 | }
84 |
85 | // This is the coreference link graph
86 | // Each chain stores a set of mentions that link to each other,
87 | // along with a method for getting the most representative mention
88 | // Both sentence and token offsets start at 1!
89 | Map graph =
90 | document.get(CorefCoreAnnotations.CorefChainAnnotation.class);
91 |
92 | System.out.println(graph);
93 |
94 | }
95 |
96 | public static JSONObject toJSON(Tree tree, Iterator labels) throws JSONException {
97 |
98 | List children = Lists.newArrayList();
99 | for (Tree child : tree.getChildrenAsList()) {
100 | children.add(toJSON(child, labels));
101 | }
102 |
103 | JSONObject obj = new JSONObject();
104 |
105 | if(tree.isLeaf()){
106 | CoreLabel next = labels.next();
107 |
108 | String word = next.get(CoreAnnotations.TextAnnotation.class);
109 | String pos = next.get(CoreAnnotations.PartOfSpeechAnnotation.class);
110 | String ne = next.get(CoreAnnotations.NamedEntityTagAnnotation.class);
111 |
112 | obj.put("word", word);
113 | obj.put("pos", pos);
114 | obj.put("ne", ne);
115 |
116 | }else{
117 | obj.put("type", tree.label());
118 | }
119 |
120 | return new JSONObject()
121 | .put("data", obj)
122 | .put("children", new JSONArray(children));
123 | }
124 | }
125 |
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/servlet/HomeServlet.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz.servlet;
2 |
3 | import javax.servlet.ServletException;
4 | import javax.servlet.http.HttpServlet;
5 | import javax.servlet.http.HttpServletRequest;
6 | import javax.servlet.http.HttpServletResponse;
7 | import java.io.IOException;
8 |
9 | // not really necessary but here to make old links work
10 | public class HomeServlet extends HttpServlet {
11 |
12 | @Override
13 | protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
14 | req.getRequestDispatcher("index.html").forward(req, resp);
15 | }
16 | }
--------------------------------------------------------------------------------
/src/main/java/com/bpodgursky/nlpviz/servlet/ParseServlet.java:
--------------------------------------------------------------------------------
1 | package com.bpodgursky.nlpviz.servlet;
2 |
3 | import javax.servlet.ServletException;
4 | import javax.servlet.http.HttpServlet;
5 | import javax.servlet.http.HttpServletRequest;
6 | import javax.servlet.http.HttpServletResponse;
7 | import java.io.IOException;
8 |
9 | import com.bpodgursky.nlpviz.AbstractParser;
10 | import com.bpodgursky.nlpviz.EnglishParser;
11 | import com.bpodgursky.nlpviz.SpanishParser;
12 | import org.json.JSONException;
13 | import org.slf4j.Logger;
14 | import org.slf4j.LoggerFactory;
15 |
16 | public class ParseServlet extends HttpServlet {
17 | private static final Logger LOG = LoggerFactory.getLogger(ParseServlet.class);
18 |
19 | private final AbstractParser englishParser;
20 | private final AbstractParser spanishParser;
21 |
22 | public ParseServlet() throws IOException {
23 | englishParser = new EnglishParser();
24 | spanishParser = new SpanishParser();
25 | }
26 |
27 | @Override
28 | protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
29 |
30 | try {
31 | String sentence = req.getParameter("text");
32 | LOG.info("Processing request: "+sentence);
33 |
34 | String lang = req.getParameter("lang");
35 |
36 | if(lang == null || lang.equals("en")) {
37 | resp.getWriter().append(englishParser.parse(sentence).toString());
38 | }else{
39 | resp.getWriter().append(spanishParser.parse(sentence).toString());
40 | }
41 |
42 | } catch (JSONException e) {
43 | throw new RuntimeException(e);
44 | }
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/src/main/resources/com/bpodgursky/nlpviz/jobjar.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | jobjar
6 |
7 | jar
8 |
9 | false
10 |
11 |
12 | /
13 | true
14 | true
15 | runtime
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/main/resources/com/bpodgursky/nlpviz/log4j.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/css/digraph.css:
--------------------------------------------------------------------------------
1 |
2 | text {
3 | font-weight: 300;
4 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5 | font-size: 14px;
6 | }
7 |
8 | rect {
9 | fill: #fff;
10 | }
11 |
12 | .node > rect {
13 | stroke-width: 1px;
14 | stroke: #333;
15 | fill: none;
16 | opacity: 0.5;
17 | transform: rotate(-90deg);
18 | }
19 |
20 | .edge rect {
21 | fill: #fff
22 | }
23 |
24 | .edgePath path {
25 | stroke: #333;
26 | stroke-width: 1.5px;
27 | }
28 |
29 | .ne-O > rect {
30 | fill: #00ffd0;
31 | }
32 |
33 | .ne-PERSON > rect {
34 | fill: #b997ff;
35 | }
36 |
37 | .ne-DATE > rect {
38 | fill: #ffae6a;
39 | }
40 |
41 | .ne-ORGANIZATION > rect {
42 | fill: #96c2ff;
43 | }
44 |
45 | .ne-LOCATION > rect {
46 | fill: #7e7e7e;
47 | }
48 |
49 | .ne-ORDINAL > rect {
50 | fill: #92ff7d;
51 | }
52 |
53 | .ne-NUMBER > rect {
54 | fill: #fdb9ff;
55 | }
56 |
57 | html, body {
58 | margin: 0;
59 | padding: 0;
60 | overflow: hidden
61 | }
62 |
63 | .main-svg {
64 | position: absolute;
65 | top: 50;
66 | left: 0;
67 | height: 1000px;
68 | width: 100%;
69 | border: 1px solid #999;
70 | transform: rotate(-90deg);
71 | }
72 |
73 | .legend-svg {
74 | position: fixed;
75 | height: 60px;
76 | width: 600px;
77 | }
78 |
79 | textarea {
80 | border: 1px solid #999999;
81 | width: 100%;
82 | margin: 5px 0;
83 | padding: 3px;
84 | }
85 |
86 | .legend {
87 | stroke-width: 3px;
88 | stroke: #333;
89 | fill: none;
90 | opacity: 0.5;
91 | }
92 |
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/index.html:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/index.html
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/animated-overlay.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/animated-overlay.gif
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/bootstrap.min.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Bootstrap.js by @fat & @mdo
3 | * plugins: bootstrap-transition.js, bootstrap-modal.js, bootstrap-dropdown.js, bootstrap-scrollspy.js, bootstrap-tab.js, bootstrap-tooltip.js, bootstrap-popover.js, bootstrap-affix.js, bootstrap-alert.js, bootstrap-button.js, bootstrap-collapse.js, bootstrap-carousel.js, bootstrap-typeahead.js
4 | * Copyright 2012 Twitter, Inc.
5 | * http://www.apache.org/licenses/LICENSE-2.0.txt
6 | */
7 | !function(a){a(function(){a.support.transition=function(){var a=function(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"},c;for(c in b)if(a.style[c]!==undefined)return b[c]}();return a&&{end:a}}()})}(window.jQuery),!function(a){var b=function(b,c){this.options=c,this.$element=a(b).delegate('[data-dismiss="modal"]',"click.dismiss.modal",a.proxy(this.hide,this)),this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.prototype={constructor:b,toggle:function(){return this[this.isShown?"hide":"show"]()},show:function(){var b=this,c=a.Event("show");this.$element.trigger(c);if(this.isShown||c.isDefaultPrevented())return;this.isShown=!0,this.escape(),this.backdrop(function(){var c=a.support.transition&&b.$element.hasClass("fade");b.$element.parent().length||b.$element.appendTo(document.body),b.$element.show(),c&&b.$element[0].offsetWidth,b.$element.addClass("in").attr("aria-hidden",!1),b.enforceFocus(),c?b.$element.one(a.support.transition.end,function(){b.$element.focus().trigger("shown")}):b.$element.focus().trigger("shown")})},hide:function(b){b&&b.preventDefault();var c=this;b=a.Event("hide"),this.$element.trigger(b);if(!this.isShown||b.isDefaultPrevented())return;this.isShown=!1,this.escape(),a(document).off("focusin.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal()},enforceFocus:function(){var b=this;a(document).on("focusin.modal",function(a){b.$element[0]!==a.target&&!b.$element.has(a.target).length&&b.$element.focus()})},escape:function(){var a=this;this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.modal",function(b){b.which==27&&a.hide()}):this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var b=this,c=setTimeout(function(){b.$element.off(a.support.transition.end),b.hideModal()},500);this.$element.one(a.support.transition.end,function(){clearTimeout(c),b.hideModal()})},hideModal:function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden")})},removeBackdrop:function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},backdrop:function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;this.$backdrop=a('').appendTo(document.body),this.$backdrop.click(this.options.backdrop=="static"?a.proxy(this.$element[0].focus,this.$element[0]):a.proxy(this.hide,this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in");if(!b)return;e?this.$backdrop.one(a.support.transition.end,b):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b):b()):b&&b()}};var c=a.fn.modal;a.fn.modal=function(c){return this.each(function(){var d=a(this),e=d.data("modal"),f=a.extend({},a.fn.modal.defaults,d.data(),typeof c=="object"&&c);e||d.data("modal",e=new b(this,f)),typeof c=="string"?e[c]():f.show&&e.show()})},a.fn.modal.defaults={backdrop:!0,keyboard:!0,show:!0},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f).one("hide",function(){c.focus()})})}(window.jQuery),!function(a){function d(){a(".dropdown-backdrop").remove(),a(b).each(function(){e(a(this)).removeClass("open")})}function e(b){var c=b.attr("data-target"),d;c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,"")),d=c&&a(c);if(!d||!d.length)d=b.parent();return d}var b="[data-toggle=dropdown]",c=function(b){var c=a(b).on("click.dropdown.data-api",this.toggle);a("html").on("click.dropdown.data-api",function(){c.parent().removeClass("open")})};c.prototype={constructor:c,toggle:function(b){var c=a(this),f,g;if(c.is(".disabled, :disabled"))return;return f=e(c),g=f.hasClass("open"),d(),g||("ontouchstart"in document.documentElement&&a('').insertBefore(a(this)).on("click",d),f.toggleClass("open")),c.focus(),!1},keydown:function(c){var d,f,g,h,i,j;if(!/(38|40|27)/.test(c.keyCode))return;d=a(this),c.preventDefault(),c.stopPropagation();if(d.is(".disabled, :disabled"))return;h=e(d),i=h.hasClass("open");if(!i||i&&c.keyCode==27)return c.which==27&&h.find(b).focus(),d.click();f=a("[role=menu] li:not(.divider):visible a",h);if(!f.length)return;j=f.index(f.filter(":focus")),c.keyCode==38&&j>0&&j--,c.keyCode==40&&j a",this.$body=a("body"),this.refresh(),this.process()}b.prototype={constructor:b,refresh:function(){var b=this,c;this.offsets=a([]),this.targets=a([]),c=this.$body.find(this.selector).map(function(){var c=a(this),d=c.data("target")||c.attr("href"),e=/^#\w/.test(d)&&a(d);return e&&e.length&&[[e.position().top+(!a.isWindow(b.$scrollElement.get(0))&&b.$scrollElement.scrollTop()),d]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},process:function(){var a=this.$scrollElement.scrollTop()+this.options.offset,b=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,c=b-this.$scrollElement.height(),d=this.offsets,e=this.targets,f=this.activeTarget,g;if(a>=c)return f!=(g=e.last()[0])&&this.activate(g);for(g=d.length;g--;)f!=e[g]&&a>=d[g]&&(!d[g+1]||a<=d[g+1])&&this.activate(e[g])},activate:function(b){var c,d;this.activeTarget=b,a(this.selector).parent(".active").removeClass("active"),d=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',c=a(d).parent("li").addClass("active"),c.parent(".dropdown-menu").length&&(c=c.closest("li.dropdown").addClass("active")),c.trigger("activate")}};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("scrollspy"),f=typeof c=="object"&&c;e||d.data("scrollspy",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.defaults={offset:10},a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),!function(a){var b=function(b){this.element=a(b)};b.prototype={constructor:b,show:function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target"),e,f,g;d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,""));if(b.parent("li").hasClass("active"))return;e=c.find(".active:last a")[0],g=a.Event("show",{relatedTarget:e}),b.trigger(g);if(g.isDefaultPrevented())return;f=a(d),this.activate(b.parent("li"),c),this.activate(f,f.parent(),function(){b.trigger({type:"shown",relatedTarget:e})})},activate:function(b,c,d){function g(){e.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),f?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var e=c.find("> .active"),f=d&&a.support.transition&&e.hasClass("fade");f?e.one(a.support.transition.end,g):g(),e.removeClass("in")}};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("tab");e||d.data("tab",e=new b(this)),typeof c=="string"&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),!function(a){var b=function(a,b){this.init("tooltip",a,b)};b.prototype={constructor:b,init:function(b,c,d){var e,f,g,h,i;this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.enabled=!0,g=this.options.trigger.split(" ");for(i=g.length;i--;)h=g[i],h=="click"?this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this)):h!="manual"&&(e=h=="hover"?"mouseenter":"focus",f=h=="hover"?"mouseleave":"blur",this.$element.on(e+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(f+"."+this.type,this.options.selector,a.proxy(this.leave,this)));this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},getOptions:function(b){return b=a.extend({},a.fn[this.type].defaults,this.$element.data(),b),b.delay&&typeof b.delay=="number"&&(b.delay={show:b.delay,hide:b.delay}),b},enter:function(b){var c=a.fn[this.type].defaults,d={},e;this._options&&a.each(this._options,function(a,b){c[a]!=b&&(d[a]=b)},this),e=a(b.currentTarget)[this.type](d).data(this.type);if(!e.options.delay||!e.options.delay.show)return e.show();clearTimeout(this.timeout),e.hoverState="in",this.timeout=setTimeout(function(){e.hoverState=="in"&&e.show()},e.options.delay.show)},leave:function(b){var c=a(b.currentTarget)[this.type](this._options).data(this.type);this.timeout&&clearTimeout(this.timeout);if(!c.options.delay||!c.options.delay.hide)return c.hide();c.hoverState="out",this.timeout=setTimeout(function(){c.hoverState=="out"&&c.hide()},c.options.delay.hide)},show:function(){var b,c,d,e,f,g,h=a.Event("show");if(this.hasContent()&&this.enabled){this.$element.trigger(h);if(h.isDefaultPrevented())return;b=this.tip(),this.setContent(),this.options.animation&&b.addClass("fade"),f=typeof this.options.placement=="function"?this.options.placement.call(this,b[0],this.$element[0]):this.options.placement,b.detach().css({top:0,left:0,display:"block"}),this.options.container?b.appendTo(this.options.container):b.insertAfter(this.$element),c=this.getPosition(),d=b[0].offsetWidth,e=b[0].offsetHeight;switch(f){case"bottom":g={top:c.top+c.height,left:c.left+c.width/2-d/2};break;case"top":g={top:c.top-e,left:c.left+c.width/2-d/2};break;case"left":g={top:c.top+c.height/2-e/2,left:c.left-d};break;case"right":g={top:c.top+c.height/2-e/2,left:c.left+c.width}}this.applyPlacement(g,f),this.$element.trigger("shown")}},applyPlacement:function(a,b){var c=this.tip(),d=c[0].offsetWidth,e=c[0].offsetHeight,f,g,h,i;c.offset(a).addClass(b).addClass("in"),f=c[0].offsetWidth,g=c[0].offsetHeight,b=="top"&&g!=e&&(a.top=a.top+e-g,i=!0),b=="bottom"||b=="top"?(h=0,a.left<0&&(h=a.left*-2,a.left=0,c.offset(a),f=c[0].offsetWidth,g=c[0].offsetHeight),this.replaceArrow(h-d+f,f,"left")):this.replaceArrow(g-e,g,"top"),i&&c.offset(a)},replaceArrow:function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},setContent:function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},hide:function(){function e(){var b=setTimeout(function(){c.off(a.support.transition.end).detach()},500);c.one(a.support.transition.end,function(){clearTimeout(b),c.detach()})}var b=this,c=this.tip(),d=a.Event("hide");this.$element.trigger(d);if(d.isDefaultPrevented())return;return c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?e():c.detach(),this.$element.trigger("hidden"),this},fixTitle:function(){var a=this.$element;(a.attr("title")||typeof a.attr("data-original-title")!="string")&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},hasContent:function(){return this.getTitle()},getPosition:function(){var b=this.$element[0];return a.extend({},typeof b.getBoundingClientRect=="function"?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},getTitle:function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||(typeof c.title=="function"?c.title.call(b[0]):c.title),a},tip:function(){return this.$tip=this.$tip||a(this.options.template)},arrow:function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},validate:function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},toggleEnabled:function(){this.enabled=!this.enabled},toggle:function(b){var c=b?a(b.currentTarget)[this.type](this._options).data(this.type):this;c.tip().hasClass("in")?c.hide():c.show()},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("tooltip"),f=typeof c=="object"&&c;e||d.data("tooltip",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.defaults={animation:!0,placement:"top",selector:!1,template:'',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),!function(a){var b=function(a,b){this.init("popover",a,b)};b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype,{constructor:b,setContent:function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in")},hasContent:function(){return this.getTitle()||this.getContent()},getContent:function(){var a,b=this.$element,c=this.options;return a=(typeof c.content=="function"?c.content.call(b[0]):c.content)||b.attr("data-content"),a},tip:function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip},destroy:function(){this.hide().$element.off("."+this.type).removeData(this.type)}});var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("popover"),f=typeof c=="object"&&c;e||d.data("popover",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.defaults=a.extend({},a.fn.tooltip.defaults,{placement:"right",trigger:"click",content:"",template:''}),a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),!function(a){var b=function(b,c){this.options=a.extend({},a.fn.affix.defaults,c),this.$window=a(window).on("scroll.affix.data-api",a.proxy(this.checkPosition,this)).on("click.affix.data-api",a.proxy(function(){setTimeout(a.proxy(this.checkPosition,this),1)},this)),this.$element=a(b),this.checkPosition()};b.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var b=a(document).height(),c=this.$window.scrollTop(),d=this.$element.offset(),e=this.options.offset,f=e.bottom,g=e.top,h="affix affix-top affix-bottom",i;typeof e!="object"&&(f=g=e),typeof g=="function"&&(g=e.top()),typeof f=="function"&&(f=e.bottom()),i=this.unpin!=null&&c+this.unpin<=d.top?!1:f!=null&&d.top+this.$element.height()>=b-f?"bottom":g!=null&&c<=g?"top":!1;if(this.affixed===i)return;this.affixed=i,this.unpin=i=="bottom"?d.top-c:null,this.$element.removeClass(h).addClass("affix"+(i?"-"+i:""))};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("affix"),f=typeof c=="object"&&c;e||d.data("affix",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.defaults={offset:0},a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery),!function(a){var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function f(){e.trigger("closed").remove()}var c=a(this),d=c.attr("data-target"),e;d||(d=c.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),e=a(d),b&&b.preventDefault(),e.length||(e=c.hasClass("alert")?c:c.parent()),e.trigger(b=a.Event("close"));if(b.isDefaultPrevented())return;e.removeClass("in"),a.support.transition&&e.hasClass("fade")?e.on(a.support.transition.end,f):f()};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("alert");e||d.data("alert",e=new c(this)),typeof b=="string"&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.alert.data-api",b,c.prototype.close)}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.button.defaults,c)};b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.data(),e=c.is("input")?"val":"html";a+="Text",d.resetText||c.data("resetText",c[e]()),c[e](d[a]||this.options[a]),setTimeout(function(){a=="loadingText"?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons-radio"]');a&&a.find(".active").removeClass("active"),this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("button"),f=typeof c=="object"&&c;e||d.data("button",e=new b(this,f)),c=="toggle"?e.toggle():c&&e.setState(c)})},a.fn.button.defaults={loadingText:"loading..."},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle")})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.collapse.defaults,c),this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.prototype={constructor:b,dimension:function(){var a=this.$element.hasClass("width");return a?"width":"height"},show:function(){var b,c,d,e;if(this.transitioning||this.$element.hasClass("in"))return;b=this.dimension(),c=a.camelCase(["scroll",b].join("-")),d=this.$parent&&this.$parent.find("> .accordion-group > .in");if(d&&d.length){e=d.data("collapse");if(e&&e.transitioning)return;d.collapse("hide"),e||d.data("collapse",null)}this.$element[b](0),this.transition("addClass",a.Event("show"),"shown"),a.support.transition&&this.$element[b](this.$element[0][c])},hide:function(){var b;if(this.transitioning||!this.$element.hasClass("in"))return;b=this.dimension(),this.reset(this.$element[b]()),this.transition("removeClass",a.Event("hide"),"hidden"),this.$element[b](0)},reset:function(a){var b=this.dimension();return this.$element.removeClass("collapse")[b](a||"auto")[0].offsetWidth,this.$element[a!==null?"addClass":"removeClass"]("collapse"),this},transition:function(b,c,d){var e=this,f=function(){c.type=="show"&&e.reset(),e.transitioning=0,e.$element.trigger(d)};this.$element.trigger(c);if(c.isDefaultPrevented())return;this.transitioning=1,this.$element[b]("in"),a.support.transition&&this.$element.hasClass("collapse")?this.$element.one(a.support.transition.end,f):f()},toggle:function(){this[this.$element.hasClass("in")?"hide":"show"]()}};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("collapse"),f=a.extend({},a.fn.collapse.defaults,d.data(),typeof c=="object"&&c);e||d.data("collapse",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.collapse.defaults={toggle:!0},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.collapse.data-api","[data-toggle=collapse]",function(b){var c=a(this),d,e=c.attr("data-target")||b.preventDefault()||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),f=a(e).data("collapse")?"toggle":c.data();c[a(e).hasClass("in")?"addClass":"removeClass"]("collapsed"),a(e).collapse(f)})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.options.pause=="hover"&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.prototype={cycle:function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},getActiveIndex:function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},to:function(b){var c=this.getActiveIndex(),d=this;if(b>this.$items.length-1||b<0)return;return this.sliding?this.$element.one("slid",function(){d.to(b)}):c==b?this.pause().cycle():this.slide(b>c?"next":"prev",a(this.$items[b]))},pause:function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),clearInterval(this.interval),this.interval=null,this},next:function(){if(this.sliding)return;return this.slide("next")},prev:function(){if(this.sliding)return;return this.slide("prev")},slide:function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g=b=="next"?"left":"right",h=b=="next"?"first":"last",i=this,j;this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h](),j=a.Event("slide",{relatedTarget:e[0],direction:g});if(e.hasClass("active"))return;this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")}));if(a.support.transition&&this.$element.hasClass("slide")){this.$element.trigger(j);if(j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),this.$element.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)})}else{this.$element.trigger(j);if(j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("carousel"),f=a.extend({},a.fn.carousel.defaults,typeof c=="object"&&c),g=typeof c=="string"?c:f.slide;e||d.data("carousel",e=new b(this,f)),typeof c=="number"?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.defaults={interval:5e3,pause:"hover"},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c=a(this),d,e=a(c.attr("data-target")||(d=c.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),c.data()),g;e.carousel(f),(g=c.attr("data-slide-to"))&&e.data("carousel").pause().to(g).cycle(),b.preventDefault()})}(window.jQuery),!function(a){var b=function(b,c){this.$element=a(b),this.options=a.extend({},a.fn.typeahead.defaults,c),this.matcher=this.options.matcher||this.matcher,this.sorter=this.options.sorter||this.sorter,this.highlighter=this.options.highlighter||this.highlighter,this.updater=this.options.updater||this.updater,this.source=this.options.source,this.$menu=a(this.options.menu),this.shown=!1,this.listen()};b.prototype={constructor:b,select:function(){var a=this.$menu.find(".active").attr("data-value");return this.$element.val(this.updater(a)).change(),this.hide()},updater:function(a){return a},show:function(){var b=a.extend({},this.$element.position(),{height:this.$element[0].offsetHeight});return this.$menu.insertAfter(this.$element).css({top:b.top+b.height,left:b.left}).show(),this.shown=!0,this},hide:function(){return this.$menu.hide(),this.shown=!1,this},lookup:function(b){var c;return this.query=this.$element.val(),!this.query||this.query.length"+b+""})},render:function(b){var c=this;return b=a(b).map(function(b,d){return b=a(c.options.item).attr("data-value",d),b.find("a").html(c.highlighter(d)),b[0]}),b.first().addClass("active"),this.$menu.html(b),this},next:function(b){var c=this.$menu.find(".active").removeClass("active"),d=c.next();d.length||(d=a(this.$menu.find("li")[0])),d.addClass("active")},prev:function(a){var b=this.$menu.find(".active").removeClass("active"),c=b.prev();c.length||(c=this.$menu.find("li").last()),c.addClass("active")},listen:function(){this.$element.on("focus",a.proxy(this.focus,this)).on("blur",a.proxy(this.blur,this)).on("keypress",a.proxy(this.keypress,this)).on("keyup",a.proxy(this.keyup,this)),this.eventSupported("keydown")&&this.$element.on("keydown",a.proxy(this.keydown,this)),this.$menu.on("click",a.proxy(this.click,this)).on("mouseenter","li",a.proxy(this.mouseenter,this)).on("mouseleave","li",a.proxy(this.mouseleave,this))},eventSupported:function(a){var b=a in this.$element;return b||(this.$element.setAttribute(a,"return;"),b=typeof this.$element[a]=="function"),b},move:function(a){if(!this.shown)return;switch(a.keyCode){case 9:case 13:case 27:a.preventDefault();break;case 38:a.preventDefault(),this.prev();break;case 40:a.preventDefault(),this.next()}a.stopPropagation()},keydown:function(b){this.suppressKeyPressRepeat=~a.inArray(b.keyCode,[40,38,9,13,27]),this.move(b)},keypress:function(a){if(this.suppressKeyPressRepeat)return;this.move(a)},keyup:function(a){switch(a.keyCode){case 40:case 38:case 16:case 17:case 18:break;case 9:case 13:if(!this.shown)return;this.select();break;case 27:if(!this.shown)return;this.hide();break;default:this.lookup()}a.stopPropagation(),a.preventDefault()},focus:function(a){this.focused=!0},blur:function(a){this.focused=!1,!this.mousedover&&this.shown&&this.hide()},click:function(a){a.stopPropagation(),a.preventDefault(),this.select(),this.$element.focus()},mouseenter:function(b){this.mousedover=!0,this.$menu.find(".active").removeClass("active"),a(b.currentTarget).addClass("active")},mouseleave:function(a){this.mousedover=!1,!this.focused&&this.shown&&this.hide()}};var c=a.fn.typeahead;a.fn.typeahead=function(c){return this.each(function(){var d=a(this),e=d.data("typeahead"),f=typeof c=="object"&&c;e||d.data("typeahead",e=new b(this,f)),typeof c=="string"&&e[c]()})},a.fn.typeahead.defaults={source:[],items:8,menu:'',item:'',minLength:1},a.fn.typeahead.Constructor=b,a.fn.typeahead.noConflict=function(){return a.fn.typeahead=c,this},a(document).on("focus.typeahead.data-api",'[data-provide="typeahead"]',function(b){var c=a(this);if(c.data("typeahead"))return;c.typeahead(c.data())})}(window.jQuery)
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/dagre-d3.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/dagre-d3.js
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/docs.css:
--------------------------------------------------------------------------------
1 | /* Body and structure
2 | -------------------------------------------------- */
3 |
4 | body {
5 | position: relative;
6 | padding-top: 40px;
7 | }
8 |
9 | /* Code in headings */
10 | h3 code {
11 | font-size: 14px;
12 | font-weight: normal;
13 | }
14 |
15 | /* Sections
16 | -------------------------------------------------- */
17 |
18 | /* padding for in-page bookmarks and fixed navbar */
19 | .page-header {
20 | border-bottom: 1px solid #EEEEEE;
21 | margin: 20px 0;
22 | padding-bottom: 9px;
23 | }
24 | .page-header > h1{
25 | color: #5A5A5A;
26 | }
27 | section {
28 | padding-top: 20px;
29 | }
30 | section > .page-header,
31 | section > .lead {
32 | color: #5a5a5a;
33 | }
34 | section > ul li {
35 | margin-bottom: 5px;
36 | }
37 |
38 | /* Separators (hr) */
39 | .bs-docs-separator {
40 | margin: 40px 0 39px;
41 | }
42 |
43 | /* Faded out hr */
44 | hr.soften {
45 | height: 1px;
46 | margin: 70px 0;
47 | background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
48 | background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
49 | background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
50 | background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
51 | border: 0;
52 | }
53 |
54 |
55 |
56 | /* Jumbotrons
57 | -------------------------------------------------- */
58 |
59 | /* Base class
60 | ------------------------- */
61 | .jumbotron {
62 | position: relative;
63 | padding: 40px 0;
64 | color: #fff;
65 | text-align: center;
66 | text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075);
67 | background: #B24926; /* Old browsers */
68 | background: -moz-linear-gradient(45deg, #B24926 0%, #FAA523 100%); /* FF3.6+ */
69 | background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#B24926), color-stop(100%,#FAA523)); /* Chrome,Safari4+ */
70 | background: -webkit-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Chrome10+,Safari5.1+ */
71 | background: -o-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Opera 11.10+ */
72 | background: -ms-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* IE10+ */
73 | background: linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* W3C */
74 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B24926', endColorstr='#FAA523',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
75 | -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
76 | -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
77 | box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
78 | }
79 | .jumbotron h1 {
80 | font-size: 80px;
81 | font-weight: bold;
82 | letter-spacing: -1px;
83 | line-height: 1;
84 | }
85 | .jumbotron p {
86 | font-size: 24px;
87 | font-weight: 300;
88 | line-height: 1.25;
89 | margin-bottom: 30px;
90 | }
91 |
92 | /* Link styles (used on .masthead-links as well) */
93 | .jumbotron a {
94 | color: #fff;
95 | color: rgba(255,255,255,.5);
96 | -webkit-transition: all .2s ease-in-out;
97 | -moz-transition: all .2s ease-in-out;
98 | transition: all .2s ease-in-out;
99 | }
100 | .jumbotron a:hover {
101 | color: #fff;
102 | text-shadow: 0 0 10px rgba(255,255,255,.25);
103 | }
104 |
105 | /* Download button */
106 | .masthead .btn {
107 | padding: 19px 24px;
108 | font-size: 24px;
109 | font-weight: 200;
110 | color: #fff; /* redeclare to override the `.jumbotron a` */
111 | border: 0;
112 | -webkit-border-radius: 6px;
113 | -moz-border-radius: 6px;
114 | border-radius: 6px;
115 | -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
116 | -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
117 | box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
118 | -webkit-transition: none;
119 | -moz-transition: none;
120 | transition: none;
121 | }
122 | .masthead .btn:hover {
123 | -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
124 | -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
125 | box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
126 | }
127 | .masthead .btn:active {
128 | -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
129 | -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
130 | box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
131 | }
132 |
133 |
134 | /* Pattern overlay
135 | ------------------------- */
136 | .jumbotron .container {
137 | position: relative;
138 | z-index: 2;
139 | }
140 | .jumbotron:after {
141 | content: '';
142 | display: block;
143 | position: absolute;
144 | top: 0;
145 | right: 0;
146 | bottom: 0;
147 | left: 0;
148 | background: url(../img/bs-docs-masthead-pattern.png) repeat center center;
149 | opacity: .4;
150 | }
151 | @media
152 | only screen and (-webkit-min-device-pixel-ratio: 2),
153 | only screen and ( min--moz-device-pixel-ratio: 2),
154 | only screen and ( -o-min-device-pixel-ratio: 2/1) {
155 |
156 | .jumbotron:after {
157 | background-size: 150px 150px;
158 | }
159 |
160 | }
161 |
162 | /* Masthead (docs home)
163 | ------------------------- */
164 | .masthead {
165 | padding: 70px 0 80px;
166 | margin-bottom: 0;
167 | color: #fff;
168 | }
169 | .masthead h1 {
170 | font-size: 120px;
171 | line-height: 1;
172 | letter-spacing: -2px;
173 | }
174 | .masthead p {
175 | font-size: 40px;
176 | font-weight: 200;
177 | line-height: 1.25;
178 | }
179 |
180 | /* Textual links in masthead */
181 | .masthead-links {
182 | margin: 0;
183 | list-style: none;
184 | }
185 | .masthead-links li {
186 | display: inline;
187 | padding: 0 10px;
188 | color: rgba(255,255,255,.25);
189 | }
190 |
191 | /* Social proof buttons from GitHub & Twitter */
192 | .bs-docs-social {
193 | padding: 15px 0;
194 | text-align: center;
195 | background-color: #f5f5f5;
196 | border-top: 1px solid #fff;
197 | border-bottom: 1px solid #ddd;
198 | }
199 |
200 | /* Quick links on Home */
201 | .bs-docs-social-buttons {
202 | margin-left: 0;
203 | margin-bottom: 0;
204 | padding-left: 0;
205 | list-style: none;
206 | }
207 | .bs-docs-social-buttons li {
208 | display: inline-block;
209 | padding: 5px 8px;
210 | line-height: 1;
211 | *display: inline;
212 | *zoom: 1;
213 | }
214 |
215 | /* Subhead (other pages)
216 | ------------------------- */
217 | .subhead {
218 | text-align: left;
219 | border-bottom: 1px solid #ddd;
220 | }
221 | .subhead h1 {
222 | font-size: 60px;
223 | }
224 | .subhead p {
225 | margin-bottom: 20px;
226 | }
227 | .subhead .navbar {
228 | display: none;
229 | }
230 |
231 |
232 |
233 | /* Marketing section of Overview
234 | -------------------------------------------------- */
235 |
236 | .marketing {
237 | text-align: center;
238 | color: #5a5a5a;
239 | }
240 | .marketing h1 {
241 | margin: 60px 0 10px;
242 | font-size: 60px;
243 | font-weight: 200;
244 | line-height: 1;
245 | letter-spacing: -1px;
246 | }
247 | .marketing h2 {
248 | font-weight: 200;
249 | margin-bottom: 5px;
250 | }
251 | .marketing p {
252 | font-size: 16px;
253 | line-height: 1.5;
254 | }
255 | .marketing .marketing-byline {
256 | margin-bottom: 40px;
257 | font-size: 20px;
258 | font-weight: 300;
259 | line-height: 1.25;
260 | color: #999;
261 | }
262 | .marketing-img {
263 | display: block;
264 | margin: 0 auto 30px;
265 | max-height: 145px;
266 | }
267 |
268 |
269 |
270 | /* Footer
271 | -------------------------------------------------- */
272 |
273 | .footer {
274 | text-align: center;
275 | padding: 30px 0;
276 | margin-top: 70px;
277 | border-top: 1px solid #e5e5e5;
278 | background-color: #f5f5f5;
279 | }
280 | .footer p {
281 | margin-bottom: 0;
282 | color: #777;
283 | }
284 | .footer-links {
285 | margin: 10px 0;
286 | }
287 | .footer-links li {
288 | display: inline;
289 | padding: 0 2px;
290 | }
291 | .footer-links li:first-child {
292 | padding-left: 0;
293 | }
294 |
295 | /* Bootstrap code examples
296 | -------------------------------------------------- */
297 |
298 | /* Base class */
299 | .bs-docs-example {
300 | position: relative;
301 | margin: 15px 0;
302 | padding: 39px 19px 14px;
303 | *padding-top: 19px;
304 | background-color: #fff;
305 | border: 1px solid #ddd;
306 | -webkit-border-radius: 4px;
307 | -moz-border-radius: 4px;
308 | border-radius: 4px;
309 | }
310 |
311 | /* Echo out a label for the example */
312 | .bs-docs-example:after {
313 | content: "Example";
314 | position: absolute;
315 | top: -1px;
316 | left: -1px;
317 | padding: 3px 7px;
318 | font-size: 12px;
319 | font-weight: bold;
320 | background-color: #f5f5f5;
321 | border: 1px solid #ddd;
322 | color: #9da0a4;
323 | -webkit-border-radius: 4px 0 4px 0;
324 | -moz-border-radius: 4px 0 4px 0;
325 | border-radius: 4px 0 4px 0;
326 | }
327 |
328 | /* Remove spacing between an example and it's code */
329 | .bs-docs-example + .prettyprint {
330 | margin-top: -20px;
331 | padding-top: 15px;
332 | }
333 |
334 | /* Tweak examples
335 | ------------------------- */
336 | .bs-docs-example > p:last-child {
337 | margin-bottom: 0;
338 | }
339 | .bs-docs-example .table,
340 | .bs-docs-example .progress,
341 | .bs-docs-example .well,
342 | .bs-docs-example .alert,
343 | .bs-docs-example .hero-unit,
344 | .bs-docs-example .pagination,
345 | .bs-docs-example .navbar,
346 | .bs-docs-example > .nav,
347 | .bs-docs-example blockquote {
348 | margin-bottom: 5px;
349 | }
350 | .bs-docs-example .pagination {
351 | margin-top: 0;
352 | }
353 | .bs-navbar-top-example,
354 | .bs-navbar-bottom-example {
355 | z-index: 1;
356 | padding: 0;
357 | height: 90px;
358 | overflow: hidden; /* cut the drop shadows off */
359 | }
360 | .bs-navbar-top-example .navbar-fixed-top,
361 | .bs-navbar-bottom-example .navbar-fixed-bottom {
362 | margin-left: 0;
363 | margin-right: 0;
364 | }
365 | .bs-navbar-top-example {
366 | -webkit-border-radius: 0 0 4px 4px;
367 | -moz-border-radius: 0 0 4px 4px;
368 | border-radius: 0 0 4px 4px;
369 | }
370 | .bs-navbar-top-example:after {
371 | top: auto;
372 | bottom: -1px;
373 | -webkit-border-radius: 0 4px 0 4px;
374 | -moz-border-radius: 0 4px 0 4px;
375 | border-radius: 0 4px 0 4px;
376 | }
377 | .bs-navbar-bottom-example {
378 | -webkit-border-radius: 4px 4px 0 0;
379 | -moz-border-radius: 4px 4px 0 0;
380 | border-radius: 4px 4px 0 0;
381 | }
382 | .bs-navbar-bottom-example .navbar {
383 | margin-bottom: 0;
384 | }
385 | form.bs-docs-example {
386 | padding-bottom: 19px;
387 | }
388 |
389 | /* Images */
390 | .bs-docs-example-images img {
391 | margin: 10px;
392 | display: inline-block;
393 | }
394 |
395 | /* Tooltips */
396 | .bs-docs-tooltip-examples {
397 | text-align: center;
398 | margin: 0 0 10px;
399 | list-style: none;
400 | }
401 | .bs-docs-tooltip-examples li {
402 | display: inline;
403 | padding: 0 10px;
404 | }
405 |
406 | /* Popovers */
407 | .bs-docs-example-popover {
408 | padding-bottom: 24px;
409 | background-color: #f9f9f9;
410 | }
411 | .bs-docs-example-popover .popover {
412 | position: relative;
413 | display: block;
414 | float: left;
415 | width: 260px;
416 | margin: 20px;
417 | }
418 |
419 | /* Dropdowns */
420 | .bs-docs-example-submenus {
421 | min-height: 180px;
422 | }
423 | .bs-docs-example-submenus > .pull-left + .pull-left {
424 | margin-left: 20px;
425 | }
426 | .bs-docs-example-submenus .dropup > .dropdown-menu,
427 | .bs-docs-example-submenus .dropdown > .dropdown-menu {
428 | display: block;
429 | position: static;
430 | margin-bottom: 5px;
431 | *width: 180px;
432 | }
433 |
434 | /* Sidenav for Docs
435 | -------------------------------------------------- */
436 |
437 | .bs-docs-sidenav {
438 | width: 228px;
439 | margin: 30px 0 0;
440 | padding: 0;
441 | background-color: #fff;
442 | -webkit-border-radius: 6px;
443 | -moz-border-radius: 6px;
444 | border-radius: 6px;
445 | -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
446 | -moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
447 | box-shadow: 0 1px 4px rgba(0,0,0,.065);
448 | }
449 | .bs-docs-sidenav > li > a {
450 | display: block;
451 | width: 190px \9;
452 | margin: 0 0 -1px;
453 | padding: 8px 14px;
454 | border: 1px solid #e5e5e5;
455 | }
456 | .bs-docs-sidenav > li:first-child > a {
457 | -webkit-border-radius: 6px 6px 0 0;
458 | -moz-border-radius: 6px 6px 0 0;
459 | border-radius: 6px 6px 0 0;
460 | }
461 | .bs-docs-sidenav > li:last-child > a {
462 | -webkit-border-radius: 0 0 6px 6px;
463 | -moz-border-radius: 0 0 6px 6px;
464 | border-radius: 0 0 6px 6px;
465 | }
466 | .bs-docs-sidenav > li.active > a {
467 | background: #B24926; /* Old browsers */
468 | background: -moz-linear-gradient(45deg, #B24926 0%, #FAA523 100%); /* FF3.6+ */
469 | background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#B24926), color-stop(100%,#FAA523)); /* Chrome,Safari4+ */
470 | background: -webkit-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Chrome10+,Safari5.1+ */
471 | background: -o-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Opera 11.10+ */
472 | background: -ms-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* IE10+ */
473 | background: linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* W3C */
474 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B24926', endColorstr='#FAA523',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
475 | position: relative;
476 | z-index: 2;
477 | padding: 9px 15px;
478 | border: 0;
479 | text-shadow: 0 1px 0 rgba(0,0,0,.15);
480 | -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
481 | -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
482 | box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
483 | }
484 | /* Chevrons */
485 | .bs-docs-sidenav .icon-chevron-right {
486 | float: right;
487 | margin-top: 2px;
488 | margin-right: -6px;
489 | opacity: .25;
490 | }
491 | .bs-docs-sidenav > li > a:hover {
492 | background-color: #f5f5f5;
493 | }
494 | .bs-docs-sidenav a:hover .icon-chevron-right {
495 | opacity: .5;
496 | }
497 | .bs-docs-sidenav .active .icon-chevron-right,
498 | .bs-docs-sidenav .active a:hover .icon-chevron-right {
499 | opacity: 1;
500 | }
501 | .bs-docs-sidenav.affix {
502 | top: 40px;
503 | }
504 | .bs-docs-sidenav.affix-bottom {
505 | position: absolute;
506 | top: auto;
507 | bottom: 270px;
508 | }
509 | /* Desktop
510 | ------------------------- */
511 | @media (max-width: 980px) {
512 | /* Unfloat brand */
513 | body > .navbar-fixed-top .brand {
514 | float: left;
515 | margin-left: 0;
516 | padding-left: 10px;
517 | padding-right: 10px;
518 | }
519 |
520 | /* Inline-block quick links for more spacing */
521 | .quick-links li {
522 | display: inline-block;
523 | margin: 5px;
524 | }
525 |
526 | /* When affixed, space properly */
527 | .bs-docs-sidenav {
528 | top: 0;
529 | width: 218px;
530 | margin-top: 30px;
531 | margin-right: 0;
532 | }
533 | }
534 |
535 | /* Tablet to desktop
536 | ------------------------- */
537 | @media (min-width: 768px) and (max-width: 979px) {
538 | /* Remove any padding from the body */
539 | body {
540 | padding-top: 0;
541 | }
542 | /* Widen masthead and social buttons to fill body padding */
543 | .jumbotron {
544 | margin-top: -20px; /* Offset bottom margin on .navbar */
545 | }
546 | /* Adjust sidenav width */
547 | .bs-docs-sidenav {
548 | width: 166px;
549 | margin-top: 20px;
550 | }
551 | .bs-docs-sidenav.affix {
552 | top: 0;
553 | }
554 | }
555 |
556 | /* Tablet
557 | ------------------------- */
558 | @media (max-width: 767px) {
559 | /* Remove any padding from the body */
560 | body {
561 | padding-top: 0;
562 | }
563 |
564 | /* Widen masthead and social buttons to fill body padding */
565 | .jumbotron {
566 | padding: 40px 20px;
567 | margin-top: -20px; /* Offset bottom margin on .navbar */
568 | margin-right: -20px;
569 | margin-left: -20px;
570 | }
571 | .masthead h1 {
572 | font-size: 90px;
573 | }
574 | .masthead p,
575 | .masthead .btn {
576 | font-size: 24px;
577 | }
578 | .marketing .span4 {
579 | margin-bottom: 40px;
580 | }
581 | .bs-docs-social {
582 | margin: 0 -20px;
583 | }
584 |
585 | /* Space out the show-grid examples */
586 | .show-grid [class*="span"] {
587 | margin-bottom: 5px;
588 | }
589 |
590 | /* Sidenav */
591 | .bs-docs-sidenav {
592 | width: auto;
593 | margin-bottom: 20px;
594 | }
595 | .bs-docs-sidenav.affix {
596 | position: static;
597 | width: auto;
598 | top: 0;
599 | }
600 |
601 | /* Unfloat the back to top link in footer */
602 | .footer {
603 | margin-left: -20px;
604 | margin-right: -20px;
605 | padding-left: 20px;
606 | padding-right: 20px;
607 | }
608 | .footer p {
609 | margin-bottom: 9px;
610 | }
611 | }
612 |
613 | /* Landscape phones
614 | ------------------------- */
615 | @media (max-width: 480px) {
616 | /* Remove padding above jumbotron */
617 | body {
618 | padding-top: 0;
619 | }
620 |
621 | /* Change up some type stuff */
622 | h2 small {
623 | display: block;
624 | }
625 |
626 | /* Downsize the jumbotrons */
627 | .jumbotron h1 {
628 | font-size: 45px;
629 | }
630 | .jumbotron p,
631 | .jumbotron .btn {
632 | font-size: 18px;
633 | }
634 | .jumbotron .btn {
635 | display: block;
636 | margin: 0 auto;
637 | }
638 |
639 | /* center align subhead text like the masthead */
640 | .subhead h1,
641 | .subhead p {
642 | text-align: center;
643 | }
644 |
645 | /* Marketing on home */
646 | .marketing h1 {
647 | font-size: 30px;
648 | }
649 | .marketing-byline {
650 | font-size: 18px;
651 | }
652 |
653 | /* Do our best to make tables work in narrow viewports */
654 | table code {
655 | white-space: normal;
656 | word-wrap: break-word;
657 | word-break: break-all;
658 | }
659 |
660 | /* Examples: dropdowns */
661 | .bs-docs-example-submenus > .pull-left {
662 | float: none;
663 | clear: both;
664 | }
665 | .bs-docs-example-submenus > .pull-left,
666 | .bs-docs-example-submenus > .pull-left + .pull-left {
667 | margin-left: 0;
668 | }
669 | .bs-docs-example-submenus p {
670 | margin-bottom: 0;
671 | }
672 | .bs-docs-example-submenus .dropup > .dropdown-menu,
673 | .bs-docs-example-submenus .dropdown > .dropdown-menu {
674 | margin-bottom: 10px;
675 | float: none;
676 | max-width: 180px;
677 | }
678 |
679 | /* Tighten up footer */
680 | .footer {
681 | padding-top: 20px;
682 | padding-bottom: 20px;
683 | }
684 | }
685 |
686 | #twitter-share{
687 | padding-top:5px;
688 | }
689 | .docs-lead{margin-bottom:20px;font-size:15px;font-weight:200;line-height:30px;}
690 |
691 | /* Download */
692 | .download-btn:hover{
693 | text-decoration: none;
694 | color: #333333;
695 | }
696 | .download-btn.ui-button-primary:hover{
697 | color: #FFFFFF;
698 | }
699 | /* Accordion */
700 | #menu-collapse{
701 | margin-bottom:20px;
702 | }
703 | /*Dialog*/
704 | #dialog_link,#modal_link {
705 | padding: .4em 1em .4em 20px;
706 | text-decoration: none;
707 | position: relative;
708 | }
709 |
710 | #dialog_link span.ui-icon, #modal_link span.ui-icon {
711 | margin: 0 5px 0 0;
712 | position: absolute;
713 | left: .2em;
714 | top: 50%;
715 | margin-top: -8px;
716 | }
717 |
718 | ul#icons {
719 | margin: 0;
720 | padding: 0;
721 | }
722 |
723 | ul#icons li {
724 | margin: 2px;
725 | position: relative;
726 | padding: 4px 0;
727 | cursor: pointer;
728 | float: left;
729 | list-style: none;
730 | }
731 |
732 | ul#icons span.ui-icon {
733 | float: left;
734 | margin: 0 4px;
735 | }
736 |
737 | #buttons button {
738 | float: left;
739 | margin-right: 4px;
740 | }
741 | .dialog-button{
742 | margin-bottom: 20px;
743 | }
744 | /*Tabs*/
745 | #tabs2 li .ui-icon-close {
746 | float: left;
747 | margin: 0.4em 0.2em 0 0;
748 | cursor: pointer;
749 | }
750 |
751 | #add_tab {
752 | cursor: pointer;
753 | }
754 |
755 | /*shadow*/
756 | .window-contain{
757 | position: relative;
758 | height: 200px;
759 | padding:1% 4%;
760 | overflow:hidden;
761 | }
762 |
763 | /*Toolbar*/
764 | #toolbar {
765 | padding: 5px 0 5px 5px;
766 | }
767 | /*
768 | * Bug chrome with toolbar and bootstrap inheritance
769 | */
770 | @media screen and (-webkit-min-device-pixel-ratio:0) {
771 | #toolbar input{display:block;float:left;}
772 | }
773 | /*Datepicker*/
774 | #datepicker{
775 | margin-bottom: 20px;
776 | }
777 | /*slider*/
778 | #amount{
779 | color:#f6931f;
780 | font-weight:bold;
781 | }
782 | #h-slider,#v-slider{
783 | margin-bottom: 20px;
784 | }
785 | /*Autocomplete*/
786 | #tags{
787 | margin-bottom: 20px;
788 | }
789 |
790 | /**
791 | * fix bug position button customfile
792 | */
793 | .input-append.customfile, .input-prepend {
794 | font-size: 0;
795 | margin-bottom: 5px;
796 | white-space: normal;
797 | }
798 | .input-append.customfile .add-on{
799 | height:20px;
800 | font-size:14px;
801 | line-height:18px;
802 | min-width: 70px;
803 | }
804 | /* Wijmo */
805 | #wijmo-container{
806 | margin-bottom: 20px;
807 | }
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.0.2
3 | * the iconic font designed for use with Twitter Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fortawesome.github.com/Font-Awesome/
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
11 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
12 | * http://opensource.org/licenses/mit-license.html
13 | * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
14 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
15 | * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
16 |
17 | * Contact
18 | * -------------------------------------------------------
19 | * Email: dave@davegandy.com
20 | * Twitter: http://twitter.com/fortaweso_me
21 | * Work: Lead Product Designer @ http://kyruus.com
22 | */
23 |
24 | @font-face{
25 | font-family:'FontAwesome';
26 | src:url('font/fontawesome-webfont.eot?v=3.0.1');
27 | src:url('font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
28 | url('font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
29 | url('font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
30 | font-weight:normal;
31 | font-style:normal }
32 |
33 | [class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}a [class^="icon-"],a [class*=" icon-"]{display:inline-block}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}.btn [class^="icon-"],.nav [class^="icon-"],.btn [class*=" icon-"],.nav [class*=" icon-"]{display:inline}.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}li [class^="icon-"],.nav li [class^="icon-"],li [class*=" icon-"],.nav li [class*=" icon-"]{display:inline-block;width:1.25em;text-align:center}li [class^="icon-"].icon-large,.nav li [class^="icon-"].icon-large,li [class*=" icon-"].icon-large,.nav li [class*=" icon-"].icon-large{width:1.5625em}ul.icons{list-style-type:none;text-indent:-0.75em}ul.icons li [class^="icon-"],ul.icons li [class*=" icon-"]{width:.75em}.icon-muted{color:#eee}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-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)}}@-moz-document url-prefix(){.icon-spin{height:.9em}.btn .icon-spin{height:auto}.icon-spin.icon-large{height:1.25em}.btn .icon-spin.icon-large{height:.75em}}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope-alt:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_18_b81900_40x40.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_20_666666_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_20_666666_40x40.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_flat_10_000000_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_flat_10_000000_40x100.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_f6f6f6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_f6f6f6_1x400.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_fdf5ce_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_fdf5ce_1x400.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_gloss-wave_35_f6a828_500x100.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_228ef1_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_228ef1_256x240.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ef8c08_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ef8c08_256x240.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffd27a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffd27a_256x240.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffffff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/src/main/www/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffffff_256x240.png
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/jquery.form.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery Form Plugin; v20130731
3 | * http://jquery.malsup.com/form/
4 | * Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL
5 | * https://github.com/malsup/form#copyright-and-license
6 | */
7 | ;(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=this;if(i.clk=r,"image"==r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n={};n.fileapi=void 0!==e("").get(0).files,n.formdata=void 0!==window.FormData;var i=!!e.fn.prop;e.fn.attr2=function(){if(!i)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){function r(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/\+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function o(a){for(var n=new FormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){var o=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;var s=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;var l=s.beforeSend;return s.beforeSend=function(e,t){t.data=n,l&&l.call(this,e,t)},e.ajax(s)}function s(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function o(){function t(){try{var e=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(D),j&&clearTimeout(j),j=void 0}}var r=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",d),u||w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(k)},m.timeout));var o=[];try{if(m.extraData)for(var l in m.extraData)m.extraData.hasOwnProperty(l)&&(e.isPlainObject(m.extraData[l])&&m.extraData[l].hasOwnProperty("name")&&m.extraData[l].hasOwnProperty("value")?o.push(e('').val(m.extraData[l].value).appendTo(w)[0]):o.push(e('').val(m.extraData[l]).appendTo(w)[0]));m.iframeTarget||(v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1)),setTimeout(t,15);try{w.submit()}catch(c){var p=document.createElement("form").submit;p.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}function s(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=D),t===k&&x)return x.abort("timeout"),S.reject(x,"timeout"),void 0;if(t==D&&x)return x.abort("server abort"),S.reject(x,"error","server abort"),void 0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)return a("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var u=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){var t={"content-type":m.dataType};return t[e]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var l=(m.dataType||"").toLowerCase(),c=/(json|script|text)/.test(l);if(c||m.textarea){var f=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;else if(c){var d=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];d?x.responseText=d.textContent?d.textContent:d.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==l&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{E=_(x,l,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,E,"success",x),S.resolve(x.responseText,"success",x),p&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void 0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),p&&e.event.trigger("ajaxError",[x,m,r])),p&&e.event.trigger("ajaxComplete",[x,m]),p&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget||v.remove(),x.responseXML=null},100)}}}var l,c,m,p,d,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(S.abort=function(e){x.abort(e)},r)for(c=0;h.length>c;c++)l=e(h[c]),i?l.prop("disabled",!1):l.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,d="jqFormIO"+(new Date).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?d=y:v.attr2("name",d)):(v=e(''),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),p&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},p=m.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)return m.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));var k=1,D=2,A=e("meta[name=csrf-token]").attr("content"),L=e("meta[name=csrf-param]").attr("content");L&&A&&(m.extraData=m.extraData||{},m.extraData[L]=A),m.forceSync?o():setTimeout(o,10);var E,M,F,O=50,X=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){return window.eval("("+e+")")},_=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var u,l,c,f=this;"function"==typeof t?t={success:t}:void 0===t&&(t={}),u=t.type||this.attr2("method"),l=t.url||this.attr2("action"),c="string"==typeof l?e.trim(l):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:u||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var p=t.traditional;void 0===p&&(p=e.ajaxSettings.traditional);var d,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,d=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(v,p);d&&(g=g?g+"&"+d:d),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var x=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};x.push(function(r){var a=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}else t.success&&x.push(t.success);if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){var y=t.error;t.error=function(e,r,a){var n=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){var T=t.complete;t.complete=function(e,r){var a=t.context||this;T.apply(a,[e,r,f])}}var j=e('input[type=file]:enabled:not([value=""])',this),w=j.length>0,S="multipart/form-data",k=f.attr("enctype")==S||f.attr("encoding")==S,D=n.fileapi&&n.formdata;a("fileAPI :"+D);var A,L=(w||k)&&!D;t.iframe!==!1&&(t.iframe||L)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||k)&&D?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(var E=0;h.length>E;E++)h[E]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){var a=[];if(0===this.length)return a;var i=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)return a;var s,u,l,c,f,m,p;for(s=0,m=o.length;m>s;s++)if(f=o[s],l=f.name,l&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:l,value:e(f).val(),type:f.type}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}));else if(c=e.fieldValue(f,!0),c&&c.constructor==Array)for(r&&r.push(f),u=0,p=c.length;p>u;u++)a.push({name:l,value:c[u]});else if(n.fileapi&&"file"==f.type){r&&r.push(f);var d=f.files;if(d.length)for(u=0;d.length>u;u++)a.push({name:l,value:d[u],type:f.type});else a.push({name:l,value:"",type:f.type})}else null!==c&&c!==void 0&&(r&&r.push(f),a.push({name:l,value:c,type:f.type,required:f.required}));if(!t&&i.clk){var h=e(i.clk),v=h[0];l=v.name,l&&!v.disabled&&"image"==v.type&&(a.push({name:l,value:h.val()}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}))}return a},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor==Array)for(var i=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});else null!==n&&n!==void 0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;n>a;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,n=t.type,i=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))return null;if("select"==i){var o=t.selectedIndex;if(0>o)return null;for(var s=[],u=t.options,l="select-one"==n,c=l?o+1:u.length,f=l?o:0;c>f;f++){var m=u[f];if(m.selected){var p=m.value;if(p||(p=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),l)return p;s.push(p)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"==r||"radio"==r)this.checked=t;else if("option"==this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})("undefined"!=typeof jQuery?jQuery:window.Zepto);
--------------------------------------------------------------------------------
/src/main/www/com/bpodgursky/nlpviz/www/resources/purl.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Purl (A JavaScript URL parser) v2.3.1
3 | * Developed and maintanined by Mark Perkins, mark@allmarkedup.com
4 | * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser
5 | * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details.
6 | */
7 |
8 | ;(function(factory) {
9 | if (typeof define === 'function' && define.amd) {
10 | define(factory);
11 | } else {
12 | window.purl = factory();
13 | }
14 | })(function() {
15 |
16 | var tag2attr = {
17 | a : 'href',
18 | img : 'src',
19 | form : 'action',
20 | base : 'href',
21 | script : 'src',
22 | iframe : 'src',
23 | link : 'href'
24 | },
25 |
26 | key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query
27 |
28 | aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability
29 |
30 | parser = {
31 | strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs
32 | loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs
33 | },
34 |
35 | isint = /^[0-9]+$/;
36 |
37 | function parseUri( url, strictMode ) {
38 | var str = decodeURI( url ),
39 | res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ),
40 | uri = { attr : {}, param : {}, seg : {} },
41 | i = 14;
42 |
43 | while ( i-- ) {
44 | uri.attr[ key[i] ] = res[i] || '';
45 | }
46 |
47 | // build query and fragment parameters
48 | uri.param['query'] = parseString(uri.attr['query']);
49 | uri.param['fragment'] = parseString(uri.attr['fragment']);
50 |
51 | // split path and fragement into segments
52 | uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/');
53 | uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/');
54 |
55 | // compile a 'base' domain attribute
56 | uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : '';
57 |
58 | return uri;
59 | }
60 |
61 | function getAttrName( elm ) {
62 | var tn = elm.tagName;
63 | if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()];
64 | return tn;
65 | }
66 |
67 | function promote(parent, key) {
68 | if (parent[key].length === 0) return parent[key] = {};
69 | var t = {};
70 | for (var i in parent[key]) t[i] = parent[key][i];
71 | parent[key] = t;
72 | return t;
73 | }
74 |
75 | function parse(parts, parent, key, val) {
76 | var part = parts.shift();
77 | if (!part) {
78 | if (isArray(parent[key])) {
79 | parent[key].push(val);
80 | } else if ('object' == typeof parent[key]) {
81 | parent[key] = val;
82 | } else if ('undefined' == typeof parent[key]) {
83 | parent[key] = val;
84 | } else {
85 | parent[key] = [parent[key], val];
86 | }
87 | } else {
88 | var obj = parent[key] = parent[key] || [];
89 | if (']' == part) {
90 | if (isArray(obj)) {
91 | if ('' !== val) obj.push(val);
92 | } else if ('object' == typeof obj) {
93 | obj[keys(obj).length] = val;
94 | } else {
95 | obj = parent[key] = [parent[key], val];
96 | }
97 | } else if (~part.indexOf(']')) {
98 | part = part.substr(0, part.length - 1);
99 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key);
100 | parse(parts, obj, part, val);
101 | // key
102 | } else {
103 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key);
104 | parse(parts, obj, part, val);
105 | }
106 | }
107 | }
108 |
109 | function merge(parent, key, val) {
110 | if (~key.indexOf(']')) {
111 | var parts = key.split('[');
112 | parse(parts, parent, 'base', val);
113 | } else {
114 | if (!isint.test(key) && isArray(parent.base)) {
115 | var t = {};
116 | for (var k in parent.base) t[k] = parent.base[k];
117 | parent.base = t;
118 | }
119 | if (key !== '') {
120 | set(parent.base, key, val);
121 | }
122 | }
123 | return parent;
124 | }
125 |
126 | function parseString(str) {
127 | return reduce(String(str).split(/&|;/), function(ret, pair) {
128 | try {
129 | pair = decodeURIComponent(pair.replace(/\+/g, ' '));
130 | } catch(e) {
131 | // ignore
132 | }
133 | var eql = pair.indexOf('='),
134 | brace = lastBraceInKey(pair),
135 | key = pair.substr(0, brace || eql),
136 | val = pair.substr(brace || eql, pair.length);
137 |
138 | val = val.substr(val.indexOf('=') + 1, val.length);
139 |
140 | if (key === '') {
141 | key = pair;
142 | val = '';
143 | }
144 |
145 | return merge(ret, key, val);
146 | }, { base: {} }).base;
147 | }
148 |
149 | function set(obj, key, val) {
150 | var v = obj[key];
151 | if (typeof v === 'undefined') {
152 | obj[key] = val;
153 | } else if (isArray(v)) {
154 | v.push(val);
155 | } else {
156 | obj[key] = [v, val];
157 | }
158 | }
159 |
160 | function lastBraceInKey(str) {
161 | var len = str.length,
162 | brace,
163 | c;
164 | for (var i = 0; i < len; ++i) {
165 | c = str[i];
166 | if (']' == c) brace = false;
167 | if ('[' == c) brace = true;
168 | if ('=' == c && !brace) return i;
169 | }
170 | }
171 |
172 | function reduce(obj, accumulator){
173 | var i = 0,
174 | l = obj.length >> 0,
175 | curr = arguments[2];
176 | while (i < l) {
177 | if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj);
178 | ++i;
179 | }
180 | return curr;
181 | }
182 |
183 | function isArray(vArg) {
184 | return Object.prototype.toString.call(vArg) === "[object Array]";
185 | }
186 |
187 | function keys(obj) {
188 | var key_array = [];
189 | for ( var prop in obj ) {
190 | if ( obj.hasOwnProperty(prop) ) key_array.push(prop);
191 | }
192 | return key_array;
193 | }
194 |
195 | function purl( url, strictMode ) {
196 | if ( arguments.length === 1 && url === true ) {
197 | strictMode = true;
198 | url = undefined;
199 | }
200 | strictMode = strictMode || false;
201 | url = url || window.location.toString();
202 |
203 | return {
204 |
205 | data : parseUri(url, strictMode),
206 |
207 | // get various attributes from the URI
208 | attr : function( attr ) {
209 | attr = aliases[attr] || attr;
210 | return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr;
211 | },
212 |
213 | // return query string parameters
214 | param : function( param ) {
215 | return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query;
216 | },
217 |
218 | // return fragment parameters
219 | fparam : function( param ) {
220 | return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment;
221 | },
222 |
223 | // return path segments
224 | segment : function( seg ) {
225 | if ( typeof seg === 'undefined' ) {
226 | return this.data.seg.path;
227 | } else {
228 | seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end
229 | return this.data.seg.path[seg];
230 | }
231 | },
232 |
233 | // return fragment segments
234 | fsegment : function( seg ) {
235 | if ( typeof seg === 'undefined' ) {
236 | return this.data.seg.fragment;
237 | } else {
238 | seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end
239 | return this.data.seg.fragment[seg];
240 | }
241 | }
242 |
243 | };
244 |
245 | }
246 |
247 | purl.jQuery = function($){
248 | if ($ != null) {
249 | $.fn.url = function( strictMode ) {
250 | var url = '';
251 | if ( this.length ) {
252 | url = $(this).attr( getAttrName(this[0]) ) || '';
253 | }
254 | return purl( url, strictMode );
255 | };
256 |
257 | $.url = purl;
258 | }
259 | };
260 |
261 | purl.jQuery(window.jQuery);
262 |
263 | return purl;
264 |
265 | });
266 |
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/AbstractParser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/AbstractParser.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/EnglishParser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/EnglishParser.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/SpanishParser.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/SpanishParser.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/api/WebServer.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/api/WebServer.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/jobjar.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 | jobjar
6 |
7 | jar
8 |
9 | false
10 |
11 |
12 | /
13 | true
14 | true
15 | runtime
16 |
17 |
18 |
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/log4j.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/scripts/StanfordCoreNLPTest.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/scripts/StanfordCoreNLPTest.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/servlet/HomeServlet.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/servlet/HomeServlet.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/servlet/ParseServlet.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/servlet/ParseServlet.class
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/css/digraph.css:
--------------------------------------------------------------------------------
1 |
2 | text {
3 | font-weight: 300;
4 | font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
5 | font-size: 14px;
6 | }
7 |
8 | rect {
9 | fill: #fff;
10 | }
11 |
12 | .node > rect {
13 | stroke-width: 1px;
14 | stroke: #333;
15 | fill: none;
16 | opacity: 0.5;
17 | }
18 |
19 | .edge rect {
20 | fill: #fff
21 | }
22 |
23 | .edgePath path {
24 | stroke: #333;
25 | stroke-width: 1.5px;
26 | }
27 |
28 | .ne-O > rect {
29 | fill: #00ffd0;
30 | }
31 |
32 | .ne-PERSON > rect {
33 | fill: #b997ff;
34 | }
35 |
36 | .ne-DATE > rect {
37 | fill: #ffae6a;
38 | }
39 |
40 | .ne-ORGANIZATION > rect {
41 | fill: #96c2ff;
42 | }
43 |
44 | .ne-LOCATION > rect {
45 | fill: #7e7e7e;
46 | }
47 |
48 | .ne-ORDINAL > rect {
49 | fill: #92ff7d;
50 | }
51 |
52 | .ne-NUMBER > rect {
53 | fill: #fdb9ff;
54 | }
55 |
56 | html, body {
57 | margin: 0;
58 | padding: 0;
59 | overflow: hidden
60 | }
61 |
62 | .main-svg {
63 | position: absolute;
64 | top: 50;
65 | left: 0;
66 | height: 1000px;
67 | width: 100%;
68 | border: 1px solid #999;
69 | }
70 |
71 | .legend-svg {
72 | position: fixed;
73 | height: 60px;
74 | width: 600px;
75 | }
76 |
77 | textarea {
78 | border: 1px solid #999999;
79 | width: 100%;
80 | margin: 5px 0;
81 | padding: 3px;
82 | }
83 |
84 | .legend {
85 | stroke-width: 3px;
86 | stroke: #333;
87 | fill: none;
88 | opacity: 0.5;
89 | }
90 | .label{
91 |
92 | }
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | NLP Parse Visualization
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
192 |
193 |
210 |
211 |
212 |
213 |
214 |
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/animated-overlay.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/animated-overlay.gif
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/docs.css:
--------------------------------------------------------------------------------
1 | /* Body and structure
2 | -------------------------------------------------- */
3 |
4 | body {
5 | position: relative;
6 | padding-top: 40px;
7 | }
8 |
9 | /* Code in headings */
10 | h3 code {
11 | font-size: 14px;
12 | font-weight: normal;
13 | }
14 |
15 | /* Sections
16 | -------------------------------------------------- */
17 |
18 | /* padding for in-page bookmarks and fixed navbar */
19 | .page-header {
20 | border-bottom: 1px solid #EEEEEE;
21 | margin: 20px 0;
22 | padding-bottom: 9px;
23 | }
24 | .page-header > h1{
25 | color: #5A5A5A;
26 | }
27 | section {
28 | padding-top: 20px;
29 | }
30 | section > .page-header,
31 | section > .lead {
32 | color: #5a5a5a;
33 | }
34 | section > ul li {
35 | margin-bottom: 5px;
36 | }
37 |
38 | /* Separators (hr) */
39 | .bs-docs-separator {
40 | margin: 40px 0 39px;
41 | }
42 |
43 | /* Faded out hr */
44 | hr.soften {
45 | height: 1px;
46 | margin: 70px 0;
47 | background-image: -webkit-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
48 | background-image: -moz-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
49 | background-image: -ms-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
50 | background-image: -o-linear-gradient(left, rgba(0,0,0,0), rgba(0,0,0,.1), rgba(0,0,0,0));
51 | border: 0;
52 | }
53 |
54 |
55 |
56 | /* Jumbotrons
57 | -------------------------------------------------- */
58 |
59 | /* Base class
60 | ------------------------- */
61 | .jumbotron {
62 | position: relative;
63 | padding: 40px 0;
64 | color: #fff;
65 | text-align: center;
66 | text-shadow: 0 1px 3px rgba(0,0,0,.4), 0 0 30px rgba(0,0,0,.075);
67 | background: #B24926; /* Old browsers */
68 | background: -moz-linear-gradient(45deg, #B24926 0%, #FAA523 100%); /* FF3.6+ */
69 | background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#B24926), color-stop(100%,#FAA523)); /* Chrome,Safari4+ */
70 | background: -webkit-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Chrome10+,Safari5.1+ */
71 | background: -o-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Opera 11.10+ */
72 | background: -ms-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* IE10+ */
73 | background: linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* W3C */
74 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B24926', endColorstr='#FAA523',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
75 | -webkit-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
76 | -moz-box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
77 | box-shadow: inset 0 3px 7px rgba(0,0,0,.2), inset 0 -3px 7px rgba(0,0,0,.2);
78 | }
79 | .jumbotron h1 {
80 | font-size: 80px;
81 | font-weight: bold;
82 | letter-spacing: -1px;
83 | line-height: 1;
84 | }
85 | .jumbotron p {
86 | font-size: 24px;
87 | font-weight: 300;
88 | line-height: 1.25;
89 | margin-bottom: 30px;
90 | }
91 |
92 | /* Link styles (used on .masthead-links as well) */
93 | .jumbotron a {
94 | color: #fff;
95 | color: rgba(255,255,255,.5);
96 | -webkit-transition: all .2s ease-in-out;
97 | -moz-transition: all .2s ease-in-out;
98 | transition: all .2s ease-in-out;
99 | }
100 | .jumbotron a:hover {
101 | color: #fff;
102 | text-shadow: 0 0 10px rgba(255,255,255,.25);
103 | }
104 |
105 | /* Download button */
106 | .masthead .btn {
107 | padding: 19px 24px;
108 | font-size: 24px;
109 | font-weight: 200;
110 | color: #fff; /* redeclare to override the `.jumbotron a` */
111 | border: 0;
112 | -webkit-border-radius: 6px;
113 | -moz-border-radius: 6px;
114 | border-radius: 6px;
115 | -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
116 | -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
117 | box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
118 | -webkit-transition: none;
119 | -moz-transition: none;
120 | transition: none;
121 | }
122 | .masthead .btn:hover {
123 | -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
124 | -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
125 | box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 5px rgba(0,0,0,.25);
126 | }
127 | .masthead .btn:active {
128 | -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
129 | -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
130 | box-shadow: inset 0 2px 4px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.1);
131 | }
132 |
133 |
134 | /* Pattern overlay
135 | ------------------------- */
136 | .jumbotron .container {
137 | position: relative;
138 | z-index: 2;
139 | }
140 | .jumbotron:after {
141 | content: '';
142 | display: block;
143 | position: absolute;
144 | top: 0;
145 | right: 0;
146 | bottom: 0;
147 | left: 0;
148 | background: url(../img/bs-docs-masthead-pattern.png) repeat center center;
149 | opacity: .4;
150 | }
151 | @media
152 | only screen and (-webkit-min-device-pixel-ratio: 2),
153 | only screen and ( min--moz-device-pixel-ratio: 2),
154 | only screen and ( -o-min-device-pixel-ratio: 2/1) {
155 |
156 | .jumbotron:after {
157 | background-size: 150px 150px;
158 | }
159 |
160 | }
161 |
162 | /* Masthead (docs home)
163 | ------------------------- */
164 | .masthead {
165 | padding: 70px 0 80px;
166 | margin-bottom: 0;
167 | color: #fff;
168 | }
169 | .masthead h1 {
170 | font-size: 120px;
171 | line-height: 1;
172 | letter-spacing: -2px;
173 | }
174 | .masthead p {
175 | font-size: 40px;
176 | font-weight: 200;
177 | line-height: 1.25;
178 | }
179 |
180 | /* Textual links in masthead */
181 | .masthead-links {
182 | margin: 0;
183 | list-style: none;
184 | }
185 | .masthead-links li {
186 | display: inline;
187 | padding: 0 10px;
188 | color: rgba(255,255,255,.25);
189 | }
190 |
191 | /* Social proof buttons from GitHub & Twitter */
192 | .bs-docs-social {
193 | padding: 15px 0;
194 | text-align: center;
195 | background-color: #f5f5f5;
196 | border-top: 1px solid #fff;
197 | border-bottom: 1px solid #ddd;
198 | }
199 |
200 | /* Quick links on Home */
201 | .bs-docs-social-buttons {
202 | margin-left: 0;
203 | margin-bottom: 0;
204 | padding-left: 0;
205 | list-style: none;
206 | }
207 | .bs-docs-social-buttons li {
208 | display: inline-block;
209 | padding: 5px 8px;
210 | line-height: 1;
211 | *display: inline;
212 | *zoom: 1;
213 | }
214 |
215 | /* Subhead (other pages)
216 | ------------------------- */
217 | .subhead {
218 | text-align: left;
219 | border-bottom: 1px solid #ddd;
220 | }
221 | .subhead h1 {
222 | font-size: 60px;
223 | }
224 | .subhead p {
225 | margin-bottom: 20px;
226 | }
227 | .subhead .navbar {
228 | display: none;
229 | }
230 |
231 |
232 |
233 | /* Marketing section of Overview
234 | -------------------------------------------------- */
235 |
236 | .marketing {
237 | text-align: center;
238 | color: #5a5a5a;
239 | }
240 | .marketing h1 {
241 | margin: 60px 0 10px;
242 | font-size: 60px;
243 | font-weight: 200;
244 | line-height: 1;
245 | letter-spacing: -1px;
246 | }
247 | .marketing h2 {
248 | font-weight: 200;
249 | margin-bottom: 5px;
250 | }
251 | .marketing p {
252 | font-size: 16px;
253 | line-height: 1.5;
254 | }
255 | .marketing .marketing-byline {
256 | margin-bottom: 40px;
257 | font-size: 20px;
258 | font-weight: 300;
259 | line-height: 1.25;
260 | color: #999;
261 | }
262 | .marketing-img {
263 | display: block;
264 | margin: 0 auto 30px;
265 | max-height: 145px;
266 | }
267 |
268 |
269 |
270 | /* Footer
271 | -------------------------------------------------- */
272 |
273 | .footer {
274 | text-align: center;
275 | padding: 30px 0;
276 | margin-top: 70px;
277 | border-top: 1px solid #e5e5e5;
278 | background-color: #f5f5f5;
279 | }
280 | .footer p {
281 | margin-bottom: 0;
282 | color: #777;
283 | }
284 | .footer-links {
285 | margin: 10px 0;
286 | }
287 | .footer-links li {
288 | display: inline;
289 | padding: 0 2px;
290 | }
291 | .footer-links li:first-child {
292 | padding-left: 0;
293 | }
294 |
295 | /* Bootstrap code examples
296 | -------------------------------------------------- */
297 |
298 | /* Base class */
299 | .bs-docs-example {
300 | position: relative;
301 | margin: 15px 0;
302 | padding: 39px 19px 14px;
303 | *padding-top: 19px;
304 | background-color: #fff;
305 | border: 1px solid #ddd;
306 | -webkit-border-radius: 4px;
307 | -moz-border-radius: 4px;
308 | border-radius: 4px;
309 | }
310 |
311 | /* Echo out a label for the example */
312 | .bs-docs-example:after {
313 | content: "Example";
314 | position: absolute;
315 | top: -1px;
316 | left: -1px;
317 | padding: 3px 7px;
318 | font-size: 12px;
319 | font-weight: bold;
320 | background-color: #f5f5f5;
321 | border: 1px solid #ddd;
322 | color: #9da0a4;
323 | -webkit-border-radius: 4px 0 4px 0;
324 | -moz-border-radius: 4px 0 4px 0;
325 | border-radius: 4px 0 4px 0;
326 | }
327 |
328 | /* Remove spacing between an example and it's code */
329 | .bs-docs-example + .prettyprint {
330 | margin-top: -20px;
331 | padding-top: 15px;
332 | }
333 |
334 | /* Tweak examples
335 | ------------------------- */
336 | .bs-docs-example > p:last-child {
337 | margin-bottom: 0;
338 | }
339 | .bs-docs-example .table,
340 | .bs-docs-example .progress,
341 | .bs-docs-example .well,
342 | .bs-docs-example .alert,
343 | .bs-docs-example .hero-unit,
344 | .bs-docs-example .pagination,
345 | .bs-docs-example .navbar,
346 | .bs-docs-example > .nav,
347 | .bs-docs-example blockquote {
348 | margin-bottom: 5px;
349 | }
350 | .bs-docs-example .pagination {
351 | margin-top: 0;
352 | }
353 | .bs-navbar-top-example,
354 | .bs-navbar-bottom-example {
355 | z-index: 1;
356 | padding: 0;
357 | height: 90px;
358 | overflow: hidden; /* cut the drop shadows off */
359 | }
360 | .bs-navbar-top-example .navbar-fixed-top,
361 | .bs-navbar-bottom-example .navbar-fixed-bottom {
362 | margin-left: 0;
363 | margin-right: 0;
364 | }
365 | .bs-navbar-top-example {
366 | -webkit-border-radius: 0 0 4px 4px;
367 | -moz-border-radius: 0 0 4px 4px;
368 | border-radius: 0 0 4px 4px;
369 | }
370 | .bs-navbar-top-example:after {
371 | top: auto;
372 | bottom: -1px;
373 | -webkit-border-radius: 0 4px 0 4px;
374 | -moz-border-radius: 0 4px 0 4px;
375 | border-radius: 0 4px 0 4px;
376 | }
377 | .bs-navbar-bottom-example {
378 | -webkit-border-radius: 4px 4px 0 0;
379 | -moz-border-radius: 4px 4px 0 0;
380 | border-radius: 4px 4px 0 0;
381 | }
382 | .bs-navbar-bottom-example .navbar {
383 | margin-bottom: 0;
384 | }
385 | form.bs-docs-example {
386 | padding-bottom: 19px;
387 | }
388 |
389 | /* Images */
390 | .bs-docs-example-images img {
391 | margin: 10px;
392 | display: inline-block;
393 | }
394 |
395 | /* Tooltips */
396 | .bs-docs-tooltip-examples {
397 | text-align: center;
398 | margin: 0 0 10px;
399 | list-style: none;
400 | }
401 | .bs-docs-tooltip-examples li {
402 | display: inline;
403 | padding: 0 10px;
404 | }
405 |
406 | /* Popovers */
407 | .bs-docs-example-popover {
408 | padding-bottom: 24px;
409 | background-color: #f9f9f9;
410 | }
411 | .bs-docs-example-popover .popover {
412 | position: relative;
413 | display: block;
414 | float: left;
415 | width: 260px;
416 | margin: 20px;
417 | }
418 |
419 | /* Dropdowns */
420 | .bs-docs-example-submenus {
421 | min-height: 180px;
422 | }
423 | .bs-docs-example-submenus > .pull-left + .pull-left {
424 | margin-left: 20px;
425 | }
426 | .bs-docs-example-submenus .dropup > .dropdown-menu,
427 | .bs-docs-example-submenus .dropdown > .dropdown-menu {
428 | display: block;
429 | position: static;
430 | margin-bottom: 5px;
431 | *width: 180px;
432 | }
433 |
434 | /* Sidenav for Docs
435 | -------------------------------------------------- */
436 |
437 | .bs-docs-sidenav {
438 | width: 228px;
439 | margin: 30px 0 0;
440 | padding: 0;
441 | background-color: #fff;
442 | -webkit-border-radius: 6px;
443 | -moz-border-radius: 6px;
444 | border-radius: 6px;
445 | -webkit-box-shadow: 0 1px 4px rgba(0,0,0,.065);
446 | -moz-box-shadow: 0 1px 4px rgba(0,0,0,.065);
447 | box-shadow: 0 1px 4px rgba(0,0,0,.065);
448 | }
449 | .bs-docs-sidenav > li > a {
450 | display: block;
451 | width: 190px \9;
452 | margin: 0 0 -1px;
453 | padding: 8px 14px;
454 | border: 1px solid #e5e5e5;
455 | }
456 | .bs-docs-sidenav > li:first-child > a {
457 | -webkit-border-radius: 6px 6px 0 0;
458 | -moz-border-radius: 6px 6px 0 0;
459 | border-radius: 6px 6px 0 0;
460 | }
461 | .bs-docs-sidenav > li:last-child > a {
462 | -webkit-border-radius: 0 0 6px 6px;
463 | -moz-border-radius: 0 0 6px 6px;
464 | border-radius: 0 0 6px 6px;
465 | }
466 | .bs-docs-sidenav > li.active > a {
467 | background: #B24926; /* Old browsers */
468 | background: -moz-linear-gradient(45deg, #B24926 0%, #FAA523 100%); /* FF3.6+ */
469 | background: -webkit-gradient(linear, left bottom, right top, color-stop(0%,#B24926), color-stop(100%,#FAA523)); /* Chrome,Safari4+ */
470 | background: -webkit-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Chrome10+,Safari5.1+ */
471 | background: -o-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* Opera 11.10+ */
472 | background: -ms-linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* IE10+ */
473 | background: linear-gradient(45deg, #B24926 0%,#FAA523 100%); /* W3C */
474 | filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#B24926', endColorstr='#FAA523',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
475 | position: relative;
476 | z-index: 2;
477 | padding: 9px 15px;
478 | border: 0;
479 | text-shadow: 0 1px 0 rgba(0,0,0,.15);
480 | -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
481 | -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
482 | box-shadow: inset 1px 0 0 rgba(0,0,0,.1), inset -1px 0 0 rgba(0,0,0,.1);
483 | }
484 | /* Chevrons */
485 | .bs-docs-sidenav .icon-chevron-right {
486 | float: right;
487 | margin-top: 2px;
488 | margin-right: -6px;
489 | opacity: .25;
490 | }
491 | .bs-docs-sidenav > li > a:hover {
492 | background-color: #f5f5f5;
493 | }
494 | .bs-docs-sidenav a:hover .icon-chevron-right {
495 | opacity: .5;
496 | }
497 | .bs-docs-sidenav .active .icon-chevron-right,
498 | .bs-docs-sidenav .active a:hover .icon-chevron-right {
499 | opacity: 1;
500 | }
501 | .bs-docs-sidenav.affix {
502 | top: 40px;
503 | }
504 | .bs-docs-sidenav.affix-bottom {
505 | position: absolute;
506 | top: auto;
507 | bottom: 270px;
508 | }
509 | /* Desktop
510 | ------------------------- */
511 | @media (max-width: 980px) {
512 | /* Unfloat brand */
513 | body > .navbar-fixed-top .brand {
514 | float: left;
515 | margin-left: 0;
516 | padding-left: 10px;
517 | padding-right: 10px;
518 | }
519 |
520 | /* Inline-block quick links for more spacing */
521 | .quick-links li {
522 | display: inline-block;
523 | margin: 5px;
524 | }
525 |
526 | /* When affixed, space properly */
527 | .bs-docs-sidenav {
528 | top: 0;
529 | width: 218px;
530 | margin-top: 30px;
531 | margin-right: 0;
532 | }
533 | }
534 |
535 | /* Tablet to desktop
536 | ------------------------- */
537 | @media (min-width: 768px) and (max-width: 979px) {
538 | /* Remove any padding from the body */
539 | body {
540 | padding-top: 0;
541 | }
542 | /* Widen masthead and social buttons to fill body padding */
543 | .jumbotron {
544 | margin-top: -20px; /* Offset bottom margin on .navbar */
545 | }
546 | /* Adjust sidenav width */
547 | .bs-docs-sidenav {
548 | width: 166px;
549 | margin-top: 20px;
550 | }
551 | .bs-docs-sidenav.affix {
552 | top: 0;
553 | }
554 | }
555 |
556 | /* Tablet
557 | ------------------------- */
558 | @media (max-width: 767px) {
559 | /* Remove any padding from the body */
560 | body {
561 | padding-top: 0;
562 | }
563 |
564 | /* Widen masthead and social buttons to fill body padding */
565 | .jumbotron {
566 | padding: 40px 20px;
567 | margin-top: -20px; /* Offset bottom margin on .navbar */
568 | margin-right: -20px;
569 | margin-left: -20px;
570 | }
571 | .masthead h1 {
572 | font-size: 90px;
573 | }
574 | .masthead p,
575 | .masthead .btn {
576 | font-size: 24px;
577 | }
578 | .marketing .span4 {
579 | margin-bottom: 40px;
580 | }
581 | .bs-docs-social {
582 | margin: 0 -20px;
583 | }
584 |
585 | /* Space out the show-grid examples */
586 | .show-grid [class*="span"] {
587 | margin-bottom: 5px;
588 | }
589 |
590 | /* Sidenav */
591 | .bs-docs-sidenav {
592 | width: auto;
593 | margin-bottom: 20px;
594 | }
595 | .bs-docs-sidenav.affix {
596 | position: static;
597 | width: auto;
598 | top: 0;
599 | }
600 |
601 | /* Unfloat the back to top link in footer */
602 | .footer {
603 | margin-left: -20px;
604 | margin-right: -20px;
605 | padding-left: 20px;
606 | padding-right: 20px;
607 | }
608 | .footer p {
609 | margin-bottom: 9px;
610 | }
611 | }
612 |
613 | /* Landscape phones
614 | ------------------------- */
615 | @media (max-width: 480px) {
616 | /* Remove padding above jumbotron */
617 | body {
618 | padding-top: 0;
619 | }
620 |
621 | /* Change up some type stuff */
622 | h2 small {
623 | display: block;
624 | }
625 |
626 | /* Downsize the jumbotrons */
627 | .jumbotron h1 {
628 | font-size: 45px;
629 | }
630 | .jumbotron p,
631 | .jumbotron .btn {
632 | font-size: 18px;
633 | }
634 | .jumbotron .btn {
635 | display: block;
636 | margin: 0 auto;
637 | }
638 |
639 | /* center align subhead text like the masthead */
640 | .subhead h1,
641 | .subhead p {
642 | text-align: center;
643 | }
644 |
645 | /* Marketing on home */
646 | .marketing h1 {
647 | font-size: 30px;
648 | }
649 | .marketing-byline {
650 | font-size: 18px;
651 | }
652 |
653 | /* Do our best to make tables work in narrow viewports */
654 | table code {
655 | white-space: normal;
656 | word-wrap: break-word;
657 | word-break: break-all;
658 | }
659 |
660 | /* Examples: dropdowns */
661 | .bs-docs-example-submenus > .pull-left {
662 | float: none;
663 | clear: both;
664 | }
665 | .bs-docs-example-submenus > .pull-left,
666 | .bs-docs-example-submenus > .pull-left + .pull-left {
667 | margin-left: 0;
668 | }
669 | .bs-docs-example-submenus p {
670 | margin-bottom: 0;
671 | }
672 | .bs-docs-example-submenus .dropup > .dropdown-menu,
673 | .bs-docs-example-submenus .dropdown > .dropdown-menu {
674 | margin-bottom: 10px;
675 | float: none;
676 | max-width: 180px;
677 | }
678 |
679 | /* Tighten up footer */
680 | .footer {
681 | padding-top: 20px;
682 | padding-bottom: 20px;
683 | }
684 | }
685 |
686 | #twitter-share{
687 | padding-top:5px;
688 | }
689 | .docs-lead{margin-bottom:20px;font-size:15px;font-weight:200;line-height:30px;}
690 |
691 | /* Download */
692 | .download-btn:hover{
693 | text-decoration: none;
694 | color: #333333;
695 | }
696 | .download-btn.ui-button-primary:hover{
697 | color: #FFFFFF;
698 | }
699 | /* Accordion */
700 | #menu-collapse{
701 | margin-bottom:20px;
702 | }
703 | /*Dialog*/
704 | #dialog_link,#modal_link {
705 | padding: .4em 1em .4em 20px;
706 | text-decoration: none;
707 | position: relative;
708 | }
709 |
710 | #dialog_link span.ui-icon, #modal_link span.ui-icon {
711 | margin: 0 5px 0 0;
712 | position: absolute;
713 | left: .2em;
714 | top: 50%;
715 | margin-top: -8px;
716 | }
717 |
718 | ul#icons {
719 | margin: 0;
720 | padding: 0;
721 | }
722 |
723 | ul#icons li {
724 | margin: 2px;
725 | position: relative;
726 | padding: 4px 0;
727 | cursor: pointer;
728 | float: left;
729 | list-style: none;
730 | }
731 |
732 | ul#icons span.ui-icon {
733 | float: left;
734 | margin: 0 4px;
735 | }
736 |
737 | #buttons button {
738 | float: left;
739 | margin-right: 4px;
740 | }
741 | .dialog-button{
742 | margin-bottom: 20px;
743 | }
744 | /*Tabs*/
745 | #tabs2 li .ui-icon-close {
746 | float: left;
747 | margin: 0.4em 0.2em 0 0;
748 | cursor: pointer;
749 | }
750 |
751 | #add_tab {
752 | cursor: pointer;
753 | }
754 |
755 | /*shadow*/
756 | .window-contain{
757 | position: relative;
758 | height: 200px;
759 | padding:1% 4%;
760 | overflow:hidden;
761 | }
762 |
763 | /*Toolbar*/
764 | #toolbar {
765 | padding: 5px 0 5px 5px;
766 | }
767 | /*
768 | * Bug chrome with toolbar and bootstrap inheritance
769 | */
770 | @media screen and (-webkit-min-device-pixel-ratio:0) {
771 | #toolbar input{display:block;float:left;}
772 | }
773 | /*Datepicker*/
774 | #datepicker{
775 | margin-bottom: 20px;
776 | }
777 | /*slider*/
778 | #amount{
779 | color:#f6931f;
780 | font-weight:bold;
781 | }
782 | #h-slider,#v-slider{
783 | margin-bottom: 20px;
784 | }
785 | /*Autocomplete*/
786 | #tags{
787 | margin-bottom: 20px;
788 | }
789 |
790 | /**
791 | * fix bug position button customfile
792 | */
793 | .input-append.customfile, .input-prepend {
794 | font-size: 0;
795 | margin-bottom: 5px;
796 | white-space: normal;
797 | }
798 | .input-append.customfile .add-on{
799 | height:20px;
800 | font-size:14px;
801 | line-height:18px;
802 | min-width: 70px;
803 | }
804 | /* Wijmo */
805 | #wijmo-container{
806 | margin-bottom: 20px;
807 | }
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/font-awesome.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome 3.0.2
3 | * the iconic font designed for use with Twitter Bootstrap
4 | * -------------------------------------------------------
5 | * The full suite of pictographic icons, examples, and documentation
6 | * can be found at: http://fortawesome.github.com/Font-Awesome/
7 | *
8 | * License
9 | * -------------------------------------------------------
10 | * - The Font Awesome font is licensed under the SIL Open Font License - http://scripts.sil.org/OFL
11 | * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
12 | * http://opensource.org/licenses/mit-license.html
13 | * - The Font Awesome pictograms are licensed under the CC BY 3.0 License - http://creativecommons.org/licenses/by/3.0/
14 | * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
15 | * "Font Awesome by Dave Gandy - http://fortawesome.github.com/Font-Awesome"
16 |
17 | * Contact
18 | * -------------------------------------------------------
19 | * Email: dave@davegandy.com
20 | * Twitter: http://twitter.com/fortaweso_me
21 | * Work: Lead Product Designer @ http://kyruus.com
22 | */
23 |
24 | @font-face{
25 | font-family:'FontAwesome';
26 | src:url('font/fontawesome-webfont.eot?v=3.0.1');
27 | src:url('font/fontawesome-webfont.eot?#iefix&v=3.0.1') format('embedded-opentype'),
28 | url('font/fontawesome-webfont.woff?v=3.0.1') format('woff'),
29 | url('font/fontawesome-webfont.ttf?v=3.0.1') format('truetype');
30 | font-weight:normal;
31 | font-style:normal }
32 |
33 | [class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}a [class^="icon-"],a [class*=" icon-"]{display:inline-block}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}.btn [class^="icon-"],.nav [class^="icon-"],.btn [class*=" icon-"],.nav [class*=" icon-"]{display:inline}.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}li [class^="icon-"],.nav li [class^="icon-"],li [class*=" icon-"],.nav li [class*=" icon-"]{display:inline-block;width:1.25em;text-align:center}li [class^="icon-"].icon-large,.nav li [class^="icon-"].icon-large,li [class*=" icon-"].icon-large,.nav li [class*=" icon-"].icon-large{width:1.5625em}ul.icons{list-style-type:none;text-indent:-0.75em}ul.icons li [class^="icon-"],ul.icons li [class*=" icon-"]{width:.75em}.icon-muted{color:#eee}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-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)}}@-moz-document url-prefix(){.icon-spin{height:.9em}.btn .icon-spin{height:auto}.icon-spin.icon-large{height:1.25em}.btn .icon-spin.icon-large{height:.75em}}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-repeat:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-share-alt:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope-alt:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-undo:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-reply:before{content:"\f112"}.icon-github-alt:before{content:"\f113"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings-white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings-white.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/glyphicons-halflings.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_18_b81900_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_18_b81900_40x40.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_20_666666_40x40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_diagonals-thick_20_666666_40x40.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_flat_10_000000_40x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_flat_10_000000_40x100.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_f6f6f6_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_f6f6f6_1x400.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_fdf5ce_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_100_fdf5ce_1x400.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_65_ffffff_1x400.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_glass_65_ffffff_1x400.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_gloss-wave_35_f6a828_500x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_gloss-wave_35_f6a828_500x100.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_100_eeeeee_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_75_ffe45c_1x100.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-bg_highlight-soft_75_ffe45c_1x100.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_222222_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_222222_256x240.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_228ef1_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_228ef1_256x240.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ef8c08_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ef8c08_256x240.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffd27a_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffd27a_256x240.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffffff_256x240.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/classes/com/bpodgursky/nlpviz/www/resources/images/ui-icons_ffffff_256x240.png
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/jquery.form.min.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery Form Plugin; v20130731
3 | * http://jquery.malsup.com/form/
4 | * Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL
5 | * https://github.com/malsup/form#copyright-and-license
6 | */
7 | ;(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=this;if(i.clk=r,"image"==r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n={};n.fileapi=void 0!==e("").get(0).files,n.formdata=void 0!==window.FormData;var i=!!e.fn.prop;e.fn.attr2=function(){if(!i)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){function r(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/\+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function o(a){for(var n=new FormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){var o=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;var s=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;var l=s.beforeSend;return s.beforeSend=function(e,t){t.data=n,l&&l.call(this,e,t)},e.ajax(s)}function s(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function o(){function t(){try{var e=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(D),j&&clearTimeout(j),j=void 0}}var r=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",d),u||w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(k)},m.timeout));var o=[];try{if(m.extraData)for(var l in m.extraData)m.extraData.hasOwnProperty(l)&&(e.isPlainObject(m.extraData[l])&&m.extraData[l].hasOwnProperty("name")&&m.extraData[l].hasOwnProperty("value")?o.push(e('').val(m.extraData[l].value).appendTo(w)[0]):o.push(e('').val(m.extraData[l]).appendTo(w)[0]));m.iframeTarget||(v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1)),setTimeout(t,15);try{w.submit()}catch(c){var p=document.createElement("form").submit;p.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}function s(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=D),t===k&&x)return x.abort("timeout"),S.reject(x,"timeout"),void 0;if(t==D&&x)return x.abort("server abort"),S.reject(x,"error","server abort"),void 0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)return a("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var u=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){var t={"content-type":m.dataType};return t[e]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var l=(m.dataType||"").toLowerCase(),c=/(json|script|text)/.test(l);if(c||m.textarea){var f=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;else if(c){var d=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];d?x.responseText=d.textContent?d.textContent:d.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==l&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{E=_(x,l,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,E,"success",x),S.resolve(x.responseText,"success",x),p&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void 0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),p&&e.event.trigger("ajaxError",[x,m,r])),p&&e.event.trigger("ajaxComplete",[x,m]),p&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget||v.remove(),x.responseXML=null},100)}}}var l,c,m,p,d,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(S.abort=function(e){x.abort(e)},r)for(c=0;h.length>c;c++)l=e(h[c]),i?l.prop("disabled",!1):l.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,d="jqFormIO"+(new Date).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?d=y:v.attr2("name",d)):(v=e(''),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),p&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},p=m.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)return m.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));var k=1,D=2,A=e("meta[name=csrf-token]").attr("content"),L=e("meta[name=csrf-param]").attr("content");L&&A&&(m.extraData=m.extraData||{},m.extraData[L]=A),m.forceSync?o():setTimeout(o,10);var E,M,F,O=50,X=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){return window.eval("("+e+")")},_=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var u,l,c,f=this;"function"==typeof t?t={success:t}:void 0===t&&(t={}),u=t.type||this.attr2("method"),l=t.url||this.attr2("action"),c="string"==typeof l?e.trim(l):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:u||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var p=t.traditional;void 0===p&&(p=e.ajaxSettings.traditional);var d,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,d=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(v,p);d&&(g=g?g+"&"+d:d),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var x=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};x.push(function(r){var a=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}else t.success&&x.push(t.success);if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){var y=t.error;t.error=function(e,r,a){var n=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){var T=t.complete;t.complete=function(e,r){var a=t.context||this;T.apply(a,[e,r,f])}}var j=e('input[type=file]:enabled:not([value=""])',this),w=j.length>0,S="multipart/form-data",k=f.attr("enctype")==S||f.attr("encoding")==S,D=n.fileapi&&n.formdata;a("fileAPI :"+D);var A,L=(w||k)&&!D;t.iframe!==!1&&(t.iframe||L)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||k)&&D?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(var E=0;h.length>E;E++)h[E]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){var a=[];if(0===this.length)return a;var i=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)return a;var s,u,l,c,f,m,p;for(s=0,m=o.length;m>s;s++)if(f=o[s],l=f.name,l&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:l,value:e(f).val(),type:f.type}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}));else if(c=e.fieldValue(f,!0),c&&c.constructor==Array)for(r&&r.push(f),u=0,p=c.length;p>u;u++)a.push({name:l,value:c[u]});else if(n.fileapi&&"file"==f.type){r&&r.push(f);var d=f.files;if(d.length)for(u=0;d.length>u;u++)a.push({name:l,value:d[u],type:f.type});else a.push({name:l,value:"",type:f.type})}else null!==c&&c!==void 0&&(r&&r.push(f),a.push({name:l,value:c,type:f.type,required:f.required}));if(!t&&i.clk){var h=e(i.clk),v=h[0];l=v.name,l&&!v.disabled&&"image"==v.type&&(a.push({name:l,value:h.val()}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}))}return a},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor==Array)for(var i=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});else null!==n&&n!==void 0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;n>a;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,n=t.type,i=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))return null;if("select"==i){var o=t.selectedIndex;if(0>o)return null;for(var s=[],u=t.options,l="select-one"==n,c=l?o+1:u.length,f=l?o:0;c>f;f++){var m=u[f];if(m.selected){var p=m.value;if(p||(p=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),l)return p;s.push(p)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"==r||"radio"==r)this.checked=t;else if("option"==this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})("undefined"!=typeof jQuery?jQuery:window.Zepto);
--------------------------------------------------------------------------------
/target/classes/com/bpodgursky/nlpviz/www/resources/purl.js:
--------------------------------------------------------------------------------
1 | /*
2 | * Purl (A JavaScript URL parser) v2.3.1
3 | * Developed and maintanined by Mark Perkins, mark@allmarkedup.com
4 | * Source repository: https://github.com/allmarkedup/jQuery-URL-Parser
5 | * Licensed under an MIT-style license. See https://github.com/allmarkedup/jQuery-URL-Parser/blob/master/LICENSE for details.
6 | */
7 |
8 | ;(function(factory) {
9 | if (typeof define === 'function' && define.amd) {
10 | define(factory);
11 | } else {
12 | window.purl = factory();
13 | }
14 | })(function() {
15 |
16 | var tag2attr = {
17 | a : 'href',
18 | img : 'src',
19 | form : 'action',
20 | base : 'href',
21 | script : 'src',
22 | iframe : 'src',
23 | link : 'href'
24 | },
25 |
26 | key = ['source', 'protocol', 'authority', 'userInfo', 'user', 'password', 'host', 'port', 'relative', 'path', 'directory', 'file', 'query', 'fragment'], // keys available to query
27 |
28 | aliases = { 'anchor' : 'fragment' }, // aliases for backwards compatability
29 |
30 | parser = {
31 | strict : /^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/, //less intuitive, more accurate to the specs
32 | loose : /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/ // more intuitive, fails on relative paths and deviates from specs
33 | },
34 |
35 | isint = /^[0-9]+$/;
36 |
37 | function parseUri( url, strictMode ) {
38 | var str = decodeURI( url ),
39 | res = parser[ strictMode || false ? 'strict' : 'loose' ].exec( str ),
40 | uri = { attr : {}, param : {}, seg : {} },
41 | i = 14;
42 |
43 | while ( i-- ) {
44 | uri.attr[ key[i] ] = res[i] || '';
45 | }
46 |
47 | // build query and fragment parameters
48 | uri.param['query'] = parseString(uri.attr['query']);
49 | uri.param['fragment'] = parseString(uri.attr['fragment']);
50 |
51 | // split path and fragement into segments
52 | uri.seg['path'] = uri.attr.path.replace(/^\/+|\/+$/g,'').split('/');
53 | uri.seg['fragment'] = uri.attr.fragment.replace(/^\/+|\/+$/g,'').split('/');
54 |
55 | // compile a 'base' domain attribute
56 | uri.attr['base'] = uri.attr.host ? (uri.attr.protocol ? uri.attr.protocol+'://'+uri.attr.host : uri.attr.host) + (uri.attr.port ? ':'+uri.attr.port : '') : '';
57 |
58 | return uri;
59 | }
60 |
61 | function getAttrName( elm ) {
62 | var tn = elm.tagName;
63 | if ( typeof tn !== 'undefined' ) return tag2attr[tn.toLowerCase()];
64 | return tn;
65 | }
66 |
67 | function promote(parent, key) {
68 | if (parent[key].length === 0) return parent[key] = {};
69 | var t = {};
70 | for (var i in parent[key]) t[i] = parent[key][i];
71 | parent[key] = t;
72 | return t;
73 | }
74 |
75 | function parse(parts, parent, key, val) {
76 | var part = parts.shift();
77 | if (!part) {
78 | if (isArray(parent[key])) {
79 | parent[key].push(val);
80 | } else if ('object' == typeof parent[key]) {
81 | parent[key] = val;
82 | } else if ('undefined' == typeof parent[key]) {
83 | parent[key] = val;
84 | } else {
85 | parent[key] = [parent[key], val];
86 | }
87 | } else {
88 | var obj = parent[key] = parent[key] || [];
89 | if (']' == part) {
90 | if (isArray(obj)) {
91 | if ('' !== val) obj.push(val);
92 | } else if ('object' == typeof obj) {
93 | obj[keys(obj).length] = val;
94 | } else {
95 | obj = parent[key] = [parent[key], val];
96 | }
97 | } else if (~part.indexOf(']')) {
98 | part = part.substr(0, part.length - 1);
99 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key);
100 | parse(parts, obj, part, val);
101 | // key
102 | } else {
103 | if (!isint.test(part) && isArray(obj)) obj = promote(parent, key);
104 | parse(parts, obj, part, val);
105 | }
106 | }
107 | }
108 |
109 | function merge(parent, key, val) {
110 | if (~key.indexOf(']')) {
111 | var parts = key.split('[');
112 | parse(parts, parent, 'base', val);
113 | } else {
114 | if (!isint.test(key) && isArray(parent.base)) {
115 | var t = {};
116 | for (var k in parent.base) t[k] = parent.base[k];
117 | parent.base = t;
118 | }
119 | if (key !== '') {
120 | set(parent.base, key, val);
121 | }
122 | }
123 | return parent;
124 | }
125 |
126 | function parseString(str) {
127 | return reduce(String(str).split(/&|;/), function(ret, pair) {
128 | try {
129 | pair = decodeURIComponent(pair.replace(/\+/g, ' '));
130 | } catch(e) {
131 | // ignore
132 | }
133 | var eql = pair.indexOf('='),
134 | brace = lastBraceInKey(pair),
135 | key = pair.substr(0, brace || eql),
136 | val = pair.substr(brace || eql, pair.length);
137 |
138 | val = val.substr(val.indexOf('=') + 1, val.length);
139 |
140 | if (key === '') {
141 | key = pair;
142 | val = '';
143 | }
144 |
145 | return merge(ret, key, val);
146 | }, { base: {} }).base;
147 | }
148 |
149 | function set(obj, key, val) {
150 | var v = obj[key];
151 | if (typeof v === 'undefined') {
152 | obj[key] = val;
153 | } else if (isArray(v)) {
154 | v.push(val);
155 | } else {
156 | obj[key] = [v, val];
157 | }
158 | }
159 |
160 | function lastBraceInKey(str) {
161 | var len = str.length,
162 | brace,
163 | c;
164 | for (var i = 0; i < len; ++i) {
165 | c = str[i];
166 | if (']' == c) brace = false;
167 | if ('[' == c) brace = true;
168 | if ('=' == c && !brace) return i;
169 | }
170 | }
171 |
172 | function reduce(obj, accumulator){
173 | var i = 0,
174 | l = obj.length >> 0,
175 | curr = arguments[2];
176 | while (i < l) {
177 | if (i in obj) curr = accumulator.call(undefined, curr, obj[i], i, obj);
178 | ++i;
179 | }
180 | return curr;
181 | }
182 |
183 | function isArray(vArg) {
184 | return Object.prototype.toString.call(vArg) === "[object Array]";
185 | }
186 |
187 | function keys(obj) {
188 | var key_array = [];
189 | for ( var prop in obj ) {
190 | if ( obj.hasOwnProperty(prop) ) key_array.push(prop);
191 | }
192 | return key_array;
193 | }
194 |
195 | function purl( url, strictMode ) {
196 | if ( arguments.length === 1 && url === true ) {
197 | strictMode = true;
198 | url = undefined;
199 | }
200 | strictMode = strictMode || false;
201 | url = url || window.location.toString();
202 |
203 | return {
204 |
205 | data : parseUri(url, strictMode),
206 |
207 | // get various attributes from the URI
208 | attr : function( attr ) {
209 | attr = aliases[attr] || attr;
210 | return typeof attr !== 'undefined' ? this.data.attr[attr] : this.data.attr;
211 | },
212 |
213 | // return query string parameters
214 | param : function( param ) {
215 | return typeof param !== 'undefined' ? this.data.param.query[param] : this.data.param.query;
216 | },
217 |
218 | // return fragment parameters
219 | fparam : function( param ) {
220 | return typeof param !== 'undefined' ? this.data.param.fragment[param] : this.data.param.fragment;
221 | },
222 |
223 | // return path segments
224 | segment : function( seg ) {
225 | if ( typeof seg === 'undefined' ) {
226 | return this.data.seg.path;
227 | } else {
228 | seg = seg < 0 ? this.data.seg.path.length + seg : seg - 1; // negative segments count from the end
229 | return this.data.seg.path[seg];
230 | }
231 | },
232 |
233 | // return fragment segments
234 | fsegment : function( seg ) {
235 | if ( typeof seg === 'undefined' ) {
236 | return this.data.seg.fragment;
237 | } else {
238 | seg = seg < 0 ? this.data.seg.fragment.length + seg : seg - 1; // negative segments count from the end
239 | return this.data.seg.fragment[seg];
240 | }
241 | }
242 |
243 | };
244 |
245 | }
246 |
247 | purl.jQuery = function($){
248 | if ($ != null) {
249 | $.fn.url = function( strictMode ) {
250 | var url = '';
251 | if ( this.length ) {
252 | url = $(this).attr( getAttrName(this[0]) ) || '';
253 | }
254 | return purl( url, strictMode );
255 | };
256 |
257 | $.url = purl;
258 | }
259 | };
260 |
261 | purl.jQuery(window.jQuery);
262 |
263 | return purl;
264 |
265 | });
266 |
--------------------------------------------------------------------------------
/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jsguru-git/NLP-Parse-Visualization/01ef26fefa1ee1a7744eb65aef0e3e9863012e15/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
--------------------------------------------------------------------------------
/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst:
--------------------------------------------------------------------------------
1 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/servlet/HomeServlet.java
2 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/AbstractParser.java
3 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/api/WebServer.java
4 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/servlet/ParseServlet.java
5 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/EnglishParser.java
6 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/SpanishParser.java
7 | /home/bluesky/BlueSky/work/nlpviz/src/main/java/com/bpodgursky/nlpviz/scripts/StanfordCoreNLPTest.java
8 |
--------------------------------------------------------------------------------