From 6b251ec7a815fdba3de8c56de707023b8772d60a Mon Sep 17 00:00:00 2001
From: Remco <remco@dutchcoders.io>
Date: Thu, 13 Nov 2014 21:41:43 +0100
Subject: [PATCH] docker, previews, tor, bugfixes

* implemented docker
* added previews (markdown, html, text, video, audio)
* added tor support
* several bugfixes
---
 .dockerignore                                      |   16 +
 .ebextensions/01config_nginx.config                |    6 +
 .gitignore                                         |    1 +
 Dockerfile                                         |   18 +
 Gruntfile.js                                       |   36 +-
 README.md                                          |   10 +
 package.json                                       |    2 +
 transfersh-server/Dockerfile                       |   18 -
 transfersh-server/handlers.go                      |  146 ++-
 transfersh-server/main.go                          |   38 +-
 transfersh-server/static/404.html                  |    2 +-
 transfersh-server/static/download.audio.html       |  132 ++
 transfersh-server/static/download.code.html        |  134 ++
 transfersh-server/static/download.html             |  116 ++
 transfersh-server/static/download.image.html       |  126 ++
 transfersh-server/static/download.markdown.html    |  124 ++
 transfersh-server/static/download.video.html       |  129 ++
 transfersh-server/static/images/bitcoin.png        |  Bin 0 -> 6157 bytes
 transfersh-server/static/images/terminal-top.svg   |   10 +-
 transfersh-server/static/images/tor.svg            |    6 +
 .../static/includes/download-bottom.html           |    5 +
 .../static/includes/download-btn.html              |   10 +
 .../static/includes/download-top.html              |    6 +
 transfersh-server/static/includes/footer.html      |   36 +
 transfersh-server/static/includes/ga.html          |   15 +
 transfersh-server/static/includes/head.html        |   12 +
 transfersh-server/static/includes/js.html          |    2 +
 transfersh-server/static/includes/navigation.html  |   15 +
 transfersh-server/static/index.html                |  226 ++--
 transfersh-server/static/scripts/main.js           |    6 +-
 transfersh-server/static/styles/main.css           |    2 +-
 transfersh-server/storage.go                       |   48 +-
 transfersh-server/utils.go                         |  172 +++
 transfersh-web/download.audio.html                 |   47 +
 transfersh-web/download.code.html                  |  143 +++
 transfersh-web/download.html                       |   31 +
 transfersh-web/download.image.html                 |   41 +
 transfersh-web/download.markdown.html              |   39 +
 transfersh-web/download.video.html                 |   44 +
 transfersh-web/images/bitcoin.png                  |  Bin 0 -> 8772 bytes
 transfersh-web/images/terminal-top.svg             |   10 +-
 transfersh-web/images/tor.svg                      |    6 +
 transfersh-web/includes/download-bottom.html       |    5 +
 transfersh-web/includes/download-btn.html          |   10 +
 transfersh-web/includes/download-top.html          |    6 +
 transfersh-web/includes/footer.html                |   36 +
 transfersh-web/includes/ga.html                    |   15 +
 transfersh-web/includes/head.html                  |   14 +
 transfersh-web/includes/js.html                    |    9 +
 transfersh-web/includes/navigation.html            |   15 +
 transfersh-web/index.html                          |  146 +--
 transfersh-web/scripts/clipboard.js                |   61 +
 transfersh-web/scripts/main.js                     |   94 +-
 transfersh-web/scripts/showdown.js                 | 1296 ++++++++++++++++++++
 transfersh-web/scripts/typewriter-bundle.min.js    |    1 -
 transfersh-web/styles/bootstrap.less               |    6 +-
 transfersh-web/styles/includes/global.less         |   14 +-
 transfersh-web/styles/includes/home.less           |   12 +-
 transfersh-web/styles/includes/pages.less          |   22 +-
 transfersh-web/styles/includes/preview.less        |  200 +++
 transfersh-web/styles/includes/reviews.less        |   30 +-
 transfersh-web/styles/main.css                     |  763 +++++++++++-
 transfersh-web/styles/main.css.map                 |    2 +-
 transfersh-web/styles/main.less                    |    1 +
 64 files changed, 4419 insertions(+), 325 deletions(-)
 create mode 100644 .dockerignore
 create mode 100644 .ebextensions/01config_nginx.config
 create mode 100644 Dockerfile
 delete mode 100644 transfersh-server/Dockerfile
 create mode 100644 transfersh-server/static/download.audio.html
 create mode 100644 transfersh-server/static/download.code.html
 create mode 100644 transfersh-server/static/download.html
 create mode 100644 transfersh-server/static/download.image.html
 create mode 100644 transfersh-server/static/download.markdown.html
 create mode 100644 transfersh-server/static/download.video.html
 create mode 100644 transfersh-server/static/images/bitcoin.png
 create mode 100644 transfersh-server/static/images/tor.svg
 create mode 100644 transfersh-server/static/includes/download-bottom.html
 create mode 100644 transfersh-server/static/includes/download-btn.html
 create mode 100644 transfersh-server/static/includes/download-top.html
 create mode 100644 transfersh-server/static/includes/footer.html
 create mode 100644 transfersh-server/static/includes/ga.html
 create mode 100644 transfersh-server/static/includes/head.html
 create mode 100644 transfersh-server/static/includes/js.html
 create mode 100644 transfersh-server/static/includes/navigation.html
 create mode 100644 transfersh-web/download.audio.html
 create mode 100644 transfersh-web/download.code.html
 create mode 100644 transfersh-web/download.html
 create mode 100644 transfersh-web/download.image.html
 create mode 100644 transfersh-web/download.markdown.html
 create mode 100644 transfersh-web/download.video.html
 create mode 100644 transfersh-web/images/bitcoin.png
 create mode 100644 transfersh-web/images/tor.svg
 create mode 100644 transfersh-web/includes/download-bottom.html
 create mode 100644 transfersh-web/includes/download-btn.html
 create mode 100644 transfersh-web/includes/download-top.html
 create mode 100644 transfersh-web/includes/footer.html
 create mode 100644 transfersh-web/includes/ga.html
 create mode 100644 transfersh-web/includes/head.html
 create mode 100644 transfersh-web/includes/js.html
 create mode 100644 transfersh-web/includes/navigation.html
 create mode 100644 transfersh-web/scripts/clipboard.js
 create mode 100644 transfersh-web/scripts/showdown.js
 delete mode 100644 transfersh-web/scripts/typewriter-bundle.min.js
 create mode 100644 transfersh-web/styles/includes/preview.less

diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 0000000..30ea494
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,16 @@
+build
+pkg
+dist
+src
+bin
+*.pyc
+*.egg-info
+.vagrant
+.git
+.tmp
+bower_components
+node_modules
+extras
+build
+transfersh-server/run.sh
+.elasticbeanstalk
diff --git a/.ebextensions/01config_nginx.config b/.ebextensions/01config_nginx.config
new file mode 100644
index 0000000..5b2b9cf
--- /dev/null
+++ b/.ebextensions/01config_nginx.config
@@ -0,0 +1,6 @@
+files:
+  "/etc/nginx/conf.d/client_max_body_size.conf":
+    mode: "000644"
+    owner: root
+    group: root
+    content: "client_max_body_size 0;"
diff --git a/.gitignore b/.gitignore
index 15ce9b5..f8201fb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -13,3 +13,4 @@ bower_components/
 node_modules/
 
 transfersh-server/run.sh
+.elasticbeanstalk/
diff --git a/Dockerfile b/Dockerfile
new file mode 100644
index 0000000..01da0cc
--- /dev/null
+++ b/Dockerfile
@@ -0,0 +1,18 @@
+FROM golang
+MAINTAINER Remco Verhoef <remco@dutchcoders.io>
+
+RUN mkdir -p /go/src/app
+WORKDIR /go/src/app
+
+# Copy the local package files to the container's workspace.
+ADD ./transfersh-server /go/src/app
+
+# install dependencies
+RUN go get ./
+
+# build & install server
+RUN go install . 
+
+ENTRYPOINT /go/bin/app --port 8080  
+
+EXPOSE 8080
diff --git a/Gruntfile.js b/Gruntfile.js
index 944237e..bc3854c 100644
--- a/Gruntfile.js
+++ b/Gruntfile.js
@@ -28,6 +28,10 @@ module.exports = function (grunt) {
             gruntfile: {
                 files: ['Gruntfile.js']
             },
+            includes: {
+                files: ['<%= yeoman.app %>/*.html', '.tmp/*.html'],
+                tasks: ['includes:server']
+            },
             livereload: {
                 options: {
                     livereload: '<%= connect.options.livereload %>'
@@ -37,7 +41,8 @@ module.exports = function (grunt) {
           '{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css',
           '{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js',
           '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
-        ]
+        ],
+                tasks: ['includes:server']
             }
         },
         connect: {
@@ -112,6 +117,27 @@ module.exports = function (grunt) {
                 }
             }
         },
+
+        includes: {
+            build: {
+                cwd: '<%= yeoman.app %>',
+                src: ['*.html', 'includes/*.html'],
+                dest: '<%= yeoman.dist %>',
+                options: {
+                    flatten: true,
+                    banner: ''
+                }
+            },
+            server: {
+                cwd: '<%= yeoman.app %>',
+                src: ['*.html', 'includes/*.html'],
+                dest: '.tmp/',
+                options: {
+                    flatten: true,
+                    banner: ''
+                }
+            }
+        },
         // not used since Uglify task does concat,
         // but still available if needed
         /*concat: {
@@ -240,6 +266,7 @@ module.exports = function (grunt) {
         grunt.task.run([
       'clean:server',
       'less',
+                'includes:server',
       'copy:server',
       'connect:livereload',
       'watch'
@@ -260,14 +287,17 @@ module.exports = function (grunt) {
 
     grunt.registerTask('build', [
     'clean:dist',
+
     'copy:server',
     'useminPrepare',
     'concurrent',
     'cssmin',
     'concat',
+            'includes:build',
     'uglify',
     'copy',
-    'usemin'
+    'usemin',
+
   ]);
 
     grunt.registerTask('default', [
@@ -275,4 +305,4 @@ module.exports = function (grunt) {
     'test',
     'build'
   ]);
-};
+};
\ No newline at end of file
diff --git a/README.md b/README.md
index c1ce53a..b2518e2 100644
--- a/README.md
+++ b/README.md
@@ -62,6 +62,16 @@ go run transfersh-server/*.go -provider=local --port 8080 --temp=/tmp/ --basedir
 go build -o transfersh-server *.go
 ```
 
+## Docker
+
+For easy deployment we've enabled Docker deployment.
+
+```
+cd ./transfer-server/
+docker build -t transfersh .
+docker run --publish 8080:8080 --rm transfersh --provider local --basedir /tmp/
+```
+
 ## Contributions
 
 Contributions are welcome.
diff --git a/package.json b/package.json
index ea7bf74..860d013 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,8 @@
     "grunt-contrib-less": "~0.11.4",
     "grunt-contrib-uglify": "~0.6.0",
     "grunt-contrib-watch": "~0.6.1",
+    "grunt-include-replace": "^2.0.0",
+    "grunt-includes": "^0.4.5",
     "grunt-rev": "~0.1.0",
     "grunt-svgmin": "1.0.0",
     "grunt-usemin": "~2.4.0",
diff --git a/transfersh-server/Dockerfile b/transfersh-server/Dockerfile
deleted file mode 100644
index cb6bab1..0000000
--- a/transfersh-server/Dockerfile
+++ /dev/null
@@ -1,18 +0,0 @@
-FROM golang
-MAINTAINER Remco Verhoef <remco@dutchcoders.io>
-
-RUN mkdir -p /go/src/app
-WORKDIR /go/src/app
-
-# Copy the local package files to the container's workspace.
-ADD . /go/src/app
-
-# install dependencies
-RUN go get ./
-
-# build & install server
-RUN go install . 
-
-ENTRYPOINT /go/bin/app --port 8080  
-
-EXPOSE 8080
diff --git a/transfersh-server/handlers.go b/transfersh-server/handlers.go
index a4fd93f..1e19c47 100644
--- a/transfersh-server/handlers.go
+++ b/transfersh-server/handlers.go
@@ -35,9 +35,9 @@ import (
 	"errors"
 	"fmt"
 	"github.com/dutchcoders/go-clamd"
-	"github.com/golang/gddo/httputil/header"
 	"github.com/gorilla/mux"
 	"github.com/kennygrant/sanitize"
+	"github.com/russross/blackfriday"
 	html_template "html/template"
 	"io"
 	"io/ioutil"
@@ -57,23 +57,94 @@ func healthHandler(w http.ResponseWriter, r *http.Request) {
 	fmt.Fprintf(w, "Approaching Neutral Zone, all systems normal and functioning.")
 }
 
-// this handler will output html or text, depending on the
-// support of the client (Accept header).
+/* The preview handler will show a preview of the content for browsers (accept type text/html), and referer is not transfer.sh */
+func previewHandler(w http.ResponseWriter, r *http.Request) {
 
-func viewHandler(w http.ResponseWriter, r *http.Request) {
-	// vars := mux.Vars(r)
+	vars := mux.Vars(r)
+
+	token := vars["token"]
+	filename := vars["filename"]
+
+	contentType, contentLength, err := storage.Head(token, filename)
+	if err != nil {
+		http.Error(w, http.StatusText(404), 404)
+		return
+	}
 
-	actual := header.ParseAccept(r.Header, "Accept")
+	var templatePath string
+	var content html_template.HTML
 
-	html := false
+	switch {
+	case strings.HasPrefix(contentType, "image/"):
+		templatePath = "download.image.html"
+	case strings.HasPrefix(contentType, "video/"):
+		templatePath = "download.video.html"
+	case strings.HasPrefix(contentType, "audio/"):
+		templatePath = "download.audio.html"
+	case strings.HasPrefix(contentType, "text/"):
+		templatePath = "download.markdown.html"
+
+		var reader io.ReadCloser
+		if reader, _, _, err = storage.Get(token, filename); err != nil {
+			http.Error(w, err.Error(), http.StatusInternalServerError)
+			return
+		}
 
-	for _, s := range actual {
-		if s.Value == "text/html" {
-			html = true
+		var data []byte
+		if data, err = ioutil.ReadAll(reader); err != nil {
+			http.Error(w, err.Error(), http.StatusInternalServerError)
+			return
 		}
+
+		if strings.HasPrefix(contentType, "text/x-markdown") || strings.HasPrefix(contentType, "text/markdown") {
+			output := blackfriday.MarkdownCommon(data)
+			content = html_template.HTML(output)
+		} else if strings.HasPrefix(contentType, "text/plain") {
+			content = html_template.HTML(fmt.Sprintf("<pre>%s</pre>", data))
+		} else {
+			content = html_template.HTML(data)
+		}
+
+		templatePath = "download.markdown.html"
+	default:
+		templatePath = "download.html"
 	}
 
-	if html {
+	tmpl, err := html_template.New(templatePath).Funcs(html_template.FuncMap{"format": formatNumber}).ParseFiles("static/" + templatePath)
+
+	if err != nil {
+		http.Error(w, err.Error(), http.StatusInternalServerError)
+		return
+	}
+
+	data := struct {
+		ContentType   string
+		Content       html_template.HTML
+		Filename      string
+		Url           string
+		ContentLength uint64
+	}{
+		contentType,
+		content,
+		filename,
+		r.URL.String(),
+		contentLength,
+	}
+
+	if err := tmpl.ExecuteTemplate(w, templatePath, data); err != nil {
+		http.Error(w, err.Error(), http.StatusInternalServerError)
+		return
+	}
+
+}
+
+// this handler will output html or text, depending on the
+// support of the client (Accept header).
+
+func viewHandler(w http.ResponseWriter, r *http.Request) {
+	// vars := mux.Vars(r)
+
+	if acceptsHtml(r.Header) {
 		tmpl, err := html_template.ParseFiles("static/index.html")
 
 		if err != nil {
@@ -106,7 +177,7 @@ func notFoundHandler(w http.ResponseWriter, r *http.Request) {
 
 func postHandler(w http.ResponseWriter, r *http.Request) {
 	if err := r.ParseMultipartForm(_24K); nil != err {
-		log.Println(err)
+		log.Printf("%s", err.Error())
 		http.Error(w, "Error occured copying to output stream", 500)
 		return
 	}
@@ -128,7 +199,7 @@ func postHandler(w http.ResponseWriter, r *http.Request) {
 			var err error
 
 			if f, err = fheader.Open(); err != nil {
-				log.Print(err)
+				log.Printf("%s", err.Error())
 				http.Error(w, err.Error(), 500)
 				return
 			}
@@ -137,7 +208,7 @@ func postHandler(w http.ResponseWriter, r *http.Request) {
 
 			n, err := io.CopyN(&b, f, _24K+1)
 			if err != nil && err != io.EOF {
-				log.Print(err)
+				log.Printf("%s", err.Error())
 				http.Error(w, err.Error(), 500)
 				return
 			}
@@ -155,7 +226,7 @@ func postHandler(w http.ResponseWriter, r *http.Request) {
 				if err != nil {
 					os.Remove(file.Name())
 
-					log.Print(err)
+					log.Printf("%s", err.Error())
 					http.Error(w, err.Error(), 500)
 					return
 				}
@@ -170,7 +241,7 @@ func postHandler(w http.ResponseWriter, r *http.Request) {
 			log.Printf("Uploading %s %s %d %s", token, filename, contentLength, contentType)
 
 			if err = storage.Put(token, filename, reader, contentType, uint64(contentLength)); err != nil {
-				log.Print(err)
+				log.Printf("%s", err.Error())
 				http.Error(w, err.Error(), 500)
 				return
 
@@ -199,7 +270,9 @@ func scanHandler(w http.ResponseWriter, r *http.Request) {
 
 	response, err := c.ScanStream(reader)
 	if err != nil {
+		log.Printf("%s", err.Error())
 		http.Error(w, err.Error(), 500)
+		return
 	}
 
 	var b string
@@ -237,7 +310,7 @@ func putHandler(w http.ResponseWriter, r *http.Request) {
 
 		n, err := io.CopyN(&b, f, _24K+1)
 		if err != nil && err != io.EOF {
-			log.Print(err)
+			log.Printf("%s", err.Error())
 			http.Error(w, err.Error(), 500)
 			return
 		}
@@ -245,7 +318,7 @@ func putHandler(w http.ResponseWriter, r *http.Request) {
 		if n > _24K {
 			file, err := ioutil.TempFile(config.Temp, "transfer-")
 			if err != nil {
-				log.Print(err)
+				log.Printf("%s", err.Error())
 				http.Error(w, err.Error(), 500)
 				return
 			}
@@ -255,8 +328,7 @@ func putHandler(w http.ResponseWriter, r *http.Request) {
 			n, err = io.Copy(file, io.MultiReader(&b, f))
 			if err != nil {
 				os.Remove(file.Name())
-
-				log.Print(err)
+				log.Printf("%s", err.Error())
 				http.Error(w, err.Error(), 500)
 				return
 			}
@@ -282,6 +354,7 @@ func putHandler(w http.ResponseWriter, r *http.Request) {
 	var err error
 
 	if err = storage.Put(token, filename, reader, contentType, uint64(contentLength)); err != nil {
+		log.Printf("%s", err.Error())
 		http.Error(w, errors.New("Could not save file").Error(), 500)
 		return
 	}
@@ -307,10 +380,17 @@ func zipHandler(w http.ResponseWriter, r *http.Request) {
 	zw := zip.NewWriter(w)
 
 	for _, key := range strings.Split(files, ",") {
-		token := sanitize.Path(strings.Split(key, "/")[0])
+		if strings.HasPrefix(key, "/") {
+			key = key[1:]
+		}
+
+		key = strings.Replace(key, "\\", "/", -1)
+
+		token := strings.Split(key, "/")[0]
 		filename := sanitize.Path(strings.Split(key, "/")[1])
 
 		reader, _, _, err := storage.Get(token, filename)
+
 		if err != nil {
 			if err.Error() == "The specified key does not exist." {
 				http.Error(w, "File not found", 404)
@@ -371,8 +451,14 @@ func tarGzHandler(w http.ResponseWriter, r *http.Request) {
 	defer zw.Close()
 
 	for _, key := range strings.Split(files, ",") {
+		if strings.HasPrefix(key, "/") {
+			key = key[1:]
+		}
+
+		key = strings.Replace(key, "\\", "/", -1)
+
 		token := strings.Split(key, "/")[0]
-		filename := strings.Split(key, "/")[1]
+		filename := sanitize.Path(strings.Split(key, "/")[1])
 
 		reader, _, contentLength, err := storage.Get(token, filename)
 		if err != nil {
@@ -482,23 +568,11 @@ func getHandler(w http.ResponseWriter, r *http.Request) {
 
 	w.Header().Set("Content-Type", contentType)
 	w.Header().Set("Content-Length", strconv.FormatUint(contentLength, 10))
-
-	mediaType, _, _ := mime.ParseMediaType(contentType)
-
-	switch {
-	case mediaType == "text/html":
-		w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", filename))
-		break
-	case strings.HasPrefix(mediaType, "text"):
-	case mediaType == "":
-		break
-	default:
-		w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", filename))
-	}
-
+	w.Header().Set("Content-Disposition", fmt.Sprintf("attachment; filename=\"%s\"", filename))
 	w.Header().Set("Connection", "close")
 
 	if _, err = io.Copy(w, reader); err != nil {
+		log.Printf("%s", err.Error())
 		http.Error(w, "Error occured copying to output stream", 500)
 		return
 	}
diff --git a/transfersh-server/main.go b/transfersh-server/main.go
index 1f4a997..6369705 100644
--- a/transfersh-server/main.go
+++ b/transfersh-server/main.go
@@ -33,7 +33,9 @@ import (
 	"github.com/gorilla/mux"
 	"log"
 	"math/rand"
+	"mime"
 	"net/http"
+	"net/url"
 	"os"
 	"time"
 )
@@ -86,23 +88,27 @@ func main() {
 	r.HandleFunc("/({files:.*}).tar.gz", tarGzHandler).Methods("GET")
 	r.HandleFunc("/download/{token}/{filename}", getHandler).Methods("GET")
 
-	/*r.HandleFunc("/{token}/{filename}", viewHandler).MatcherFunc(func(r *http.Request, rm *mux.RouteMatch) bool {
-	    u, err := url.Parse(r.Referer())
-	    if err != nil {
-	        log.Fatal(err)
-	        return true
-	    }
+	r.HandleFunc("/{token}/{filename}", previewHandler).MatcherFunc(func(r *http.Request, rm *mux.RouteMatch) (match bool) {
+		match = false
 
-	    if u.Host == "transfer.sh" {
-	        return false
-	    }
+		// The file will show a preview page when opening the link in browser directly or
+		// from external link. If the referer url path and current path are the same it will be
+		// downloaded.
+		if !acceptsHtml(r.Header) {
+			return false
+		}
 
-	    if u.Host == "" {
-	        return false
-	    }
+		match = (r.Referer() == "")
 
-	    return true
-	}).Methods("GET")*/
+		u, err := url.Parse(r.Referer())
+		if err != nil {
+			log.Fatal(err)
+			return
+		}
+
+		match = match || (u.Path != r.URL.Path)
+		return
+	}).Methods("GET")
 
 	r.HandleFunc("/{token}/{filename}", getHandler).Methods("GET")
 	r.HandleFunc("/get/{token}/{filename}", getHandler).Methods("GET")
@@ -156,7 +162,9 @@ func main() {
 		log.Panic("Error while creating storage.")
 	}
 
-	log.Printf("Transfer.sh server started. :%v using temp folder: %s", *port, config.Temp)
+	mime.AddExtensionType(".md", "text/x-markdown")
+
+	log.Printf("Transfer.sh server started. :\nlistening on port: %v\nusing temp folder: %s\nusing storage provider: %s", *port, config.Temp, *provider)
 	log.Printf("---------------------------")
 
 	s := &http.Server{
diff --git a/transfersh-server/static/404.html b/transfersh-server/static/404.html
index 73397ed..0446544 100644
--- a/transfersh-server/static/404.html
+++ b/transfersh-server/static/404.html
@@ -154,4 +154,4 @@
             <script src="http://linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
         </div>
     </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/transfersh-server/static/download.audio.html b/transfersh-server/static/download.audio.html
new file mode 100644
index 0000000..16643cd
--- /dev/null
+++ b/transfersh-server/static/download.audio.html
@@ -0,0 +1,132 @@
+
+
+</html>
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
+
+
+<body  id="download">
+
+        <script>
+        (function(i, s, o, g, r, a, m) {
+            i['GoogleAnalyticsObject'] = r;
+            i[r] = i[r] || function() {
+                (i[r].q = i[r].q || []).push(arguments)
+            }, i[r].l = 1 * new Date();
+            a = s.createElement(o),
+                m = s.getElementsByTagName(o)[0];
+            a.async = 1;
+            a.src = g;
+            m.parentNode.insertBefore(a, m)
+        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+        ga('create', 'UA-40833733-1', 'transfer.sh');
+        ga('send', 'pageview');
+        </script>
+
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    
+
+    <section id="home">
+        <div class="wrapper">
+    
+                    <br/>
+                    <h2 class="page-title">{{.Filename}}</h2>
+                    <h4>type: <b>{{.ContentType}}</b></h4>
+                    <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+                    <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
+
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                            <audio controls>
+                        <source src="{{.Url}}" type="{{.ContentType}}">
+                    </audio>
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+
+    </section>
+
+    <footer>
+        <div class="wrapper">
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            </p>
+        </div>
+
+    </footer>
+
+
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+        <script src="/scripts/main.js"></script>
+          
+
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/download.code.html b/transfersh-server/static/download.code.html
new file mode 100644
index 0000000..2905cc6
--- /dev/null
+++ b/transfersh-server/static/download.code.html
@@ -0,0 +1,134 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>{{.Filename}} - transfer.sh</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="styles/main.css">
+
+    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400' rel='stylesheet' type='text/css'>
+    <link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="scripts/vendor/modernizr.js"></script>
+</head>
+
+<body  id="download">
+    <script>
+    (function(i, s, o, g, r, a, m) {
+        i['GoogleAnalyticsObject'] = r;
+        i[r] = i[r] || function() {
+            (i[r].q = i[r].q || []).push(arguments)
+        }, i[r].l = 1 * new Date();
+        a = s.createElement(o),
+            m = s.getElementsByTagName(o)[0];
+        a.async = 1;
+        a.src = g;
+        m.parentNode.insertBefore(a, m)
+    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
+
+    <div id="navigation">
+        <div class="wrapper">
+            <h1>transfer.sh</h1>
+            <ul class="hidden-xs">
+                <li><a href="#samples">sample use cases</a>
+                </li>
+                <li><a href="#contact">contact us</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+<section id="home">
+    <div class="wrapper">
+        <h2>
+            {{.Filename}}</h2>
+        <a href="{{.Url}}"></a>
+        <div class="row animated fadeInDown">
+            <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                <div class="terminal-top">
+
+                </div>
+                <div id="terminal" class="terminal">
+                    <div id="code"></div>
+                </div>
+
+
+
+            </div>
+
+        </div>
+
+    <div>
+        <a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> &nbsp;&nbsp;
+        <a href="{{.Url}}" class="btn-cta btn"> download</i> </a>
+        <div id="copy-link-wrapper" class="copy-link-wrapper">
+            <p>Press Ctrl / CMD + C to copy link to your clipboard.</p>
+            <input readonly="readonly" type="text" value="{{.Url}}" />
+        </div>
+        <div id="overlay" class="overlay"></div>
+    </div>
+        <script src="scripts/clipboard.js"></script>
+
+</section>
+
+
+    <script>
+    (function() {
+        var uv = document.createElement('script');
+        uv.type = 'text/javascript';
+        uv.async = true;
+        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+        var s = document.getElementsByTagName('script')[0];
+        s.parentNode.insertBefore(uv, s)
+    })()
+    </script>
+
+    <!--[if lt IE 7]>
+      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+    <![endif]-->
+
+    <script>
+    (function(b, o, i, l, e, r) {
+        b.GoogleAnalyticsObject = l;
+        b[l] || (b[l] =
+            function() {
+                (b[l].q = b[l].q || []).push(arguments)
+            });
+        b[l].l = +new Date;
+        e = o.createElement(i);
+        r = o.getElementsByTagName(i)[0];
+        e.src = '//www.google-analytics.com/analytics.js';
+        r.parentNode.insertBefore(e, r)
+    }(window, document, 'script', 'ga'));
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
+
+        <script src="scripts/main.js"></script>
+        
+    <script>
+
+    var text = "# Markdown *works*.";
+
+    var converter = new Showdown.converter();
+    var html = converter.makeHtml(text);
+    $('#md-preview').append(html);
+
+    </script>
+
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/download.html b/transfersh-server/static/download.html
new file mode 100644
index 0000000..8a27deb
--- /dev/null
+++ b/transfersh-server/static/download.html
@@ -0,0 +1,116 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
+
+
+<body  id="download">
+
+        <script>
+        (function(i, s, o, g, r, a, m) {
+            i['GoogleAnalyticsObject'] = r;
+            i[r] = i[r] || function() {
+                (i[r].q = i[r].q || []).push(arguments)
+            }, i[r].l = 1 * new Date();
+            a = s.createElement(o),
+                m = s.getElementsByTagName(o)[0];
+            a.async = 1;
+            a.src = g;
+            m.parentNode.insertBefore(a, m)
+        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+        ga('create', 'UA-40833733-1', 'transfer.sh');
+        ga('send', 'pageview');
+        </script>
+
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+
+   
+<section id="home">
+    <div class="wrapper">
+    
+              <br/>
+              <h2 class="page-title">{{.Filename}}</h2>
+              <h4>type: <b>{{.ContentType}}</b></h4>
+              <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+              <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
+
+    </div>
+</section>
+    
+    <footer>
+        <div class="wrapper">
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            </p>
+        </div>
+
+    </footer>
+
+
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+       <script src="/scripts/main.js"></script>
+         
+
+    
+
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/download.image.html b/transfersh-server/static/download.image.html
new file mode 100644
index 0000000..a8ea14c
--- /dev/null
+++ b/transfersh-server/static/download.image.html
@@ -0,0 +1,126 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
+
+
+<body  id="download">
+
+        <script>
+        (function(i, s, o, g, r, a, m) {
+            i['GoogleAnalyticsObject'] = r;
+            i[r] = i[r] || function() {
+                (i[r].q = i[r].q || []).push(arguments)
+            }, i[r].l = 1 * new Date();
+            a = s.createElement(o),
+                m = s.getElementsByTagName(o)[0];
+            a.async = 1;
+            a.src = g;
+            m.parentNode.insertBefore(a, m)
+        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+        ga('create', 'UA-40833733-1', 'transfer.sh');
+        ga('send', 'pageview');
+        </script>
+
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+
+    <section id="home">
+        <div class="wrapper">
+
+            <br/>
+            <h2 class="page-title">{{.Filename}}</h2>
+            <h4>type: <b>{{.ContentType}}</b></h4>
+            <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+            <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
+
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                        <img src="{{.Url}}"  alt="">
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+    <div>
+    </section>
+
+    <footer>
+        <div class="wrapper">
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            </p>
+        </div>
+
+    </footer>
+
+
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+        <script src="/scripts/main.js"></script>
+          
+
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/download.markdown.html b/transfersh-server/static/download.markdown.html
new file mode 100644
index 0000000..8896414
--- /dev/null
+++ b/transfersh-server/static/download.markdown.html
@@ -0,0 +1,124 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
+
+
+<body  id="download">
+
+        <script>
+        (function(i, s, o, g, r, a, m) {
+            i['GoogleAnalyticsObject'] = r;
+            i[r] = i[r] || function() {
+                (i[r].q = i[r].q || []).push(arguments)
+            }, i[r].l = 1 * new Date();
+            a = s.createElement(o),
+                m = s.getElementsByTagName(o)[0];
+            a.async = 1;
+            a.src = g;
+            m.parentNode.insertBefore(a, m)
+        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+        ga('create', 'UA-40833733-1', 'transfer.sh');
+        ga('send', 'pageview');
+        </script>
+
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+
+<section id="home">
+    <div class="wrapper">
+
+                <br/>
+                <h2 class="page-title">{{.Filename}}</h2>
+                <h4>type: <b>{{.ContentType}}</b></h4>
+                <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+                <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
+
+
+        <div class="row animated fadeInDown">
+            <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                <div class="terminal-top">
+                </div>
+                <div id="terminal" class="terminal">
+                    <div id="md-preview">{{.Content}}</div>
+                </div>
+            </div>
+        </div>
+    <br/>
+
+</section>
+
+
+    <footer>
+        <div class="wrapper">
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            </p>
+        </div>
+
+    </footer>
+
+
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+        <script src="/scripts/main.js"></script>
+          
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/download.video.html b/transfersh-server/static/download.video.html
new file mode 100644
index 0000000..8124e36
--- /dev/null
+++ b/transfersh-server/static/download.video.html
@@ -0,0 +1,129 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
+
+
+<body  id="download">
+
+        <script>
+        (function(i, s, o, g, r, a, m) {
+            i['GoogleAnalyticsObject'] = r;
+            i[r] = i[r] || function() {
+                (i[r].q = i[r].q || []).push(arguments)
+            }, i[r].l = 1 * new Date();
+            a = s.createElement(o),
+                m = s.getElementsByTagName(o)[0];
+            a.async = 1;
+            a.src = g;
+            m.parentNode.insertBefore(a, m)
+        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+        ga('create', 'UA-40833733-1', 'transfer.sh');
+        ga('send', 'pageview');
+        </script>
+
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
+        </div>
+    
+
+    <section id="home">
+        <div class="wrapper">
+    
+                    <br/>
+                    <h2 class="page-title">{{.Filename}}</h2>
+                    <h4>type: <b>{{.ContentType}}</b></h4>
+                    <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+                    <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
+
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                        <video  controls>
+                            <source src="{{.Url}}" type="{{.ContentType}}">
+                        </video>
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+
+    </section>
+
+    <footer>
+        <div class="wrapper">
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            </p>
+        </div>
+
+    </footer>
+
+
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+        <script src="/scripts/main.js"></script>
+          
+
+
+</body>
+
+</html>
diff --git a/transfersh-server/static/images/bitcoin.png b/transfersh-server/static/images/bitcoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..67bb94d2307fe0862162339fbf2da29ea52a56b4
GIT binary patch
diff --git a/transfersh-server/static/images/terminal-top.svg b/transfersh-server/static/images/terminal-top.svg
index 82f7ec7..a192e3f 100644
--- a/transfersh-server/static/images/terminal-top.svg
+++ b/transfersh-server/static/images/terminal-top.svg
@@ -45,14 +45,14 @@
     </rdf:RDF>
   </metadata>
   <g
-     transform="translate(-93.957497,-365.26607)"
+     transform="matrix(1,0,0,0.94456233,-93.957497,-345.57658)"
      id="layer1">
     <path
-       d="m 85.371201,355.16455 789.901059,0 0,49.98291 -789.901059,0 z"
+       d="m 93.957497,365.85895 750.000003,0 0,31.76074 -750.000003,0 z"
        id="rect4487"
        style="fill:#85b5bb;fill-opacity:1;stroke:none" />
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.446)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9192)"
        id="g24"
        style="fill:#ff7050">
       <g
@@ -78,7 +78,7 @@
       </g>
     </g>
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.507)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9802)"
        id="g40"
        style="fill:#ffed5d">
       <g
@@ -104,7 +104,7 @@
       </g>
     </g>
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1453.4765)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1454.9497)"
        id="g56"
        style="fill:#93de7f">
       <g
diff --git a/transfersh-server/static/images/tor.svg b/transfersh-server/static/images/tor.svg
new file mode 100644
index 0000000..3a763c9
--- /dev/null
+++ b/transfersh-server/static/images/tor.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="380" height="290" viewBox="0 0 380.00001 289.99999" id="图层_1" xml:space="preserve"><metadata id="metadata2611"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs2609" />
+
+<g transform="translate(-58.124001,-45.284749)" id="layer1"><path d="M 50.75,238.46875 C 50.74767,240.51542 50.75067,242.54542 50.75,244.59375 L 58.5625,244.59375 L 58.5625,263.71875 L 66.1875,263.71875 L 66.1875,244.59375 L 73.96875,244.59375 L 73.96875,238.46875 L 50.75,238.46875 z M 115.78125,238.46875 L 115.78125,263.71875 L 123.4375,263.71875 L 123.4375,254.3125 C 125.77166,254.26006 128.12573,254.46829 130.4375,254.0625 C 133.43015,253.61607 135.96405,251.18201 136.46875,248.1875 C 137.01255,245.29331 136.52883,241.81443 134.0625,239.90625 C 131.78087,238.23859 128.83652,238.49113 126.15625,238.46875 L 115.78125,238.46875 z M 181.75,238.46875 L 181.75,243.25 L 188.5625,243.25 L 188.5625,238.46875 L 181.75,238.46875 z M 249.46875,238.46875 L 242.65625,242 L 242.65625,245.4375 L 240.1875,245.4375 L 240.1875,250.46875 L 242.65625,250.46875 L 242.65625,252.65625 C 242.70624,255.21642 242.47421,257.81014 242.9375,260.34375 C 243.05668,261.78997 244.18591,262.93333 245.40625,263.59375 C 248.04288,264.55411 250.90487,264.05409 253.5625,263.4375 L 253.09375,259.25 C 253.23483,258.27274 252.26229,258.9884 251.6875,259 C 250.62775,259.38851 249.37429,258.76458 249.5,257.53125 C 249.44651,255.1859 249.48339,252.81534 249.46875,250.46875 L 253.3125,250.46875 L 253.3125,245.4375 L 249.46875,245.4375 L 249.46875,238.46875 z M 123.4375,243.53125 C 124.93468,243.60074 126.49451,243.29466 127.90625,243.9375 C 129.54076,244.71485 129.75122,247.1681 128.4375,248.34375 C 127.3731,249.32992 125.83906,249.09707 124.5,249.125 C 124.18831,249.03964 123.53064,249.30392 123.4375,249 L 123.4375,243.53125 z M 83.09375,244.875 C 80.20859,244.8275 77.22027,245.81868 75.3125,248.0625 C 73.5522,249.94861 72.88908,252.62887 73.03125,255.15625 C 73.08077,257.68011 74.09823,260.23861 76.125,261.8125 C 78.81274,264.10451 82.64182,264.48951 86,263.84375 C 88.82917,263.28233 91.42955,261.43611 92.59375,258.75 C 94.17919,255.14195 93.6751,250.50727 90.84375,247.65625 C 88.83195,245.61668 85.87085,244.93229 83.09375,244.875 z M 108.375,244.875 C 107.419,244.875 106.58925,245.1415 105.90625,245.6875 C 105.22325,246.0965 104.683,247.05225 104,248.28125 L 104,245.4375 L 97.59375,245.4375 L 97.59375,263.71875 L 104.5625,263.71875 L 104.5625,257.5625 C 104.5625,254.5585 104.817,252.6555 105.5,251.5625 C 106.046,250.7435 106.7315,250.34375 107.6875,250.34375 C 108.0985,250.34375 108.77375,250.602 109.59375,250.875 L 111.65625,245.96875 C 110.42725,245.28575 109.331,244.875 108.375,244.875 z M 151.40625,244.875 C 150.8262,244.87145 150.26044,244.97535 149.71875,245.25 C 148.43645,245.82374 147.76794,247.1133 147.125,248.28125 L 147.125,245.4375 L 140.6875,245.4375 C 140.68517,251.5355 140.68817,257.61908 140.6875,263.71875 L 147.65625,263.71875 L 147.65625,261.75 C 147.6874,259.30832 147.57522,256.87168 147.8125,254.4375 C 147.98367,253.01117 148.27947,251.28613 149.6875,250.5625 C 150.68046,250.02843 151.75878,250.55088 152.71875,250.875 L 154.5,246.5625 C 154.7673,246.12898 154.79825,245.77218 154.1875,245.65625 C 153.3401,245.20326 152.373,244.88092 151.40625,244.875 z M 166.65625,244.875 C 163.81138,244.83015 160.84817,245.7831 158.9375,247.96875 C 157.14601,249.82305 156.26534,252.44241 156.40625,255 C 156.4455,257.60089 157.62013,260.2008 159.6875,261.8125 C 162.43682,264.15178 166.33269,264.50973 169.75,263.78125 C 172.53457,263.1788 175.07375,261.31901 176.1875,258.65625 C 177.7293,255.0256 177.16931,250.3711 174.28125,247.5625 C 172.27329,245.58452 169.38522,244.95613 166.65625,244.875 z M 202.5625,244.875 C 199.65259,244.82633 196.58865,245.83995 194.6875,248.125 C 192.2363,250.95423 191.8563,255.23236 193.28125,258.625 C 194.29372,261.11012 196.45477,263.16353 199.125,263.71875 C 201.64663,264.2679 204.28679,264.24885 206.8125,263.75 C 208.51969,263.42988 210.07293,262.47938 211.1875,261.15625 C 211.6559,260.51927 212.73656,259.43233 212.625,258.90625 L 206.125,258.28125 C 205.51686,258.9536 204.91301,259.72992 203.9375,259.8125 C 202.39982,260.20123 200.57653,259.5439 199.875,258.0625 C 199.79053,257.55239 198.90352,256.05401 199.875,256.21875 L 213.21875,256.21875 C 213.28951,253.4079 212.92796,250.3949 211.125,248.125 C 210.03317,246.80706 208.52604,245.83022 206.84375,245.46875 C 205.44659,245.10894 204.00458,244.9063 202.5625,244.875 z M 226.53125,244.875 C 224.83773,244.94818 223.16268,245.2917 221.59375,245.9375 C 219.74896,246.79555 218.29579,248.44202 217.46875,250.28125 C 216.51712,252.42489 216.57711,254.87891 216.90625,257.15625 C 217.21271,259.53093 218.85626,261.58953 220.90625,262.75 C 222.614,263.77638 224.64841,263.95739 226.59375,264.09375 C 228.87355,264.16831 231.35076,264.0907 233.3125,262.78125 C 235.36706,261.62577 236.70538,259.55319 237.3125,257.3125 L 230.78125,256.5 C 230.52218,257.60301 229.84173,258.55904 228.8125,259.0625 C 227.04278,259.7832 224.53052,259.176 223.875,257.21875 C 223.37182,255.6932 223.44816,254.02326 223.78125,252.46875 C 224.12531,250.7656 225.86092,249.61089 227.5625,249.8125 C 228.93603,249.74484 230.32064,250.72254 230.5,252.125 L 236.90625,251.28125 C 236.30346,248.57745 234.27097,246.20997 231.5625,245.46875 C 229.935,245.02311 228.22477,244.80182 226.53125,244.875 z M 279,244.875 C 276.11458,244.82722 273.09566,245.81887 271.1875,248.0625 C 269.35887,250.01593 268.69715,252.78835 268.90625,255.40625 C 269.06071,258.57942 270.96032,261.61925 273.84375,263 C 276.42708,264.26198 279.47881,264.37106 282.25,263.75 C 285.00789,263.09784 287.47228,261.17924 288.5625,258.53125 C 290.1067,254.84728 289.46037,250.12239 286.4375,247.375 C 284.43673,245.53292 281.64544,244.93556 279,244.875 z M 304.15625,244.875 C 303.5762,244.87145 303.01044,244.97535 302.46875,245.25 C 301.18645,245.82374 300.51794,247.1133 299.875,248.28125 L 299.875,245.4375 L 293.46875,245.4375 C 293.46642,251.5355 293.43817,257.61908 293.4375,263.71875 L 300.40625,263.71875 L 300.40625,261.75 C 300.43736,259.30833 300.32566,256.87171 300.5625,254.4375 C 300.73318,253.01097 301.0296,251.28622 302.4375,250.5625 C 303.4305,250.02827 304.50868,250.55121 305.46875,250.875 L 307.28125,246.5625 C 307.54855,246.12898 307.5795,245.77218 306.96875,245.65625 C 306.12135,245.20326 305.123,244.88092 304.15625,244.875 z M 316.8125,244.875 C 313.944,244.75095 311.24416,246.74626 310.28125,249.40625 C 309.30036,251.99637 309.4085,254.8776 310.0625,257.53125 C 310.82024,260.37628 313.3772,262.72715 316.375,262.875 C 318.02221,262.96074 319.84243,262.61957 321.125,261.53125 C 321.65763,260.95665 322.5173,259.87579 322.25,261.3125 C 322.22656,262.71696 322.44184,264.21836 321.84375,265.53125 C 321.03374,266.81839 319.19006,266.98564 317.90625,266.375 C 316.81858,266.33518 317.11739,264.47551 315.90625,264.71875 L 310.125,264.125 C 309.50347,266.76816 311.20799,269.74611 313.875,270.40625 C 316.60154,271.26237 319.49764,271.16066 322.3125,270.90625 C 324.68811,270.64995 327.16096,269.52501 328.25,267.28125 C 329.27127,265.45631 329.29538,263.34169 329.25,261.3125 L 329.25,245.4375 L 322.8125,245.4375 L 322.8125,248.03125 C 321.50453,246.04856 319.20547,244.77746 316.8125,244.875 z M 181.75,245.4375 C 181.75233,250.47539 181.74933,255.49169 181.75,260.53125 C 181.69711,261.87363 181.89297,263.27272 181.4375,264.5625 C 181.0078,265.66627 179.66675,265.61346 178.71875,265.375 L 177.65625,270.5625 C 179.62508,270.79403 181.57001,271.23211 183.5625,271.0625 C 184.97081,271.00683 186.30112,270.33286 187.28125,269.34375 C 188.42564,267.93617 188.49326,266.01317 188.5625,264.28125 C 188.59678,257.99763 188.55329,251.72134 188.5625,245.4375 L 181.75,245.4375 z M 202.84375,249.125 C 203.95329,249.09172 205.18486,249.55909 205.625,250.65625 C 205.8373,251.2573 206.52558,252.61661 206,252.9375 L 199.4375,252.9375 C 199.56074,251.41532 200.27758,249.69691 201.875,249.25 C 202.18319,249.16417 202.52447,249.12493 202.84375,249.125 z M 83.21875,249.8125 C 84.81783,249.74971 86.12553,251.10433 86.34375,252.625 C 86.59093,254.16964 86.6235,255.82291 86.09375,257.3125 C 85.58517,258.42141 84.51087,259.40806 83.21875,259.34375 C 82.16274,259.497 81.16864,258.69003 80.5625,257.84375 C 79.6954,256.4655 79.76487,254.74716 79.90625,253.1875 C 80.034,251.824 80.79576,250.42045 82.15625,249.96875 C 82.49984,249.84916 82.85603,249.81209 83.21875,249.8125 z M 166.28125,249.8125 L 166.46875,249.8125 L 166.65625,249.8125 C 168.24903,249.69466 169.62717,251.0036 169.875,252.53125 C 170.15533,254.0429 170.15817,255.64356 169.71875,257.125 C 169.25152,258.37261 168.06301,259.46133 166.65625,259.34375 C 165.63697,259.47968 164.64055,258.69308 164.09375,257.84375 C 163.2126,256.42434 163.29992,254.63084 163.46875,253.03125 C 163.62666,251.51818 164.6538,249.94298 166.28125,249.8125 z M 279.125,249.8125 C 280.77107,249.74861 282.03138,251.21111 282.25,252.75 C 282.48768,254.25882 282.48055,255.86623 281.9375,257.3125 C 281.41893,258.40217 280.41521,259.41166 279.125,259.34375 C 278.06475,259.49194 277.01503,258.70161 276.40625,257.84375 C 275.55817,256.45691 275.65901,254.74655 275.78125,253.1875 C 275.89204,251.87317 276.58125,250.51671 277.875,250.03125 C 278.26601,249.87076 278.7039,249.81159 279.125,249.8125 z M 319.28125,250.0625 C 321.08552,249.99674 322.39578,251.8094 322.375,253.5 C 322.55438,255.13402 322.15278,257.16624 320.5,257.90625 C 319.04952,258.5741 317.03402,257.79625 316.6875,256.15625 C 316.17758,254.45034 316.2497,252.45136 317.25,250.9375 C 317.72499,250.33036 318.51318,249.99526 319.28125,250.0625 z M 257.75,256.625 L 257.75,263.71875 L 264.96875,263.71875 L 264.96875,256.625 L 257.75,256.625 z" transform="translate(58.124001,45.28474)" id="path3078" style="fill:#7d4698;fill-opacity:1;stroke:none" /><g id="layer3" style="display:inline"><g id="layer5"><path d="M 264.513,77.977773 L 259.596,97.506774 C 266.561,83.713773 277.623,73.334773 290.325,64.183773 C 281.038,74.972773 272.571,85.762774 267.381,96.551774 C 276.122,84.259773 287.867,77.431773 301.114,72.924773 C 283.496,88.630774 269.51172,105.48405 258.85872,122.41905 L 250.39172,118.73205 C 251.89272,105.21105 257.001,91.362774 264.513,77.977773 z" id="path2554" style="fill:#abcd03;fill-rule:evenodd;stroke:none" /><path d="M 241.90113,115.14152 L 258.01713,121.82746 C 258.01713,125.92546 257.684,138.42449 260.24651,142.11149 C 287.0494,176.63059 282.54,245.82478 254.817,247.59978 C 212.60044,247.59978 196.5,218.92078 196.5,192.56177 C 196.5,168.52477 225.316,152.54577 242.525,138.34277 C 246.895,134.51877 246.13613,126.06752 241.90113,115.14152 z" id="path2534" style="fill:#fffcdb;fill-rule:evenodd;stroke:none" /><path d="M 258.02197,121.58695 L 263.83,124.54977 C 263.284,128.37277 264.103,136.84177 267.926,139.02577 C 284.862,149.54177 300.84,161.01377 307.123,172.48577 C 329.521,212.91178 291.417,250.33178 258.503,246.78078 C 276.394,233.53278 281.584,206.35577 274.892,176.71877 C 272.161,165.10977 267.926,154.59377 260.414,142.71177 C 257.15979,136.87931 258.29597,129.64595 258.02197,121.58695 z" id="path2536" style="fill:#7d4698;fill-rule:evenodd;stroke:none" /></g><g id="layer4" style="display:inline"><path d="M 255.226,120.58877 L 267.244,122.22777 C 263.693,133.97277 274.21,142.16677 277.624,144.07977 C 285.27201,148.31377 292.64701,152.68377 298.52001,158.00977 C 309.58301,168.11577 315.86501,182.31977 315.86501,197.34277 C 315.86501,212.22877 309.03601,226.56877 297.56401,236.12877 C 286.77501,245.14277 271.889,248.96677 257.412,248.96677 C 248.398,248.96677 240.34,248.55777 231.6,245.68877 C 211.661,238.99677 196.774,221.92577 195.545,201.43877 C 194.452,185.45977 198.003,173.30477 210.432,160.60377 C 216.85,153.91177 229.825,146.26377 238.703,140.11777 C 243.074,137.11277 247.717,128.64477 238.839,112.66677 L 240.615,111.30077 L 253.77159,120.1128 L 242.664,115.53477 C 243.62,116.90077 246.215,123.04677 246.762,124.82177 C 247.991,129.87477 247.445,134.79277 246.352,136.97677 C 240.753,147.08377 231.193,149.81477 224.228,155.55077 C 211.936,165.65677 198.552,173.71477 200.054,201.43877 C 200.737,215.09577 211.39,231.75777 227.368,239.54277 C 236.382,243.91377 246.762,245.68877 257.278,246.23477 C 266.701,246.64477 284.72901,241.04477 294.56201,232.85077 C 305.07801,224.11077 310.95101,210.86277 310.95101,197.34277 C 310.95101,183.68477 305.48801,170.71077 295.24501,161.55977 C 289.37201,156.23377 279.676,149.81477 273.667,146.39977 C 267.658,142.98577 260.146,133.42577 262.604,124.27577 z" id="path2538" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 251.539,140.80177 C 250.31,147.08477 248.944,158.41977 243.481,162.65377 C 241.159,164.29177 238.837,165.93177 236.379,167.56977 C 226.546,174.26277 216.712,180.54377 212.206,196.65977 C 211.25,200.07477 212.07,203.76177 212.89,207.17577 C 215.348,217.00877 222.313,227.66177 227.776,233.94477 C 227.776,234.21777 228.869,234.90077 228.869,235.17377 C 233.376,240.50077 234.742,242.00277 251.813,245.82577 L 251.403,247.73877 C 241.16,245.00777 232.693,242.54977 227.366,236.40277 C 227.366,236.26677 226.41,235.30977 226.41,235.30977 C 220.674,228.75377 213.708,217.82877 211.114,207.58577 C 210.158,203.48777 209.339,200.34777 210.431,196.11277 C 215.074,179.45177 225.181,172.89577 235.424,165.93077 C 237.746,164.42877 240.477,163.06177 242.662,161.28677 C 246.895,158.14677 249.216,148.58577 251.539,140.80177 z" id="path2540" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.90625,166.74951 C 256.04325,173.85151 255.35,177.41426 257.125,182.46826 C 258.217,185.47226 261.907,189.56976 263,193.53076 C 264.502,198.85776 266.138,204.72977 266,208.28077 C 266,212.37876 265.74375,220.02326 263.96875,228.21826 C 262.61513,234.98934 259.49552,240.79979 254.25,244.09326 C 248.87673,242.98682 242.56776,241.09805 238.84375,237.90576 C 231.60575,231.62376 225.195,221.11926 224.375,211.96826 C 223.693,204.45727 230.64775,193.37976 240.34375,187.78076 C 248.53775,183.00076 250.44375,177.55301 252.21875,168.81201 C 249.76075,176.46001 247.45225,182.87126 239.53125,186.96826 C 228.05925,192.97726 222.17275,203.06452 222.71875,212.62451 C 223.53775,224.91551 228.46025,233.24401 238.15625,239.93701 C 242.25325,242.80501 249.9075,245.83576 254.6875,246.65576 L 254.6875,246.03076 C 258.31243,245.35188 263.00568,239.39809 265.34375,231.34326 C 267.39275,224.10526 268.2005,214.84126 268.0625,208.96827 C 267.9255,205.55427 266.4195,198.16026 263.6875,191.46826 C 262.1855,187.78126 259.878,184.09451 258.375,181.49951 C 256.738,178.90251 256.72625,173.30451 255.90625,166.74951 z" id="path2542" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.09375,193.53076 C 255.22975,198.31076 257.14975,204.43527 257.96875,210.71827 C 258.65275,215.36226 258.35575,220.02651 258.21875,224.12451 C 258.0838,228.86774 256.50355,237.36669 254.34375,241.49951 C 252.30702,240.56548 251.51081,239.50029 250.1875,237.78076 C 248.5495,235.45876 247.43675,233.13676 246.34375,230.40576 C 245.52475,228.35676 244.56725,226.01176 244.15625,223.28076 C 243.61025,219.18376 243.76325,212.77426 248.40625,206.21827 C 251.95725,201.02826 252.771,200.63351 254,194.62451 C 252.36,199.95051 251.1375,200.49351 247.3125,204.99952 C 243.0795,209.91652 242.375,217.15876 242.375,223.03076 C 242.375,225.48976 243.3555,228.21801 244.3125,230.81201 C 245.4045,233.54401 246.34175,236.26401 247.84375,238.31201 C 250.10171,241.63283 252.99173,243.52123 254.40625,243.87451 C 254.41563,243.87685 254.42825,243.8723 254.4375,243.87451 C 254.46781,243.88174 254.50238,243.89999 254.53125,243.90576 L 254.53125,243.74951 C 257.18107,240.79514 258.77569,237.86017 259.3125,234.90576 C 259.9955,231.35476 260.1525,227.79601 260.5625,223.56201 C 260.9715,220.01101 260.67475,215.22801 259.71875,210.31202 C 258.35375,204.16602 256.04975,197.89976 255.09375,193.53076 z" id="path2544" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.499,135.06577 C 255.636,142.16677 256.182,155.41577 258.094,160.60477 C 258.64,162.37977 263.693,170.16477 267.243,179.58777 C 269.702,186.14377 270.248,192.15277 270.658,193.92777 C 272.297,201.71277 270.248,214.82377 267.516,227.25177 C 266.151,233.94377 261.507,242.27477 256.181,245.55277 L 255.089,247.46477 C 258.094,247.32777 265.468,240.08977 268.063,231.07577 C 272.434,215.77977 274.209,208.67777 272.161,191.74277 C 271.888,190.10277 271.205,184.50477 268.61,178.49477 C 264.786,169.34377 259.323,160.60377 258.641,158.82777 C 257.411,155.96077 255.772,143.53277 255.499,135.06577 z" id="path2550" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 258.06151,125.35303 C 257.65636,132.65115 257.548,135.33877 258.913,140.66477 C 260.415,146.53777 268.064,155.00477 271.205,164.70177 C 277.214,183.27577 275.712,207.58577 271.341,226.56877 C 269.703,233.25977 261.917,242.95777 254.133,246.09777 L 259.869,247.46377 C 263.01,247.32677 271.067,239.81577 274.209,231.21177 C 279.261,217.69077 280.218,201.57577 278.169,184.64077 C 278.032,183.00177 275.3,168.38877 272.706,162.24277 C 269.018,153.09277 262.462,144.89777 261.78,143.12377 C 260.552,140.11877 257.85349,133.88015 258.06151,125.35303 z" id="path2552" style="fill:#000000;fill-opacity:1;stroke:none" /><rect width="0.550412" height="126.01891" x="253.71959" y="120.21686" id="rect2556" style="fill:#000000;fill-opacity:1;stroke:none" /></g></g><path d="M 99.943,82.074773 H 209.611 C 213.707,82.074773 217.258,85.488773 217.258,89.722773 V 122.08977 C 217.258,126.32377 213.707,129.73877 209.611,129.73877 H 187.077 C 182.023,129.73877 179.838,132.60577 179.838,135.88377 V 241.86378 C 179.838,245.41478 176.97,248.14578 173.556,248.14578 H 136.272 C 132.857,248.14578 130.126,245.41478 130.126,241.86378 V 134.92877 C 130.126,131.65077 127.121,129.73977 124.8,129.73977 H 99.943 C 95.709,129.73977 92.295,126.32477 92.295,122.09077 V 89.722773 C 92.294,85.488773 95.708,82.074773 99.943,82.074773 z" id="path2528" style="fill:#7d4698;fill-opacity:1;fill-rule:evenodd;stroke:none" /><path d="M 381.30687,124.95877 L 381.44287,124.95877 L 391.00287,124.95877 C 394.55387,124.95877 397.42187,127.82677 397.42187,131.24077 L 397.42187,165.93077 C 397.42187,170.43777 397.69487,172.21277 392.23187,172.21277 C 381.44287,172.21277 376.52687,177.94877 376.52687,184.23077 L 376.52687,242.81978 C 376.52687,245.55178 373.93187,247.87278 370.79087,247.87278 L 335.96387,247.87278 C 332.82287,247.87278 330.22787,245.55178 330.22787,242.81978 L 330.22787,176.03577 C 330.19003,174.86136 330.21308,173.12767 330.36487,172.21277 C 332.27687,147.49277 351.6724,127.71491 376.25287,125.23177 C 377.07686,125.14853 379.9923,124.95877 381.30687,124.95877 z" id="path2532" style="fill:#7d4698;fill-opacity:1;fill-rule:evenodd;stroke:none" /><g transform="matrix(1.8025885,0,0,1.8025885,-321.30782,-98.80226)" id="layer7"><path d="M 405.999,129.09724 L 406.03025,129.09724 C 406.32841,129.09725 406.59516,129.09434 406.8115,129.12849 C 407.02174,129.15616 407.18553,129.23538 407.3115,129.31599 C 407.43963,129.38992 407.52656,129.48086 407.59275,129.62849 C 407.65137,129.75929 407.71119,129.95551 407.71775,130.19099 A 0.15001501,0.15001501 0 0 0 407.71775,130.22224 A 0.15001501,0.15001501 0 0 0 407.71775,130.25349 A 0.15001501,0.15001501 0 0 0 407.71775,130.28474 C 407.71088,130.78287 407.57349,131.11169 407.34275,131.28474 C 407.09818,131.46817 406.66419,131.566 406.0615,131.56599 L 405.999,131.56599 L 405.999,129.09724 z M 406.624,126.65974 C 408.58231,126.62221 410.53291,127.79987 411.35006,129.58251 C 412.29552,131.43018 412.03559,133.85822 410.60266,135.39008 C 410.45914,135.5564 410.56057,135.07431 410.53025,134.94099 C 410.50664,134.74608 410.24551,134.76592 410.08634,134.71387 C 409.881,134.71603 409.76226,134.58697 409.66954,134.41849 C 409.14394,133.6864 408.61835,132.95432 408.09275,132.22224 C 408.72543,132.0174 409.31305,131.59055 409.53124,130.9383 C 409.88942,130.02066 409.46377,128.87638 408.55463,128.46433 C 407.61591,127.99371 406.54008,128.16049 405.52668,128.12849 C 404.8379,128.1355 404.13903,128.1149 403.45616,128.13801 C 403.3012,128.29067 403.40346,128.54915 403.374,128.75349 C 403.41326,128.83477 403.44806,128.91528 403.55774,128.91855 C 403.74649,128.94686 403.93525,128.97518 404.124,129.00349 C 404.124,130.89932 404.124,132.79516 404.124,134.69099 C 403.90804,134.75931 403.62646,134.70852 403.46775,134.87849 C 403.47581,135.09914 403.45198,135.33178 403.47727,135.54633 C 403.59608,135.65947 403.79827,135.56664 403.95069,135.59724 C 404.89385,135.59723 405.83724,135.59726 406.78025,135.59724 C 406.91504,135.48472 406.8092,135.27086 406.84275,135.11585 C 406.84896,134.99491 406.87441,134.80931 406.71775,134.78474 C 406.47817,134.75349 406.23858,134.72224 405.999,134.69099 C 405.999,133.97224 405.999,133.25349 405.999,132.53474 C 406.21776,132.46529 406.30282,132.64714 406.40028,132.80568 C 407.0061,133.70495 407.61193,134.60422 408.21775,135.50349 C 408.21476,135.59479 408.35266,135.61735 408.39617,135.60835 C 409.06562,135.58221 409.75839,135.6048 410.4365,135.59724 C 409.88985,136.24245 409.11121,136.66629 408.3242,136.95456 C 406.60757,137.54095 404.59842,137.15879 403.24066,135.94741 C 401.76786,134.65244 401.14017,132.51152 401.6259,130.61776 C 402.14743,128.45188 404.17291,126.70624 406.42465,126.66418 C 406.49107,126.66158 406.55753,126.66012 406.624,126.65974 z M 406.65525,125.59724 C 404.79677,125.5659 402.96344,126.46712 401.78608,127.89152 C 400.49592,129.45674 400.01731,131.64057 400.55953,133.59716 C 401.12596,135.75186 402.9133,137.51703 405.07479,138.05675 C 407.33649,138.64681 409.91104,137.90817 411.43511,136.1134 C 412.42682,135.01714 412.99503,133.54684 412.96775,132.06599 C 412.99313,131.51621 412.93168,130.90548 412.80555,130.34718 C 412.1779,127.58852 409.46307,125.55052 406.65525,125.59724 z" id="text4064" style="font-size:18.31413078px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:center;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:middle;baseline-shift:baseline;color:#000000;fill:#7d4698;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Liberation Serif;-inkscape-font-specification:Sans" /></g></g></svg>
\ No newline at end of file
diff --git a/transfersh-server/static/includes/download-bottom.html b/transfersh-server/static/includes/download-bottom.html
new file mode 100644
index 0000000..ffdd2ef
--- /dev/null
+++ b/transfersh-server/static/includes/download-bottom.html
@@ -0,0 +1,5 @@
+                </div>
+            </div>
+        </div>
+    <br/>
+</section>
diff --git a/transfersh-server/static/includes/download-btn.html b/transfersh-server/static/includes/download-btn.html
new file mode 100644
index 0000000..515b585
--- /dev/null
+++ b/transfersh-server/static/includes/download-btn.html
@@ -0,0 +1,10 @@
+<div>
+    <a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> &nbsp;&nbsp;
+    <a href="{{.Url}}" class="btn-cta btn"> download</i> </a>
+    <div id="copy-link-wrapper" class="copy-link-wrapper">
+        <p>Press Ctrl / CMD + C to copy link to your clipboard.</p>
+        <input readonly="readonly" type="text" value="{{.Url}}" />
+    </div>
+    <div id="overlay" class="overlay"></div>
+</div>
+    <script src="scripts/clipboard.js"></script>
\ No newline at end of file
diff --git a/transfersh-server/static/includes/download-top.html b/transfersh-server/static/includes/download-top.html
new file mode 100644
index 0000000..fc113a1
--- /dev/null
+++ b/transfersh-server/static/includes/download-top.html
@@ -0,0 +1,6 @@
+        <br/>
+        <h2 class="page-title">{{.Filename}}</h2>
+        <h4>type: <b>{{.ContentType}}</b></h4>
+        <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+        <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
diff --git a/transfersh-server/static/includes/footer.html b/transfersh-server/static/includes/footer.html
new file mode 100644
index 0000000..8ac82c4
--- /dev/null
+++ b/transfersh-server/static/includes/footer.html
@@ -0,0 +1,36 @@
+<footer>
+    <div class="wrapper">
+        <div style="">
+            <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+            </a>
+        </div>
+        <br/>
+                <br/>
+        <img src="/images/Logo-orange.png" alt="Founded in Holland">
+        <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+        </p>
+    </div>
+
+</footer>
+
+
+<a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+    <script>
+    (function() {
+        var uv = document.createElement('script');
+        uv.type = 'text/javascript';
+        uv.async = true;
+        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+        var s = document.getElementsByTagName('script')[0];
+        s.parentNode.insertBefore(uv, s)
+    })()
+    </script>
+
+    <!--[if lt IE 7]>
+      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+    <![endif]-->
+
+   
+  
diff --git a/transfersh-server/static/includes/ga.html b/transfersh-server/static/includes/ga.html
new file mode 100644
index 0000000..c6d5bfd
--- /dev/null
+++ b/transfersh-server/static/includes/ga.html
@@ -0,0 +1,15 @@
+    <script>
+    (function(i, s, o, g, r, a, m) {
+        i['GoogleAnalyticsObject'] = r;
+        i[r] = i[r] || function() {
+            (i[r].q = i[r].q || []).push(arguments)
+        }, i[r].l = 1 * new Date();
+        a = s.createElement(o),
+            m = s.getElementsByTagName(o)[0];
+        a.async = 1;
+        a.src = g;
+        m.parentNode.insertBefore(a, m)
+    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
diff --git a/transfersh-server/static/includes/head.html b/transfersh-server/static/includes/head.html
new file mode 100644
index 0000000..ca98fe2
--- /dev/null
+++ b/transfersh-server/static/includes/head.html
@@ -0,0 +1,12 @@
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
+</head>
diff --git a/transfersh-server/static/includes/js.html b/transfersh-server/static/includes/js.html
new file mode 100644
index 0000000..63aabd7
--- /dev/null
+++ b/transfersh-server/static/includes/js.html
@@ -0,0 +1,2 @@
+    <script src="/scripts/main.js"></script>
+      
diff --git a/transfersh-server/static/includes/navigation.html b/transfersh-server/static/includes/navigation.html
new file mode 100644
index 0000000..12db9a7
--- /dev/null
+++ b/transfersh-server/static/includes/navigation.html
@@ -0,0 +1,15 @@
+    <div id="navigation">
+        <div class="wrapper">
+            <a href="/">
+                <h1>transfer.sh</h1>
+            </a>
+            <ul class="hidden-xs">
+                <li><a href="/">home</a>
+                </li>
+                <li><a href="/#samples">sample use cases</a>
+                </li>
+                <li><a href="/#contact">contact us</a>
+                </li>
+            </ul>
+        </div>
+    </div>
\ No newline at end of file
diff --git a/transfersh-server/static/index.html b/transfersh-server/static/index.html
index 15014de..223f42c 100644
--- a/transfersh-server/static/index.html
+++ b/transfersh-server/static/index.html
@@ -11,16 +11,16 @@
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
     <meta name="description" content="Easy and fast file sharing from the command-line.">
-    <meta name="viewport" content="width=device-width,initial-scale=1">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-    <link rel="stylesheet" href="styles/main.css">
-
-    <link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300" rel="stylesheet" type="text/css">
-    <link href="https://fonts.googleapis.com/css?family=Source+Code+Pro:400" rel="stylesheet" type="text/css">
-    <link href="http://fonts.googleapis.com/css?family=Droid+Sans+Mono" rel="stylesheet" type="text/css">
-    <script src="scripts/vendor/modernizr.js"></script>
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <script src="/scripts/vendor/modernizr.js"></script>
 </head>
 
+
+
 <body>
 
     <script>
@@ -39,21 +39,25 @@
     ga('send', 'pageview');
     </script>
 
-    <div id="navigation">
-        <div class="wrapper">
-            <h1>transfer.sh</h1>
-            <ul class="hidden-xs">
-                <li><a href="#samples">sample use cases</a>
-                </li>
-                <li><a href="#contact">contact us</a>
-                </li>
-            </ul>
+        <div id="navigation">
+            <div class="wrapper">
+                <a href="/">
+                    <h1>transfer.sh</h1>
+                </a>
+                <ul class="hidden-xs">
+                    <li><a href="/">home</a>
+                    </li>
+                    <li><a href="/#samples">sample use cases</a>
+                    </li>
+                    <li><a href="/#contact">contact us</a>
+                    </li>
+                </ul>
+            </div>
         </div>
-    </div>
 
     <section id="home">
         <div class="wrapper">
-            <h2>
+            <h2 class="page-title">
                 Easy file sharing from the command line</h2>
             <div class="row animated fadeInDown">
                 <div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12">
@@ -75,19 +79,20 @@
                         <code>
                             <br>
                             <span class="code-title"># Upload from web</span>
-                            <br>Drag your files here, or <a class="browse" href="#"> click to browse.</a>
+                            <br>Drag your files here, or <a class="browse" href="#"> click to browse. <br/></a>
+                           
                         </code>
-                        <input type="file" multiple="multiple" style="display: none">
-                        <ul class="queue">
+                        <input type="file" multiple="multiple" style='display: none;' />
+                        <ul class='queue'>
                             <li>
                             </li>
                         </ul>
-                        <div class="all-files">
+                        <div class='all-files'>
                             <br>
                             <div>
                                 <span class="code-title"># Download all your files</span>
-                                <br>
-                                <br>
+                                <br/>
+                                <br/>
                                 <a class="download-zip btn-cta" href="#">zip</a>  <a class="download-tar btn-cta" href="#">tar.gz</a>
                             </div>
                         </div>
@@ -95,16 +100,16 @@
                 </div>
 
                 <div>
-                    <a href="#features" class="btn-cta btn-home">learn more </a>
+                    <a href="#features" class="btn-cta btn-home">learn more</i> </a>
                 </div>
             </div>
-    </div></section>
+    </section>
 
 
 
     <section id="features">
         <div class="wrapper container">
-            <div class="row animated fadeInDown">
+            <div class="row  animated fadeInDown ">
                 <div class="col-md-3 col-xs-6">
                     <i class="icon-terminal"></i>
                     <h3>Made for use with shell</h3>
@@ -122,7 +127,7 @@
                     <h3>Files stored for 14 days</h3>
                 </div>
             </div>
-            <div class="row animated fadeInDown">
+            <div class="row  animated fadeInDown">
                 <div class="col-md-offset-3 col-md-3 col-xs-6">
                     <i class="icon-tag"></i>
                     <h3>For free</h3>
@@ -139,11 +144,11 @@
 
     <section id="samples">
         <div class="wrapper">
-            <h2>
+            <h2 class="page-title">
                 Sample use cases
             </h2>
             <div class="row">
-                <div class="col-md-6">
+                <div class="col-md-6 ">
                     <h3>How to upload</h3>
                     <div class="terminal-top">
 
@@ -159,20 +164,21 @@
                         </code>
                     </div>
                 </div>
-                <div class="col-md-6">
+                <div class="col-md-6 ">
                     <h3>Create an alias and add it to .bashrc or .zshrc</h3>
                     <div class="terminal-top">
                     </div>
                     <div class="terminal">
                         <code>
                             <span class="code-title"># Add this to .bashrc or its equivalent</span>
-                            <br>transfer() { 
-                            <br># write to output to tmpfile because of progress bar 
-                            <br>tmpfile=$( mktemp -t transferXXX ); curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }
-                            <br>
-                            <br>alias transfer=transfer
-                            <br>
-                            <br>
+                            <br/>transfer() {
+                            <br># write to output to tmpfile because of progress bar
+                            <br>tmpfile=$( mktemp -t transferXXX ); basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; cat $tmpfile; rm -f $tmpfile; 
+                            <br/>}
+                            <br/>
+                            <br/>alias transfer=transfer
+                            <br/>
+                            <br/>
                             <span class="code-title"># Now you can use transfer command</span>
                             <br>$ transfer hello.txt
                         </code>
@@ -183,9 +189,9 @@
 
             <a class="btn-cta" data-target="#coll" data-toggle="collapse">More examples</a>
 
-            <div class="collapse" id="coll">
+            <div class="collapse " id="coll">
                 <div class="row">
-                    <div class="col-md-6">
+                    <div class="col-md-6 ">
                         <h3>Upload multiple files at once</h3>
                         <div class="terminal-top">
                         </div>
@@ -196,13 +202,13 @@
                                 <br>
                                 <span class="code-title"># Combining downloads as zip or tar archive</span>
                                 <br>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).tar.gz
-                                <br>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip
+                                <br/>$ curl https://transfer.sh/(15HKz/hello.txt,15HKz/hello.txt).zip
                             </code>
                         </div>
 
 
                     </div>
-                    <div class="col-md-6">
+                    <div class="col-md-6 ">
                         <h3>Encrypt your files before the transfer</h3>
                         <div class="terminal-top">
                         </div>
@@ -229,7 +235,8 @@
                                 <span class="code-title"># Scan for malware or viruses using Clamav</span>
                                 <br>$ wget http://www.eicar.org/download/eicar.com
                                 <br>$ curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
-                                <br><br>
+                                <br>
+                                <br>
                                 <span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span>
                                 <br>$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
                                 <br>
@@ -243,7 +250,7 @@
                         <div class="terminal">
                             <code>
                                 <span class="code-title"># Backup, encrypt and transfer</span>
-                                <br>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt </code>
+                                <br/>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code>
                         </div>
                     </div>
                 </div>
@@ -255,7 +262,7 @@
                         <div class="terminal">
                             <code>
                                 <span class="code-title"># Transfer and send email with link (uses alias)</span>
-                                <br>$ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com
+                                <br/>$ transfer /tmp/hello.txt | mail -s "Hello World" user@yourmaildomain.com
                             </code>
                         </div>
                     </div>
@@ -274,28 +281,45 @@
         </div>
     </section>
 
+    <section id="share">
+        <div class="wrapper">
+            <h2 class="page-title">Follow on GitHub</h2>
+            <br>
+            <br>
+
+            <iframe src="//ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=follow&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="250" height="50"></iframe>
+            <iframe src="//ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="200" height="50"></iframe>
+        </div>
+    </section>
+
     <section id="reviews">
         <div class="wrapper">
             <div class="row">
                 <div class="col-md-8 col-md-offset-2 col-xs-12">
                     <blockquote class="twitter-tweet tweet-xl" lang="en">
-                        <img class="twitter-profile" src="images/reviews/dave.jpg" alt="">
+                        <a href="https://twitter.com/FloifyDave/status/517383101425516544">
+                            <img class="twitter-profile" src="images/reviews/dave.jpg" alt="">
+                        </a>
                         <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> Thanks for transfer.sh. Just used it for a production purpose for a customer. So great, so easy, so https. :)</p>
                         <a href="https://twitter.com/FloifyDave/status/517383101425516544">
-                            &mdash; Dave Sims (@FloifyDave)</a>
+                                &mdash; Dave Sims (@FloifyDave)</a>
                     </blockquote>
                 </div>
             </div>
             <div class="row">
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/kareem.jpg" alt="">
+                        <a href="https://twitter.com/kareemk/status/517029789191118849">
+                            <img class="twitter-profile" src="images/reviews/kareem.jpg" alt="">
+                        </a>
                         <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> love transfer.sh! any change we can *pay* for a self-hosted version?</p><a href="https://twitter.com/kareemk/status/517029789191118849">&mdash; Kareem Kouddous (@kareemk) </a>
                     </blockquote>
                 </div>
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/pg.jpeg" alt="">
+                        <a href="https://twitter.com/drakpz/status/517008058841829376">
+                            <img class="twitter-profile" src="images/reviews/pg.jpeg" alt="">
+                        </a>
                         <p><a href="http://t.co/JomAmqWYEB">http://t.co/JomAmqWYEB</a> by <a href="https://twitter.com/dutchcoders">@dutchcoders</a> is pure awesomeness! any chance of source on github? :-)</p><a href="https://twitter.com/drakpz/status/517008058841829376">&mdash; PJ Spagnolatti (@drakpz)</a>
                     </blockquote>
                 </div>
@@ -303,14 +327,18 @@
             <div class="row">
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/jacob.jpg" alt="">
+                        <a href="https://twitter.com/jacoblindgren11/status/516975006501203968">
+                            <img class="twitter-profile" src="images/reviews/jacob.jpg" alt="">
+                        </a>
                         <p>Love transfer.sh! Will be using it from now on! Thanks for the amazing service we can use from the CLI <a href="https://twitter.com/dutchcoders">@dutchcoders</a>
                         </p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">&mdash; Jacob Lindgren (@jacoblindgren11) </a>
                     </blockquote>
                 </div>
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/lars.jpg" alt="">
+                        <a href="https://twitter.com/arvestad/status/519507976491499521">
+                            <img class="twitter-profile" src="images/reviews/lars.jpg" alt="">
+                        </a>
                         <p>transfer.sh is my latest fav service! Try simple command-line and web file sharing! <a href="https://t.co/FSrsb1JKJd">https://t.co/FSrsb1JKJd</a>&#10;Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">&mdash; Lars Arvestad (@arvestad)</a>
                     </blockquote>
                 </div>
@@ -320,83 +348,93 @@
 
     <section id="share">
         <div class="wrapper">
-            <h2>Share the love</h2>
+            <h2 class="page-title">Share the love</h2>
             <ul class="share-buttons">
                 <li>
-                    <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false"> <i class="icon-facebook"></i> 
+                    <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-facebook"></i> 
                     </a>
                 </li>
                 <li>
-                    <a href="https://twitter.com/intent/tweet?source=http%3A%2F%2Ftransfer.sh&text=:%20http%3A%2F%2Ftransfer.sh" target="_blank" title="Tweet" onclick="window.open('https://twitter.com/intent/tweet?text=' + encodeURIComponent(document.title) + ':%20'  + encodeURIComponent(document.URL)); return false"> <i class="icon-twitter"></i>
-                </a></li>
+                    <a href="https://twitter.com/intent/tweet?source=http%3A%2F%2Ftransfer.sh&text=:%20http%3A%2F%2Ftransfer.sh" target="_blank" title="Tweet" onclick="window.open('https://twitter.com/intent/tweet?text=' + encodeURIComponent(document.title) + ':%20'  + encodeURIComponent(document.URL)); return false;"> <i class="icon-twitter"></i>
+                </li>
                 <li>
-                    <a href="https://plus.google.com/share?url=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on Google+" onclick="window.open('https://plus.google.com/share?url=' + encodeURIComponent(document.URL)); return false"> <i class="icon-gplus"></i> 
+                    <a href="https://plus.google.com/share?url=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on Google+" onclick="window.open('https://plus.google.com/share?url=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-gplus"></i> 
                     </a>
                 </li>
                 <li>
-                    <a href="http://www.linkedin.com/shareArticle?mini=true&url=http%3A%2F%2Ftransfer.sh&title=&summary=&source=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on LinkedIn" onclick="window.open('http://www.linkedin.com/shareArticle?mini=true&url=' + encodeURIComponent(document.URL) + '&title=' +  encodeURIComponent(document.title)); return false"> <i class="icon-linkedin"></i>
+                    <a href="http://www.linkedin.com/shareArticle?mini=true&url=http%3A%2F%2Ftransfer.sh&title=&summary=&source=http%3A%2F%2Ftransfer.sh" target="_blank" title="Share on LinkedIn" onclick="window.open('http://www.linkedin.com/shareArticle?mini=true&url=' + encodeURIComponent(document.URL) + '&title=' +  encodeURIComponent(document.title)); return false;"> <i class="icon-linkedin"></i>
                     </a>
                 </li>
             </ul>
         </div>
     </section>
 
+
     <section id="contact">
         <div class="wrapper">
             <i class="icon-mail"></i>
-            <h2>
+            <h2 class="page-title">
                 Any questions?
             </h2>
             <a href="#" data-uv-trigger class="btn-cta">contact us</a>
         </div>
     </section>
 
+
+    <section id="tor">
+        <div class="wrapper">
+            <a href="https://torproject.com"><img src="images/tor.svg" alt=""></a><br/>
+            <a href="https://jxm5d6emw5rknovg.onion/">https://jxm5d6emw5rknovg.onion/</a>
+        </div>
+    </section>
+
+
     <footer>
         <div class="wrapper">
-            <img src="images/Logo-orange.png" alt="Founded in Holland">
-            <p>Made with <i class="icon-heart"></i> by <a href="http://dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+            <div style="">
+                <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                    <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+                </a>
+            </div>
+            <br/>
+                    <br/>
+            <img src="/images/Logo-orange.png" alt="Founded in Holland">
+            <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
             </p>
         </div>
+
     </footer>
 
-    <a href="https://github.com/dutchcoders/transfer.sh/">
-        <img style="position: absolute; top: 0; right: 0; border: 0" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png">
-    </a>
 
-    <script>
-    (function() {
-        var uv = document.createElement('script');
-        uv.type = 'text/javascript';
-        uv.async = true;
-        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
-        var s = document.getElementsByTagName('script')[0];
-        s.parentNode.insertBefore(uv, s)
-    })()
-    </script>
+    <a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+        <script>
+        (function() {
+            var uv = document.createElement('script');
+            uv.type = 'text/javascript';
+            uv.async = true;
+            uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+            var s = document.getElementsByTagName('script')[0];
+            s.parentNode.insertBefore(uv, s)
+        })()
+        </script>
+
+        <!--[if lt IE 7]>
+          <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+        <![endif]-->
+
+       
+      
+
+
+        <script src="/scripts/main.js"></script>
+          
+
 
-    <!--[if lt IE 7]>
-      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-    <![endif]-->
 
-    <script>
-    (function(b, o, i, l, e, r) {
-        b.GoogleAnalyticsObject = l;
-        b[l] || (b[l] =
-            function() {
-                (b[l].q = b[l].q || []).push(arguments)
-            });
-        b[l].l = +new Date;
-        e = o.createElement(i);
-        r = o.getElementsByTagName(i)[0];
-        e.src = '//www.google-analytics.com/analytics.js';
-        r.parentNode.insertBefore(e, r)
-    }(window, document, 'script', 'ga'));
-    ga('create', 'UA-40833733-1', 'transfer.sh');
-    ga('send', 'pageview');
-    </script>
 
-    <script src="scripts/main.js"></script>
+    
 
 </body>
 
-</html>
\ No newline at end of file
+</html>
diff --git a/transfersh-server/static/scripts/main.js b/transfersh-server/static/scripts/main.js
index 837eb42..a096d4c 100644
--- a/transfersh-server/static/scripts/main.js
+++ b/transfersh-server/static/scripts/main.js
@@ -1,5 +1,5 @@
 !function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b=a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(hb.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=ob[a]={};return _.each(a.match(nb)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+Math.random()}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ub,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:tb.test(c)?_.parseJSON(c):c}catch(e){}sb.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Kb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)rb.set(a[c],"globalEval",!b||rb.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(rb.hasData(a)&&(f=rb.access(a),g=rb.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sb.hasData(a)&&(h=sb.access(a),i=_.extend({},h),sb.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&yb.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Ob[a];return c||(c=t(a,b),"none"!==c&&c||(Nb=(Nb||_("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=Nb[0].contentDocument,b.write(),b.close(),c=t(a,b),Nb.detach()),Ob[a]=c),c}function v(a,b,c){var d,e,f,g,h=a.style;return c=c||Rb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||_.contains(a.ownerDocument,a)||(g=_.style(a,b)),Qb.test(g)&&Pb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function w(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}function x(a,b){if(b in a)return b;for(var c=b[0].toUpperCase()+b.slice(1),d=b,e=Xb.length;e--;)if(b=Xb[e]+c,b in a)return b;return d}function y(a,b,c){var d=Tb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function z(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=_.css(a,c+wb[f],!0,e)),d?("content"===c&&(g-=_.css(a,"padding"+wb[f],!0,e)),"margin"!==c&&(g-=_.css(a,"border"+wb[f]+"Width",!0,e))):(g+=_.css(a,"padding"+wb[f],!0,e),"padding"!==c&&(g+=_.css(a,"border"+wb[f]+"Width",!0,e)));return g}function A(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Rb(a),g="border-box"===_.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=v(a,b,f),(0>e||null==e)&&(e=a.style[b]),Qb.test(e))return e;d=g&&(Y.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+z(a,b,c||(g?"border":"content"),d,f)+"px"}function B(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=rb.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&xb(d)&&(f[g]=rb.access(d,"olddisplay",u(d.nodeName)))):(e=xb(d),"none"===c&&e||rb.set(d,"olddisplay",e?c:_.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function C(a,b,c,d,e){return new C.prototype.init(a,b,c,d,e)}function D(){return setTimeout(function(){Yb=void 0}),Yb=_.now()}function E(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=wb[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function F(a,b,c){for(var d,e=(cc[b]||[]).concat(cc["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function G(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},n=a.style,o=a.nodeType&&xb(a),p=rb.get(a,"fxshow");c.queue||(h=_._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,_.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[n.overflow,n.overflowX,n.overflowY],j=_.css(a,"display"),k="none"===j?rb.get(a,"olddisplay")||u(a.nodeName):j,"inline"===k&&"none"===_.css(a,"float")&&(n.display="inline-block")),c.overflow&&(n.overflow="hidden",l.always(function(){n.overflow=c.overflow[0],n.overflowX=c.overflow[1],n.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],$b.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(o?"hide":"show")){if("show"!==e||!p||void 0===p[d])continue;o=!0}m[d]=p&&p[d]||_.style(a,d)}else j=void 0;if(_.isEmptyObject(m))"inline"===("none"===j?u(a.nodeName):j)&&(n.display=j);else{p?"hidden"in p&&(o=p.hidden):p=rb.access(a,"fxshow",{}),f&&(p.hidden=!o),o?_(a).show():l.done(function(){_(a).hide()}),l.done(function(){var b;rb.remove(a,"fxshow");for(b in m)_.style(a,b,m[b])});for(d in m)g=F(o?p[d]:0,d,l),d in p||(p[d]=g.start,o&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function H(a,b){var c,d,e,f,g;for(c in a)if(d=_.camelCase(c),e=b[d],f=a[c],_.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=_.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function I(a,b,c){var d,e,f=0,g=bc.length,h=_.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Yb||D(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:_.extend({},b),opts:_.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Yb||D(),duration:c.duration,tweens:[],createTween:function(b,c){var d=_.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(H(k,j.opts.specialEasing);g>f;f++)if(d=bc[f].call(j,a,k,j.opts))return d;return _.map(k,F,j),_.isFunction(j.opts.start)&&j.opts.start.call(a,j),_.fx.timer(_.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function J(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(nb)||[];if(_.isFunction(c))for(;d=f[e++];)"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function K(a,b,c,d){function e(h){var i;return f[h]=!0,_.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||g||f[j]?g?!(i=j):void 0:(b.dataTypes.unshift(j),e(j),!1)}),i}var f={},g=a===vc;return e(b.dataTypes[0])||!f["*"]&&e("*")}function L(a,b){var c,d,e=_.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&_.extend(!0,a,d),a}function M(a,b,c){for(var d,e,f,g,h=a.contents,i=a.dataTypes;"*"===i[0];)i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function N(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];for(f=k.shift();f;)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}function O(a,b,c,d){var e;if(_.isArray(b))_.each(b,function(b,e){c||zc.test(a)?d(a,e):O(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==_.type(b))d(a,b);else for(e in b)O(a+"["+e+"]",b[e],c,d)}function P(a){return _.isWindow(a)?a:9===a.nodeType&&a.defaultView}var Q=[],R=Q.slice,S=Q.concat,T=Q.push,U=Q.indexOf,V={},W=V.toString,X=V.hasOwnProperty,Y={},Z=a.document,$="2.1.1",_=function(a,b){return new _.fn.init(a,b)},ab=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,bb=/^-ms-/,cb=/-([\da-z])/gi,db=function(a,b){return b.toUpperCase()};_.fn=_.prototype={jquery:$,constructor:_,selector:"",length:0,toArray:function(){return R.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:R.call(this)},pushStack:function(a){var b=_.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return _.each(this,a,b)},map:function(a){return this.pushStack(_.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(R.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:T,sort:Q.sort,splice:Q.splice},_.extend=_.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||_.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(_.isPlainObject(d)||(e=_.isArray(d)))?(e?(e=!1,f=c&&_.isArray(c)?c:[]):f=c&&_.isPlainObject(c)?c:{},g[b]=_.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},_.extend({expando:"jQuery"+($+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===_.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!_.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==_.type(a)||a.nodeType||_.isWindow(a)?!1:a.constructor&&!X.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?V[W.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=_.trim(a),a&&(1===a.indexOf("use strict")?(b=Z.createElement("script"),b.text=a,Z.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(bb,"ms-").replace(cb,db)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,d){var e,f=0,g=a.length,h=c(a);if(d){if(h)for(;g>f&&(e=b.apply(a[f],d),e!==!1);f++);else for(f in a)if(e=b.apply(a[f],d),e===!1)break}else if(h)for(;g>f&&(e=b.call(a[f],f,a[f]),e!==!1);f++);else for(f in a)if(e=b.call(a[f],f,a[f]),e===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(ab,"")},makeArray:function(a,b){var d=b||[];return null!=a&&(c(Object(a))?_.merge(d,"string"==typeof a?[a]:a):T.call(d,a)),d},inArray:function(a,b,c){return null==b?-1:U.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,d){var e,f=0,g=a.length,h=c(a),i=[];if(h)for(;g>f;f++)e=b(a[f],f,d),null!=e&&i.push(e);else for(f in a)e=b(a[f],f,d),null!=e&&i.push(e);return S.apply([],i)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(c=a[b],b=a,a=c),_.isFunction(a)?(d=R.call(arguments,2),e=function(){return a.apply(b||this,d.concat(R.call(arguments)))},e.guid=a.guid=a.guid||_.guid++,e):void 0},now:Date.now,support:Y}),_.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){V["[object "+b+"]"]=b.toLowerCase()});var eb=function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o,p;if((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,c=c||[],!a||"string"!=typeof a)return c;if(1!==(h=b.nodeType)&&9!==h)return[];if(I&&!d){if(e=sb.exec(a))if(g=e[1]){if(9===h){if(f=b.getElementById(g),!f||!f.parentNode)return c;if(f.id===g)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(g))&&M(b,f)&&f.id===g)return c.push(f),c}else{if(e[2])return _.apply(c,b.getElementsByTagName(a)),c;if((g=e[3])&&v.getElementsByClassName&&b.getElementsByClassName)return _.apply(c,b.getElementsByClassName(g)),c}if(v.qsa&&(!J||!J.test(a))){if(n=l=N,o=b,p=9===h&&a,1===h&&"object"!==b.nodeName.toLowerCase()){for(j=z(a),(l=b.getAttribute("id"))?n=l.replace(ub,"\\$&"):b.setAttribute("id",n),n="[id='"+n+"'] ",i=j.length;i--;)j[i]=n+m(j[i]);o=tb.test(a)&&k(b.parentNode)||b,p=j.join(",")}if(p)try{return _.apply(c,o.querySelectorAll(p)),c}catch(q){}finally{l||b.removeAttribute("id")}}}return B(a.replace(ib,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=a.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||W)-(~a.sourceIndex||W);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&typeof a.getElementsByTagName!==V&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function n(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=Q++;return b.first?function(b,c,f){for(;b=b[d];)if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[P,f];if(g){for(;b=b[d];)if((1===b.nodeType||e)&&a(b,c,g))return!0}else for(;b=b[d];)if(1===b.nodeType||e){if(i=b[N]||(b[N]={}),(h=i[d])&&h[0]===P&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function o(a){return a.length>1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;f>e;e++)b(a,c[e],d);return d}function q(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function r(a,b,c,e,f,g){return e&&!e[N]&&(e=r(e)),f&&!f[N]&&(f=r(f,g)),d(function(d,g,h,i){var j,k,l,m=[],n=[],o=g.length,r=d||p(b||"*",h.nodeType?[h]:h,[]),s=!a||!d&&b?r:q(r,m,a,h,i),t=c?f||(d?a:o||e)?[]:g:s;if(c&&c(s,t,h,i),e)for(j=q(t,n),e(j,[],h,i),k=j.length;k--;)(l=j[k])&&(t[n[k]]=!(s[n[k]]=l));if(d){if(f||a){if(f){for(j=[],k=t.length;k--;)(l=t[k])&&j.push(s[k]=l);f(null,t=[],j,i)}for(k=t.length;k--;)(l=t[k])&&(j=f?bb.call(d,l):m[k])>-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):_.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return bb.call(b,a)>-1},g,!0),k=[function(a,c,d){return!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d))}];e>h;h++)if(c=w.relative[a[h].type])k=[n(o(k),c)];else{if(c=w.filter[a[h].type].apply(null,a[h].matches),c[N]){for(d=++h;e>d&&!w.relative[a[d].type];d++);return r(h>1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ib,"$1"),c,d>h&&s(a.slice(h,d)),e>d&&s(a=a.slice(d)),e>d&&m(a))}k.push(c)}return o(k)}function t(a,c){var e=c.length>0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g!==G&&g);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0;m=a[l++];)if(m(k,g,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Z.call(i));r=q(r)}_.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+-new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V="undefined",W=1<<31,X={}.hasOwnProperty,Y=[],Z=Y.pop,$=Y.push,_=Y.push,ab=Y.slice,bb=Y.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},cb="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",db="[\\x20\\t\\r\\n\\f]",eb="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",fb=eb.replace("w","w#"),gb="\\["+db+"*("+eb+")(?:"+db+"*([*^$|!~]?=)"+db+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+fb+"))|)"+db+"*\\]",hb=":("+eb+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+gb+")*)|.*)\\)|)",ib=new RegExp("^"+db+"+|((?:^|[^\\\\])(?:\\\\.)*)"+db+"+$","g"),jb=new RegExp("^"+db+"*,"+db+"*"),kb=new RegExp("^"+db+"*([>+~]|"+db+")"+db+"*"),lb=new RegExp("="+db+"*([^\\]'\"]*?)"+db+"*\\]","g"),mb=new RegExp(hb),nb=new RegExp("^"+fb+"$"),ob={ID:new RegExp("^#("+eb+")"),CLASS:new RegExp("^\\.("+eb+")"),TAG:new RegExp("^("+eb.replace("w","w*")+")"),ATTR:new RegExp("^"+gb),PSEUDO:new RegExp("^"+hb),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+db+"*(even|odd|(([+-]|)(\\d*)n|)"+db+"*(?:([+-]|)"+db+"*(\\d+)|))"+db+"*\\)|)","i"),bool:new RegExp("^(?:"+cb+")$","i"),needsContext:new RegExp("^"+db+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+db+"*((?:-\\d)?\\d*)"+db+"*\\)|)(?=[^-]|$)","i")},pb=/^(?:input|select|textarea|button)$/i,qb=/^h\d$/i,rb=/^[^{]+\{\s*\[native \w/,sb=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,tb=/[+~]/,ub=/'|\\/g,vb=new RegExp("\\\\([\\da-f]{1,6}"+db+"?|("+db+")|.)","ig"),wb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{_.apply(Y=ab.call(O.childNodes),O.childNodes),Y[O.childNodes.length].nodeType}catch(xb){_={apply:Y.length?function(a,b){$.apply(a,ab.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},F=b.setDocument=function(a){var b,c=a?a.ownerDocument||a:O,d=c.defaultView;return c!==G&&9===c.nodeType&&c.documentElement?(G=c,H=c.documentElement,I=!y(c),d&&d!==d.top&&(d.addEventListener?d.addEventListener("unload",function(){F()},!1):d.attachEvent&&d.attachEvent("onunload",function(){F()})),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(c.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=rb.test(c.getElementsByClassName)&&e(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),v.getById=e(function(a){return H.appendChild(a).id=N,!c.getElementsByName||!c.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if(typeof b.getElementById!==V&&I){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},w.filter.ID=function(a){var b=a.replace(vb,wb);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(vb,wb);return function(a){var c=typeof a.getAttributeNode!==V&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==V?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==V&&I?b.getElementsByClassName(a):void 0},K=[],J=[],(v.qsa=rb.test(c.querySelectorAll))&&(e(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&J.push("[*^$]="+db+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+db+"*(?:value|"+cb+")"),a.querySelectorAll(":checked").length||J.push(":checked")}),e(function(a){var b=c.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+db+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=rb.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",hb)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=rb.test(H.compareDocumentPosition),M=b||rb.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!v.sortDetached&&b.compareDocumentPosition(a)===d?a===c||a.ownerDocument===O&&M(O,a)?-1:b===c||b.ownerDocument===O&&M(O,b)?1:D?bb.call(D,a)-bb.call(D,b):0:4&d?-1:1)}:function(a,b){if(a===b)return E=!0,0;var d,e=0,f=a.parentNode,h=b.parentNode,i=[a],j=[b];if(!f||!h)return a===c?-1:b===c?1:f?-1:h?1:D?bb.call(D,a)-bb.call(D,b):0;if(f===h)return g(a,b);for(d=a;d=d.parentNode;)i.unshift(d);for(d=b;d=d.parentNode;)j.unshift(d);for(;i[e]===j[e];)e++;return e?g(i[e],j[e]):i[e]===O?-1:j[e]===O?1:0},c):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(lb,"='$1']"),!(!v.matchesSelector||!I||K&&K.test(c)||J&&J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&X.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:ob,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(vb,wb),a[3]=(a[3]||a[4]||a[5]||"").replace(vb,wb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return ob.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&mb.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(vb,wb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+db+")"+a+"("+db+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==V&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:c?(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f+" ").indexOf(d)>-1:"|="===c?f===d||f.slice(0,d.length+1)===d+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){for(;p;){for(l=b;l=l[p];)if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(k=q[N]||(q[N]={}),j=k[a]||[],n=j[0]===P&&j[1],m=j[0]===P&&j[2],l=n&&q.childNodes[n];l=++n&&l&&l[p]||(m=n=0)||o.pop();)if(1===l.nodeType&&++m&&l===b){k[a]=[P,n,m];break}}else if(s&&(j=(b[N]||(b[N]={}))[a])&&j[0]===P)m=j[1];else for(;(l=++n&&l&&l[p]||(m=n=0)||o.pop())&&((h?l.nodeName.toLowerCase()!==r:1!==l.nodeType)||!++m||(s&&((l[N]||(l[N]={}))[a]=[P,m]),l!==b)););return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=bb.call(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ib,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return nb.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(vb,wb).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return qb.test(a.nodeName)},input:function(a){return pb.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[0>c?c+b:c]}),even:j(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:j(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:j(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},w.pseudos.nth=w.pseudos.eq;for(u in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[u]=h(u);for(u in{submit:!0,reset:!0})w.pseudos[u]=i(u);return l.prototype=w.filters=w.pseudos,w.setFilters=new l,z=b.tokenize=function(a,c){var d,e,f,g,h,i,j,k=S[a+" "];if(k)return c?0:k.slice(0);for(h=a,i=[],j=w.preFilter;h;){(!d||(e=jb.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),d=!1,(e=kb.exec(h))&&(d=e.shift(),f.push({value:d,type:e[0].replace(ib," ")}),h=h.slice(d.length));for(g in w.filter)!(e=ob[g].exec(h))||j[g]&&!(e=j[g](e))||(d=e.shift(),f.push({value:d,type:g,matches:e}),h=h.slice(d.length));if(!d)break}return c?h.length:h?b.error(a):S(a,i).slice(0)},A=b.compile=function(a,b){var c,d=[],e=[],f=T[a+" "];if(!f){for(b||(b=z(a)),c=b.length;c--;)f=s(b[c]),f[N]?d.push(f):e.push(f);f=T(a,t(e,d)),f.selector=a}return f},B=b.select=function(a,b,c,d){var e,f,g,h,i,j="function"==typeof a&&a,l=!d&&z(a=j.selector||a);if(c=c||[],1===l.length){if(f=l[0]=l[0].slice(0),f.length>2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(vb,wb),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=ob.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(vb,wb),tb.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return _.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,tb.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(cb,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);_.find=eb,_.expr=eb.selectors,_.expr[":"]=_.expr.pseudos,_.unique=eb.uniqueSort,_.text=eb.getText,_.isXMLDoc=eb.isXML,_.contains=eb.contains;var fb=_.expr.match.needsContext,gb=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,hb=/^.[^:#\[\.,]*$/;_.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?_.find.matchesSelector(d,a)?[d]:[]:_.find.matches(a,_.grep(b,function(a){return 1===a.nodeType}))},_.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(_(a).filter(function(){for(b=0;c>b;b++)if(_.contains(e[b],this))return!0
 }));for(b=0;c>b;b++)_.find(a,e[b],d);return d=this.pushStack(c>1?_.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&fb.test(a)?_(a):a||[],!1).length}});var ib,jb=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,kb=_.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:jb.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||ib).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof _?b[0]:b,_.merge(this,_.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:Z,!0)),gb.test(c[1])&&_.isPlainObject(b))for(c in b)_.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=Z.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=Z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):_.isFunction(a)?"undefined"!=typeof ib.ready?ib.ready(a):a(_):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),_.makeArray(a,this))};kb.prototype=_.fn,ib=_(Z);var lb=/^(?:parents|prev(?:Until|All))/,mb={children:!0,contents:!0,next:!0,prev:!0};_.extend({dir:function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&_(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),_.fn.extend({has:function(a){var b=_(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(_.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=fb.test(a)||"string"!=typeof a?_(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&_.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?_.unique(f):f)},index:function(a){return a?"string"==typeof a?U.call(_(a),this[0]):U.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(_.unique(_.merge(this.get(),_(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),_.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return _.dir(a,"parentNode")},parentsUntil:function(a,b,c){return _.dir(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return _.dir(a,"nextSibling")},prevAll:function(a){return _.dir(a,"previousSibling")},nextUntil:function(a,b,c){return _.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return _.dir(a,"previousSibling",c)},siblings:function(a){return _.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return _.sibling(a.firstChild)},contents:function(a){return a.contentDocument||_.merge([],a.childNodes)}},function(a,b){_.fn[a]=function(c,d){var e=_.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=_.filter(d,e)),this.length>1&&(mb[a]||_.unique(e),lb.test(a)&&e.reverse()),this.pushStack(e)}});var nb=/\S+/g,ob={};_.Callbacks=function(a){a="string"==typeof a?ob[a]||f(a):_.extend({},a);var b,c,d,e,g,h,i=[],j=!a.once&&[],k=function(f){for(b=a.memory&&f,c=!0,h=e||0,e=0,g=i.length,d=!0;i&&g>h;h++)if(i[h].apply(f[0],f[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,i&&(j?j.length&&k(j.shift()):b?i=[]:l.disable())},l={add:function(){if(i){var c=i.length;!function f(b){_.each(b,function(b,c){var d=_.type(c);"function"===d?a.unique&&l.has(c)||i.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),d?g=i.length:b&&(e=c,k(b))}return this},remove:function(){return i&&_.each(arguments,function(a,b){for(var c;(c=_.inArray(b,i,c))>-1;)i.splice(c,1),d&&(g>=c&&g--,h>=c&&h--)}),this},has:function(a){return a?_.inArray(a,i)>-1:!(!i||!i.length)},empty:function(){return i=[],g=0,this},disable:function(){return i=j=b=void 0,this},disabled:function(){return!i},lock:function(){return j=void 0,b||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return!i||c&&!j||(b=b||[],b=[a,b.slice?b.slice():b],d?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!c}};return l},_.extend({Deferred:function(a){var b=[["resolve","done",_.Callbacks("once memory"),"resolved"],["reject","fail",_.Callbacks("once memory"),"rejected"],["notify","progress",_.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return _.Deferred(function(c){_.each(b,function(b,f){var g=_.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&_.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?_.extend(a,d):d}},e={};return d.pipe=d.then,_.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=R.call(arguments),g=f.length,h=1!==g||a&&_.isFunction(a.promise)?g:0,i=1===h?a:_.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?R.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);g>e;e++)f[e]&&_.isFunction(f[e].promise)?f[e].promise().done(j(e,d,f)).fail(i.reject).progress(j(e,c,b)):--h;return h||i.resolveWith(d,f),i.promise()}});var pb;_.fn.ready=function(a){return _.ready.promise().done(a),this},_.extend({isReady:!1,readyWait:1,holdReady:function(a){a?_.readyWait++:_.ready(!0)},ready:function(a){(a===!0?--_.readyWait:_.isReady)||(_.isReady=!0,a!==!0&&--_.readyWait>0||(pb.resolveWith(Z,[_]),_.fn.triggerHandler&&(_(Z).triggerHandler("ready"),_(Z).off("ready"))))}}),_.ready.promise=function(b){return pb||(pb=_.Deferred(),"complete"===Z.readyState?setTimeout(_.ready):(Z.addEventListener("DOMContentLoaded",g,!1),a.addEventListener("load",g,!1))),pb.promise(b)},_.ready.promise();var qb=_.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===_.type(c)){e=!0;for(h in c)_.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,_.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(_(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};_.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType},h.uid=1,h.accepts=_.acceptData,h.prototype={key:function(a){if(!h.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=h.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,_.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(_.isEmptyObject(f))_.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,_.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{_.isArray(b)?d=b.concat(b.map(_.camelCase)):(e=_.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(nb)||[])),c=d.length;for(;c--;)delete g[d[c]]}},hasData:function(a){return!_.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var rb=new h,sb=new h,tb=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ub=/([A-Z])/g;_.extend({hasData:function(a){return sb.hasData(a)||rb.hasData(a)},data:function(a,b,c){return sb.access(a,b,c)},removeData:function(a,b){sb.remove(a,b)},_data:function(a,b,c){return rb.access(a,b,c)},_removeData:function(a,b){rb.remove(a,b)}}),_.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=sb.get(f),1===f.nodeType&&!rb.get(f,"hasDataAttrs"))){for(c=g.length;c--;)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=_.camelCase(d.slice(5)),i(f,d,e[d])));rb.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){sb.set(this,a)}):qb(this,function(b){var c,d=_.camelCase(a);if(f&&void 0===b){if(c=sb.get(f,a),void 0!==c)return c;if(c=sb.get(f,d),void 0!==c)return c;if(c=i(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=sb.get(this,d);sb.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&sb.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){sb.remove(this,a)})}}),_.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=rb.get(a,b),c&&(!d||_.isArray(c)?d=rb.access(a,b,_.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=_.queue(a,b),d=c.length,e=c.shift(),f=_._queueHooks(a,b),g=function(){_.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return rb.get(a,c)||rb.access(a,c,{empty:_.Callbacks("once memory").add(function(){rb.remove(a,[b+"queue",c])})})}}),_.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?_.queue(this[0],a):void 0===b?this:this.each(function(){var c=_.queue(this,a,b);_._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&_.dequeue(this,a)})},dequeue:function(a){return this.each(function(){_.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=_.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};for("string"!=typeof a&&(b=a,a=void 0),a=a||"fx";g--;)c=rb.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var vb=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,wb=["Top","Right","Bottom","Left"],xb=function(a,b){return a=b||a,"none"===_.css(a,"display")||!_.contains(a.ownerDocument,a)},yb=/^(?:checkbox|radio)$/i;!function(){var a=Z.createDocumentFragment(),b=a.appendChild(Z.createElement("div")),c=Z.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),Y.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",Y.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var zb="undefined";Y.focusinBubbles="onfocusin"in a;var Ab=/^key/,Bb=/^(?:mouse|pointer|contextmenu)|click/,Cb=/^(?:focusinfocus|focusoutblur)$/,Db=/^([^.]*)(?:\.(.+)|)$/;_.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=rb.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=_.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return typeof _!==zb&&_.event.triggered!==b.type?_.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(nb)||[""],j=b.length;j--;)h=Db.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=_.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=_.event.special[n]||{},k=_.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&_.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),_.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=rb.hasData(a)&&rb.get(a);if(q&&(i=q.events)){for(b=(b||"").match(nb)||[""],j=b.length;j--;)if(h=Db.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=_.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||_.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)_.event.remove(a,n+b[j],c,d,!0);_.isEmptyObject(i)&&(delete q.handle,rb.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||Z],n=X.call(b,"type")?b.type:b,o=X.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||Z,3!==d.nodeType&&8!==d.nodeType&&!Cb.test(n+_.event.triggered)&&(n.indexOf(".")>=0&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[_.expando]?b:new _.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:_.makeArray(c,[b]),l=_.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!_.isWindow(d)){for(i=l.delegateType||n,Cb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||Z)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(rb.get(g,"events")||{})[b.type]&&rb.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&_.acceptData(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!_.acceptData(d)||j&&_.isFunction(d[n])&&!_.isWindow(d)&&(h=d[j],h&&(d[j]=null),_.event.triggered=n,d[n](),_.event.triggered=void 0,h&&(d[j]=h)),b.result}},dispatch:function(a){a=_.event.fix(a);var b,c,d,e,f,g=[],h=R.call(arguments),i=(rb.get(this,"events")||{})[a.type]||[],j=_.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=_.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)(!a.namespace_re||a.namespace_re.test(f.namespace))&&(a.handleObj=f,a.data=f.data,d=((_.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?_(e,this).index(i)>=0:_.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||Z,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[_.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];for(g||(this.fixHooks[e]=g=Bb.test(e)?this.mouseHooks:Ab.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new _.Event(f),b=d.length;b--;)c=d[b],a[c]=f[c];return a.target||(a.target=Z),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==l()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===l()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&_.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return _.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=_.extend(new _.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?_.event.trigger(e,null,b):_.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},_.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},_.Event=function(a,b){return this instanceof _.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?j:k):this.type=a,b&&_.extend(this,b),this.timeStamp=a&&a.timeStamp||_.now(),void(this[_.expando]=!0)):new _.Event(a,b)},_.Event.prototype={isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=j,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=j,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=j,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},_.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){_.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!_.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),Y.focusinBubbles||_.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){_.event.simulate(b,a.target,_.event.fix(a),!0)};_.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=rb.access(d,b);e||d.addEventListener(a,c,!0),rb.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=rb.access(d,b)-1;e?rb.access(d,b,e):(d.removeEventListener(a,c,!0),rb.remove(d,b))}}}),_.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=k;else if(!d)return this;return 1===e&&(f=d,d=function(a){return _().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=_.guid++)),this.each(function(){_.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,_(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=k),this.each(function(){_.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){_.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?_.event.trigger(a,b,c,!0):void 0}});var Eb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Fb=/<([\w:]+)/,Gb=/<|&#?\w+;/,Hb=/<(?:script|style|link)/i,Ib=/checked\s*(?:[^=]|=\s*.checked.)/i,Jb=/^$|\/(?:java|ecma)script/i,Kb=/^true\/(.*)/,Lb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Mb={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Mb.optgroup=Mb.option,Mb.tbody=Mb.tfoot=Mb.colgroup=Mb.caption=Mb.thead,Mb.th=Mb.td,_.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=_.contains(a.ownerDocument,a);if(!(Y.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||_.isXMLDoc(a)))for(g=r(h),f=r(a),d=0,e=f.length;e>d;d++)s(f[d],g[d]);if(b)if(c)for(f=f||r(a),g=g||r(h),d=0,e=f.length;e>d;d++)q(f[d],g[d]);else q(a,h);return g=r(h,"script"),g.length>0&&p(g,!i&&r(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,n=a.length;n>m;m++)if(e=a[m],e||0===e)if("object"===_.type(e))_.merge(l,e.nodeType?[e]:e);else if(Gb.test(e)){for(f=f||k.appendChild(b.createElement("div")),g=(Fb.exec(e)||["",""])[1].toLowerCase(),h=Mb[g]||Mb._default,f.innerHTML=h[1]+e.replace(Eb,"<$1></$2>")+h[2],j=h[0];j--;)f=f.lastChild;_.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));for(k.textContent="",m=0;e=l[m++];)if((!d||-1===_.inArray(e,d))&&(i=_.contains(e.ownerDocument,e),f=r(k.appendChild(e),"script"),i&&p(f),c))for(j=0;e=f[j++];)Jb.test(e.type||"")&&c.push(e);return k},cleanData:function(a){for(var b,c,d,e,f=_.event.special,g=0;void 0!==(c=a[g]);g++){if(_.acceptData(c)&&(e=c[rb.expando],e&&(b=rb.cache[e]))){if(b.events)for(d in b.events)f[d]?_.event.remove(c,d):_.removeEvent(c,d,b.handle);rb.cache[e]&&delete rb.cache[e]}delete sb.cache[c[sb.expando]]}}}),_.fn.extend({text:function(a){return qb(this,function(a){return void 0===a?_.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=m(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?_.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||_.cleanData(r(c)),c.parentNode&&(b&&_.contains(c.ownerDocument,c)&&p(r(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(_.cleanData(r(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return _.clone(this,a,b)})},html:function(a){return qb(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Hb.test(a)&&!Mb[(Fb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Eb,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(_.cleanData(r(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,_.cleanData(r(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=S.apply([],a);var c,d,e,f,g,h,i=0,j=this.length,k=this,l=j-1,m=a[0],p=_.isFunction(m);if(p||j>1&&"string"==typeof m&&!Y.checkClone&&Ib.test(m))return this.each(function(c){var d=k.eq(c);p&&(a[0]=m.call(this,c,d.html())),d.domManip(a,b)});if(j&&(c=_.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(e=_.map(r(c,"script"),n),f=e.length;j>i;i++)g=c,i!==l&&(g=_.clone(g,!0,!0),f&&_.merge(e,r(g,"script"))),b.call(this[i],g,i);if(f)for(h=e[e.length-1].ownerDocument,_.map(e,o),i=0;f>i;i++)g=e[i],Jb.test(g.type||"")&&!rb.access(g,"globalEval")&&_.contains(h,g)&&(g.src?_._evalUrl&&_._evalUrl(g.src):_.globalEval(g.textContent.replace(Lb,"")))}return this}}),_.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){_.fn[a]=function(a){for(var c,d=[],e=_(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),_(e[g])[b](c),T.apply(d,c.get());return this.pushStack(d)}});var Nb,Ob={},Pb=/^margin/,Qb=new RegExp("^("+vb+")(?!px)[a-z%]+$","i"),Rb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};!function(){function b(){g.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",g.innerHTML="",e.appendChild(f);var b=a.getComputedStyle(g,null);c="1%"!==b.top,d="4px"===b.width,e.removeChild(f)}var c,d,e=Z.documentElement,f=Z.createElement("div"),g=Z.createElement("div");g.style&&(g.style.backgroundClip="content-box",g.cloneNode(!0).style.backgroundClip="",Y.clearCloneStyle="content-box"===g.style.backgroundClip,f.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",f.appendChild(g),a.getComputedStyle&&_.extend(Y,{pixelPosition:function(){return b(),c},boxSizingReliable:function(){return null==d&&b(),d},reliableMarginRight:function(){var b,c=g.appendChild(Z.createElement("div"));return c.style.cssText=g.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",g.style.width="1px",e.appendChild(f),b=!parseFloat(a.getComputedStyle(c,null).marginRight),e.removeChild(f),b}}))}(),_.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Sb=/^(none|table(?!-c[ea]).+)/,Tb=new RegExp("^("+vb+")(.*)$","i"),Ub=new RegExp("^([+-])=("+vb+")","i"),Vb={position:"absolute",visibility:"hidden",display:"block"},Wb={letterSpacing:"0",fontWeight:"400"},Xb=["Webkit","O","Moz","ms"];_.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=v(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=_.camelCase(b),i=a.style;return b=_.cssProps[h]||(_.cssProps[h]=x(i,h)),g=_.cssHooks[b]||_.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Ub.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(_.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||_.cssNumber[h]||(c+="px"),Y.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=_.camelCase(b);return b=_.cssProps[h]||(_.cssProps[h]=x(a.style,h)),g=_.cssHooks[b]||_.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=v(a,b,d)),"normal"===e&&b in Wb&&(e=Wb[b]),""===c||c?(f=parseFloat(e),c===!0||_.isNumeric(f)?f||0:e):e}}),_.each(["height","width"],function(a,b){_.cssHooks[b]={get:function(a,c,d){return c?Sb.test(_.css(a,"display"))&&0===a.offsetWidth?_.swap(a,Vb,function(){return A(a,b,d)}):A(a,b,d):void 0},set:function(a,c,d){var e=d&&Rb(a);return y(a,c,d?z(a,b,d,"border-box"===_.css(a,"boxSizing",!1,e),e):0)}}}),_.cssHooks.marginRight=w(Y.reliableMarginRight,function(a,b){return b?_.swap(a,{display:"inline-block"},v,[a,"marginRight"]):void 0}),_.each({margin:"",padding:"",border:"Width"},function(a,b){_.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+wb[d]+b]=f[d]||f[d-2]||f[0];return e}},Pb.test(a)||(_.cssHooks[a+b].set=y)}),_.fn.extend({css:function(a,b){return qb(this,function(a,b,c){var d,e,f={},g=0;if(_.isArray(b)){for(d=Rb(a),e=b.length;e>g;g++)f[b[g]]=_.css(a,b[g],!1,d);return f}return void 0!==c?_.style(a,b,c):_.css(a,b)},a,b,arguments.length>1)},show:function(){return B(this,!0)},hide:function(){return B(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){xb(this)?_(this).show():_(this).hide()})}}),_.Tween=C,C.prototype={constructor:C,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(_.cssNumber[c]?"":"px")},cur:function(){var a=C.propHooks[this.prop];return a&&a.get?a.get(this):C.propHooks._default.get(this)},run:function(a){var b,c=C.propHooks[this.prop];return this.pos=b=this.options.duration?_.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):C.propHooks._default.set(this),this}},C.prototype.init.prototype=C.prototype,C.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=_.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){_.fx.step[a.prop]?_.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[_.cssProps[a.prop]]||_.cssHooks[a.prop])?_.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},C.propHooks.scrollTop=C.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},_.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},_.fx=C.prototype.init,_.fx.step={};var Yb,Zb,$b=/^(?:toggle|show|hide)$/,_b=new RegExp("^(?:([+-])=|)("+vb+")([a-z%]*)$","i"),ac=/queueHooks$/,bc=[G],cc={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=_b.exec(b),f=e&&e[3]||(_.cssNumber[a]?"":"px"),g=(_.cssNumber[a]||"px"!==f&&+d)&&_b.exec(_.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,_.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};_.Animation=_.extend(I,{tweener:function(a,b){_.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],cc[c]=cc[c]||[],cc[c].unshift(b)},prefilter:function(a,b){b?bc.unshift(a):bc.push(a)}}),_.speed=function(a,b,c){var d=a&&"object"==typeof a?_.extend({},a):{complete:c||!c&&b||_.isFunction(a)&&a,duration:a,easing:c&&b||b&&!_.isFunction(b)&&b};return d.duration=_.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in _.fx.speeds?_.fx.speeds[d.duration]:_.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){_.isFunction(d.old)&&d.old.call(this),d.queue&&_.dequeue(this,d.queue)},d},_.fn.extend({fadeTo:function(a,b,c,d){return this.filter(xb).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=_.isEmptyObject(a),f=_.speed(b,c,d),g=function(){var b=I(this,_.extend({},a),f);(e||rb.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=_.timers,g=rb.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&ac.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&_.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=rb.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=_.timers,g=d?d.length:0;for(c.finish=!0,_.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),_.each(["toggle","show","hide"],function(a,b){var c=_.fn[b];
-_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Yb=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Yb=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Zb||(Zb=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Zb),Zb=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var dc,ec,fc=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qb(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===zb?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?ec:dc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(nb);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),ec={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fc[b]||_.find.attr;fc[b]=function(a,b,d){var e,f;return d||(f=fc[b],fc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fc[b]=f),e}});var gc=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qb(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gc.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hc=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(nb)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hc," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(nb)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hc," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(_.isFunction(a)?function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(nb)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===zb||"boolean"===c)&&(this.className&&rb.set(this,"__className__",this.className),this.className=this.className||a===!1?"":rb.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hc," ").indexOf(b)>=0)return!0;return!1}});var ic=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=_.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,_(this).val()):a,null==e?e="":"number"==typeof e?e+="":_.isArray(e)&&(e=_.map(e,function(a){return null==a?"":a+""})),b=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=_.valHooks[e.type]||_.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ic,""):null==c?"":c)}}}),_.extend({valHooks:{option:{get:function(a){var b=_.find.attr(a,"value");return null!=b?b:_.trim(_.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(Y.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&_.nodeName(c.parentNode,"optgroup"))){if(b=_(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=_.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=_.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),_.each(["radio","checkbox"],function(){_.valHooks[this]={set:function(a,b){return _.isArray(b)?a.checked=_.inArray(_(a).val(),b)>=0:void 0}},Y.checkOn||(_.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),_.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){_.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),_.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var jc=_.now(),kc=/\?/;_.parseJSON=function(a){return JSON.parse(a+"")},_.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&_.error("Invalid XML: "+a),b};var lc,mc,nc=/#.*$/,oc=/([?&])_=[^&]*/,pc=/^(.*?):[ \t]*([^\r\n]*)$/gm,qc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rc=/^(?:GET|HEAD)$/,sc=/^\/\//,tc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,uc={},vc={},wc="*/".concat("*");try{mc=location.href}catch(xc){mc=Z.createElement("a"),mc.href="",mc=mc.href}lc=tc.exec(mc.toLowerCase())||[],_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mc,type:"GET",isLocal:qc.test(lc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":_.parseJSON,"text xml":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?L(L(a,_.ajaxSettings),b):L(_.ajaxSettings,a)},ajaxPrefilter:J(uc),ajaxTransport:J(vc),ajax:function(a,b){function c(a,b,c,g){var i,k,r,s,u,w=b;2!==t&&(t=2,h&&clearTimeout(h),d=void 0,f=g||"",v.readyState=a>0?4:0,i=a>=200&&300>a||304===a,c&&(s=M(l,v,c)),s=N(l,s,v,i),i?(l.ifModified&&(u=v.getResponseHeader("Last-Modified"),u&&(_.lastModified[e]=u),u=v.getResponseHeader("etag"),u&&(_.etag[e]=u)),204===a||"HEAD"===l.type?w="nocontent":304===a?w="notmodified":(w=s.state,k=s.data,r=s.error,i=!r)):(r=w,(a||!w)&&(w="error",0>a&&(a=0))),v.status=a,v.statusText=(b||w)+"",i?o.resolveWith(m,[k,w,v]):o.rejectWith(m,[v,w,r]),v.statusCode(q),q=void 0,j&&n.trigger(i?"ajaxSuccess":"ajaxError",[v,l,i?k:r]),p.fireWith(m,[v,w]),j&&(n.trigger("ajaxComplete",[v,l]),--_.active||_.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var d,e,f,g,h,i,j,k,l=_.ajaxSetup({},b),m=l.context||l,n=l.context&&(m.nodeType||m.jquery)?_(m):_.event,o=_.Deferred(),p=_.Callbacks("once memory"),q=l.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!g)for(g={};b=pc.exec(f);)g[b[1].toLowerCase()]=b[2];b=g[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return d&&d.abort(b),c(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,l.url=((a||l.url||mc)+"").replace(nc,"").replace(sc,lc[1]+"//"),l.type=b.method||b.type||l.method||l.type,l.dataTypes=_.trim(l.dataType||"*").toLowerCase().match(nb)||[""],null==l.crossDomain&&(i=tc.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]===lc[1]&&i[2]===lc[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(lc[3]||("http:"===lc[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=_.param(l.data,l.traditional)),K(uc,l,b,v),2===t)return v;j=l.global,j&&0===_.active++&&_.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!rc.test(l.type),e=l.url,l.hasContent||(l.data&&(e=l.url+=(kc.test(e)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=oc.test(e)?e.replace(oc,"$1_="+jc++):e+(kc.test(e)?"&":"?")+"_="+jc++)),l.ifModified&&(_.lastModified[e]&&v.setRequestHeader("If-Modified-Since",_.lastModified[e]),_.etag[e]&&v.setRequestHeader("If-None-Match",_.etag[e])),(l.data&&l.hasContent&&l.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",l.contentType),v.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+wc+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)v.setRequestHeader(k,l.headers[k]);if(l.beforeSend&&(l.beforeSend.call(m,v,l)===!1||2===t))return v.abort();u="abort";for(k in{success:1,error:1,complete:1})v[k](l[k]);if(d=K(vc,l,b,v)){v.readyState=1,j&&n.trigger("ajaxSend",[v,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){v.abort("timeout")},l.timeout));try{t=1,d.send(r,c)}catch(w){if(!(2>t))throw w;c(-1,w)}}else c(-1,"No Transport");return v},getJSON:function(a,b,c){return _.get(a,b,c,"json")},getScript:function(a,b){return _.get(a,void 0,b,"script")}}),_.each(["get","post"],function(a,b){_[b]=function(a,c,d,e){return _.isFunction(c)&&(e=e||d,d=c,c=void 0),_.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),_.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){_.fn[b]=function(a){return this.on(b,a)}}),_._evalUrl=function(a){return _.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},_.fn.extend({wrapAll:function(a){var b;return _.isFunction(a)?this.each(function(b){_(this).wrapAll(a.call(this,b))}):(this[0]&&(b=_(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(_.isFunction(a)?function(b){_(this).wrapInner(a.call(this,b))}:function(){var b=_(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=_.isFunction(a);return this.each(function(c){_(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){_.nodeName(this,"body")||_(this).replaceWith(this.childNodes)}).end()}}),_.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},_.expr.filters.visible=function(a){return!_.expr.filters.hidden(a)};var yc=/%20/g,zc=/\[\]$/,Ac=/\r?\n/g,Bc=/^(?:submit|button|image|reset|file)$/i,Cc=/^(?:input|select|textarea|keygen)/i;_.param=function(a,b){var c,d=[],e=function(a,b){b=_.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=_.ajaxSettings&&_.ajaxSettings.traditional),_.isArray(a)||a.jquery&&!_.isPlainObject(a))_.each(a,function(){e(this.name,this.value)});else for(c in a)O(c,a[c],b,e);return d.join("&").replace(yc,"+")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=_.prop(this,"elements");return a?_.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!_(this).is(":disabled")&&Cc.test(this.nodeName)&&!Bc.test(a)&&(this.checked||!yb.test(a))}).map(function(a,b){var c=_(this).val();return null==c?null:_.isArray(c)?_.map(c,function(a){return{name:b.name,value:a.replace(Ac,"\r\n")}}):{name:b.name,value:c.replace(Ac,"\r\n")}}).get()}}),_.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Dc=0,Ec={},Fc={0:200,1223:204},Gc=_.ajaxSettings.xhr();a.ActiveXObject&&_(a).on("unload",function(){for(var a in Ec)Ec[a]()}),Y.cors=!!Gc&&"withCredentials"in Gc,Y.ajax=Gc=!!Gc,_.ajaxTransport(function(a){var b;return Y.cors||Gc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Dc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Ec[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Fc[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Ec[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),_.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return _.globalEval(a),a}}}),_.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),_.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=_("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Z.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Hc=[],Ic=/(=)\?(?=&|$)|\?\?/;_.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Hc.pop()||_.expando+"_"+jc++;return this[a]=!0,a}}),_.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ic.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ic.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=_.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ic,"$1"+e):b.jsonp!==!1&&(b.url+=(kc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||_.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Hc.push(e)),g&&_.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),_.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Z;var d=gb.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=_.buildFragment([a],b,e),e&&e.length&&_(e).remove(),_.merge([],d.childNodes))};var Jc=_.fn.load;_.fn.load=function(a,b,c){if("string"!=typeof a&&Jc)return Jc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=_.trim(a.slice(h)),a=a.slice(0,h)),_.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&_.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?_("<div>").append(_.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},_.expr.filters.animated=function(a){return _.grep(_.timers,function(b){return a===b.elem}).length};var Kc=a.document.documentElement;_.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=_.css(a,"position"),l=_(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=_.css(a,"top"),i=_.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),_.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},_.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){_.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,_.contains(b,d)?(typeof d.getBoundingClientRect!==zb&&(e=d.getBoundingClientRect()),c=P(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===_.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),_.nodeName(a[0],"html")||(d=a.offset()),d.top+=_.css(a[0],"borderTopWidth",!0),d.left+=_.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-_.css(c,"marginTop",!0),left:b.left-d.left-_.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||Kc;a&&!_.nodeName(a,"html")&&"static"===_.css(a,"position");)a=a.offsetParent;return a||Kc})}}),_.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;_.fn[b]=function(e){return qb(this,function(b,e,f){var g=P(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),_.each(["top","left"],function(a,b){_.cssHooks[b]=w(Y.pixelPosition,function(a,c){return c?(c=v(a,b),Qb.test(c)?_(a).position()[b]+"px":c):void 0})}),_.each({Height:"height",Width:"width"},function(a,b){_.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){_.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return qb(this,function(b,c,d){var e;return _.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?_.css(b,c,g):_.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),_.fn.size=function(){return this.length},_.fn.andSelf=_.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return _});var Lc=a.jQuery,Mc=a.$;return _.noConflict=function(b){return a.$===_&&(a.$=Mc),b&&a.jQuery===_&&(a.jQuery=Lc),_},typeof b===zb&&(a.jQuery=a.$=_),_}),!function(a){"use strict";var b=function(b,c){this.el=a(b),this.options=a.extend({},a.fn.typed.defaults,c),this.baseText=this.el.text()||this.el.attr("placeholder")||"",this.typeSpeed=this.options.typeSpeed,this.startDelay=this.options.startDelay,this.backSpeed=this.options.backSpeed,this.backDelay=this.options.backDelay,this.strings=this.options.strings,this.strPos=0,this.arrayPos=0,this.stopNum=0,this.loop=this.options.loop,this.loopCount=this.options.loopCount,this.curLoop=0,this.stop=!1,this.showCursor=this.isInput?!1:this.options.showCursor,this.cursorChar=this.options.cursorChar,this.isInput=this.el.is("input"),this.attr=this.options.attr||(this.isInput?"placeholder":null),this.build()};b.prototype={constructor:b,init:function(){var a=this;a.timeout=setTimeout(function(){a.typewrite(a.strings[a.arrayPos],a.strPos)},a.startDelay)},build:function(){this.showCursor===!0&&(this.cursor=a('<span class="typed-cursor">'+this.cursorChar+"</span>"),this.el.after(this.cursor)),this.init()},typewrite:function(a,b){if(this.stop!==!0){var c=Math.round(70*Math.random())+this.typeSpeed,d=this;d.timeout=setTimeout(function(){var c=0,e=a.substr(b);if("^"===e.charAt(0)){var f=1;/^\^\d+/.test(e)&&(e=/\d+/.exec(e)[0],f+=e.length,c=parseInt(e)),a=a.substring(0,b)+a.substring(b+f)}d.timeout=setTimeout(function(){if(b===a.length){if(d.options.onStringTyped(d.arrayPos),d.arrayPos===d.strings.length-1&&(d.options.callback(),d.curLoop++,d.loop===!1||d.curLoop===d.loopCount))return;d.timeout=setTimeout(function(){d.backspace(a,b)},d.backDelay)}else{0===b&&d.options.preStringTyped(d.arrayPos);var c=d.baseText+a.substr(0,b+1);d.attr?d.el.attr(d.attr,c):d.el.text(c),b++,d.typewrite(a,b)}},c)},c)}},backspace:function(a,b){if(this.stop!==!0){var c=Math.round(70*Math.random())+this.backSpeed,d=this;d.timeout=setTimeout(function(){var c=d.baseText+a.substr(0,b);d.attr?d.el.attr(d.attr,c):d.el.text(c),b>d.stopNum?(b--,d.backspace(a,b)):b<=d.stopNum&&(d.arrayPos++,d.arrayPos===d.strings.length?(d.arrayPos=0,d.init()):d.typewrite(d.strings[d.arrayPos],b))},c)}},reset:function(){var a=this;clearInterval(a.timeout);var b=this.el.attr("id");this.el.after('<span id="'+b+'"/>'),this.el.remove(),this.cursor.remove(),a.options.resetCallback()}},a.fn.typed=function(c){return this.each(function(){var d=a(this),e=d.data("typed"),f="object"==typeof c&&c;e||d.data("typed",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.typed.defaults={strings:["These are the default values...","You know what you should do?","Use your own!","Have a great day!"],typeSpeed:0,startDelay:0,backSpeed:0,backDelay:500,loop:!1,loopCount:!1,showCursor:!0,cursorChar:"|",attr:null,callback:function(){},preStringTyped:function(){},onStringTyped:function(){},resetCallback:function(){}}}(window.jQuery),function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.IPv6=b(a)}(this,function(a){var b=a&&a.IPv6;return{best:function(a){a=a.toLowerCase().split(":");var b=a.length,c=8;""===a[0]&&""===a[1]&&""===a[2]?(a.shift(),a.shift()):""===a[0]&&""===a[1]?a.shift():""===a[b-1]&&""===a[b-2]&&a.pop(),b=a.length,-1!==a[b-1].indexOf(".")&&(c=7);var d;for(d=0;b>d&&""!==a[d];d++);if(c>d)for(a.splice(d,1,"0000");a.length<c;)a.splice(d,0,"0000");for(d=0;c>d;d++){for(var b=a[d].split(""),e=0;3>e&&("0"===b[0]&&1<b.length);e++)b.splice(0,1);a[d]=b.join("")}var b=-1,f=e=0,g=-1,h=!1;for(d=0;c>d;d++)h?"0"===a[d]?f+=1:(h=!1,f>e&&(b=g,e=f)):"0"===a[d]&&(h=!0,g=d,f=1);for(f>e&&(b=g,e=f),e>1&&a.splice(b,e,""),b=a.length,c="",""===a[0]&&(c=":"),d=0;b>d&&(c+=a[d],d!==b-1);d++)c+=":";return""===a[b-1]&&(c+=":"),c},noConflict:function(){return a.IPv6===this&&(a.IPv6=b),this}}}),function(a){function b(a){throw RangeError(s[a])}function c(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function d(a,b){return c(a.split(r),b).join(".")}function e(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function f(a){return c(a,function(a){var b="";return a>65535&&(a-=65536,b+=u(a>>>10&1023|55296),a=56320|1023&a),b+=u(a)}).join("")}function g(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function h(a,b,c){var d=0;for(a=c?t(a/700):a>>1,a+=t(a/b);a>455;d+=36)a=t(a/35);return t(d+36*a/(a+38))}function i(a){var c,d,e,g,i,j,k=[],l=a.length,m=0,n=128,o=72;for(d=a.lastIndexOf("-"),0>d&&(d=0),e=0;d>e;++e)128<=a.charCodeAt(e)&&b("not-basic"),k.push(a.charCodeAt(e));for(d=d>0?d+1:0;l>d;){for(e=m,c=1,g=36;d>=l&&b("invalid-input"),i=a.charCodeAt(d++),i=10>i-48?i-22:26>i-65?i-65:26>i-97?i-97:36,(i>=36||i>t((2147483647-m)/c))&&b("overflow"),m+=i*c,j=o>=g?1:g>=o+26?26:g-o,!(j>i);g+=36)i=36-j,c>t(2147483647/i)&&b("overflow"),c*=i;c=k.length+1,o=h(m-e,c,0==e),t(m/c)>2147483647-n&&b("overflow"),n+=t(m/c),m%=c,k.splice(m++,0,n)}return f(k)}function j(a){var c,d,f,i,j,k,l,m,n,o,p,q,r=[];for(a=e(a),o=a.length,c=128,d=0,j=72,k=0;o>k;++k)n=a[k],128>n&&r.push(u(n));for((f=i=r.length)&&r.push("-");o>f;){for(l=2147483647,k=0;o>k;++k)n=a[k],n>=c&&l>n&&(l=n);for(p=f+1,l-c>t((2147483647-d)/p)&&b("overflow"),d+=(l-c)*p,c=l,k=0;o>k;++k)if(n=a[k],c>n&&2147483647<++d&&b("overflow"),n==c){for(m=d,l=36;n=j>=l?1:l>=j+26?26:l-j,!(n>m);l+=36)q=m-n,m=36-n,r.push(u(g(n+q%m,0))),m=t(q/m);r.push(u(g(m,0))),j=h(d,p,f==i),d=0,++f}++d,++c}return r.join("")}var k="object"==typeof exports&&exports,l="object"==typeof module&&module&&module.exports==k&&module,m="object"==typeof global&&global;(m.global===m||m.window===m)&&(a=m);var n,o,p=/^xn--/,q=/[^ -~]/,r=/\x2E|\u3002|\uFF0E|\uFF61/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},t=Math.floor,u=String.fromCharCode;if(n={version:"1.2.3",ucs2:{decode:e,encode:f},decode:i,encode:j,toASCII:function(a){return d(a,function(a){return q.test(a)?"xn--"+j(a):a})},toUnicode:function(a){return d(a,function(a){return p.test(a)?i(a.slice(4).toLowerCase()):a})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return n});else if(k&&!k.nodeType)if(l)l.exports=n;else for(o in n)n.hasOwnProperty(o)&&(k[o]=n[o]);else a.punycode=n}(this),function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.SecondLevelDomains=b(a)}(this,function(a){var b=a&&a.SecondLevelDomains,c={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ","do":" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ","in":" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch "},has:function(a){var b=a.lastIndexOf(".");
-if(0>=b||b>=a.length-1)return!1;var d=a.lastIndexOf(".",b-1);if(0>=d||d>=b-1)return!1;var e=c.list[a.slice(b+1)];return e?0<=e.indexOf(" "+a.slice(d+1,b)+" "):!1},is:function(a){var b=a.lastIndexOf(".");if(0>=b||b>=a.length-1||0<=a.lastIndexOf(".",b-1))return!1;var d=c.list[a.slice(b+1)];return d?0<=d.indexOf(" "+a.slice(0,b)+" "):!1},get:function(a){var b=a.lastIndexOf(".");if(0>=b||b>=a.length-1)return null;var d=a.lastIndexOf(".",b-1);if(0>=d||d>=b-1)return null;var e=c.list[a.slice(b+1)];return!e||0>e.indexOf(" "+a.slice(d+1,b)+" ")?null:a.slice(d+1)},noConflict:function(){return a.SecondLevelDomains===this&&(a.SecondLevelDomains=b),this}};return c}),function(a,b){"object"==typeof exports?module.exports=b(require("./punycode"),require("./IPv6"),require("./SecondLevelDomains")):"function"==typeof define&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],b):a.URI=b(a.punycode,a.IPv6,a.SecondLevelDomains,a)}(this,function(a,b,c,d){function e(a,b){return this instanceof e?(void 0===a&&(a="undefined"!=typeof location?location.href+"":""),this.href(a),void 0!==b?this.absoluteTo(b):this):new e(a,b)}function f(a){return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function g(a){return void 0===a?"Undefined":String(Object.prototype.toString.call(a)).slice(8,-1)}function h(a){return"Array"===g(a)}function i(a,b){var c,d;if(h(b)){for(c=0,d=b.length;d>c;c++)if(!i(a,b[c]))return!1;return!0}var e=g(b);for(c=0,d=a.length;d>c;c++)if("RegExp"===e){if("string"==typeof a[c]&&a[c].match(b))return!0}else if(a[c]===b)return!0;return!1}function j(a,b){if(!h(a)||!h(b)||a.length!==b.length)return!1;a.sort(),b.sort();for(var c=0,d=a.length;d>c;c++)if(a[c]!==b[c])return!1;return!0}function k(a){return escape(a)}function l(a){return encodeURIComponent(a).replace(/[!'()*]/g,k).replace(/\*/g,"%2A")}function m(a){return function(b,c){return void 0===b?this._parts[a]||"":(this._parts[a]=b||null,this.build(!c),this)}}function n(a,b){return function(c,d){return void 0===c?this._parts[a]||"":(null!==c&&(c+="",c.charAt(0)===b&&(c=c.substring(1))),this._parts[a]=c,this.build(!d),this)}}var o=d&&d.URI;e.version="1.14.1";var p=e.prototype,q=Object.prototype.hasOwnProperty;e._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,duplicateQueryParameters:e.duplicateQueryParameters,escapeQuerySpace:e.escapeQuerySpace}},e.duplicateQueryParameters=!1,e.escapeQuerySpace=!0,e.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,e.idn_expression=/[^a-z0-9\.-]/i,e.punycode_expression=/(xn--)/i,e.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,e.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,e.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/gi,e.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u201e\u2018\u2019]+$/},e.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},e.invalid_hostname_characters=/[^a-zA-Z0-9\.-]/,e.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},e.getDomAttribute=function(a){if(a&&a.nodeName){var b=a.nodeName.toLowerCase();return"input"===b&&"image"!==a.type?void 0:e.domAttributes[b]}},e.encode=l,e.decode=decodeURIComponent,e.iso8859=function(){e.encode=escape,e.decode=unescape},e.unicode=function(){e.encode=l,e.decode=decodeURIComponent},e.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}}},e.encodeQuery=function(a,b){var c=e.encode(a+"");return void 0===b&&(b=e.escapeQuerySpace),b?c.replace(/%20/g,"+"):c},e.decodeQuery=function(a,b){a+="",void 0===b&&(b=e.escapeQuerySpace);try{return e.decode(b?a.replace(/\+/g,"%20"):a)}catch(c){return a}},e.recodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;c>b;b++)a[b]=e.encodePathSegment(e.decode(a[b]));return a.join("/")},e.decodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;c>b;b++)a[b]=e.decodePathSegment(a[b]);return a.join("/")};var r,s={encode:"encode",decode:"decode"},t=function(a,b){return function(c){try{return e[b](c+"").replace(e.characters[a][b].expression,function(c){return e.characters[a][b].map[c]})}catch(d){return c}}};for(r in s)e[r+"PathSegment"]=t("pathname",s[r]);e.encodeReserved=t("reserved","encode"),e.parse=function(a,b){var c;return b||(b={}),c=a.indexOf("#"),c>-1&&(b.fragment=a.substring(c+1)||null,a=a.substring(0,c)),c=a.indexOf("?"),c>-1&&(b.query=a.substring(c+1)||null,a=a.substring(0,c)),"//"===a.substring(0,2)?(b.protocol=null,a=a.substring(2),a=e.parseAuthority(a,b)):(c=a.indexOf(":"),c>-1&&(b.protocol=a.substring(0,c)||null,b.protocol&&!b.protocol.match(e.protocol_expression)?b.protocol=void 0:"//"===a.substring(c+1,c+3)?(a=a.substring(c+3),a=e.parseAuthority(a,b)):(a=a.substring(c+1),b.urn=!0))),b.path=a,b},e.parseHost=function(a,b){var c,d=a.indexOf("/");return-1===d&&(d=a.length),"["===a.charAt(0)?(c=a.indexOf("]"),b.hostname=a.substring(1,c)||null,b.port=a.substring(c+2,d)||null,"/"===b.port&&(b.port=null)):a.indexOf(":")!==a.lastIndexOf(":")?(b.hostname=a.substring(0,d)||null,b.port=null):(c=a.substring(0,d).split(":"),b.hostname=c[0]||null,b.port=c[1]||null),b.hostname&&"/"!==a.substring(d).charAt(0)&&(d++,a="/"+a),a.substring(d)||"/"},e.parseAuthority=function(a,b){return a=e.parseUserinfo(a,b),e.parseHost(a,b)},e.parseUserinfo=function(a,b){var c=a.indexOf("/"),d=a.lastIndexOf("@",c>-1?c:a.length-1);return d>-1&&(-1===c||c>d)?(c=a.substring(0,d).split(":"),b.username=c[0]?e.decode(c[0]):null,c.shift(),b.password=c[0]?e.decode(c.join(":")):null,a=a.substring(d+1)):(b.username=null,b.password=null),a},e.parseQuery=function(a,b){if(!a)return{};if(a=a.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!a)return{};for(var c,d,f={},g=a.split("&"),h=g.length,i=0;h>i;i++)c=g[i].split("="),d=e.decodeQuery(c.shift(),b),c=c.length?e.decodeQuery(c.join("="),b):null,q.call(f,d)?("string"==typeof f[d]&&(f[d]=[f[d]]),f[d].push(c)):f[d]=c;return f},e.build=function(a){var b="";return a.protocol&&(b+=a.protocol+":"),a.urn||!b&&!a.hostname||(b+="//"),b+=e.buildAuthority(a)||"","string"==typeof a.path&&("/"!==a.path.charAt(0)&&"string"==typeof a.hostname&&(b+="/"),b+=a.path),"string"==typeof a.query&&a.query&&(b+="?"+a.query),"string"==typeof a.fragment&&a.fragment&&(b+="#"+a.fragment),b},e.buildHost=function(a){var b="";return a.hostname?(b=e.ip6_expression.test(a.hostname)?b+("["+a.hostname+"]"):b+a.hostname,a.port&&(b+=":"+a.port),b):""},e.buildAuthority=function(a){return e.buildUserinfo(a)+e.buildHost(a)},e.buildUserinfo=function(a){var b="";return a.username&&(b+=e.encode(a.username),a.password&&(b+=":"+e.encode(a.password)),b+="@"),b},e.buildQuery=function(a,b,c){var d,f,g,i,j="";for(f in a)if(q.call(a,f)&&f)if(h(a[f]))for(d={},g=0,i=a[f].length;i>g;g++)void 0!==a[f][g]&&void 0===d[a[f][g]+""]&&(j+="&"+e.buildQueryParameter(f,a[f][g],c),!0!==b&&(d[a[f][g]+""]=!0));else void 0!==a[f]&&(j+="&"+e.buildQueryParameter(f,a[f],c));return j.substring(1)},e.buildQueryParameter=function(a,b,c){return e.encodeQuery(a,c)+(null!==b?"="+e.encodeQuery(b,c):"")},e.addQuery=function(a,b,c){if("object"==typeof b)for(var d in b)q.call(b,d)&&e.addQuery(a,d,b[d]);else{if("string"!=typeof b)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");void 0===a[b]?a[b]=c:("string"==typeof a[b]&&(a[b]=[a[b]]),h(c)||(c=[c]),a[b]=(a[b]||[]).concat(c))}},e.removeQuery=function(a,b,c){var d;if(h(b))for(c=0,d=b.length;d>c;c++)a[b[c]]=void 0;else if("object"==typeof b)for(d in b)q.call(b,d)&&e.removeQuery(a,d,b[d]);else{if("string"!=typeof b)throw new TypeError("URI.addQuery() accepts an object, string as the first parameter");if(void 0!==c){if(a[b]===c)a[b]=void 0;else if(h(a[b])){d=a[b];var f,g,i={};if(h(c))for(f=0,g=c.length;g>f;f++)i[c[f]]=!0;else i[c]=!0;for(f=0,g=d.length;g>f;f++)void 0!==i[d[f]]&&(d.splice(f,1),g--,f--);a[b]=d}}else a[b]=void 0}},e.hasQuery=function(a,b,c,d){if("object"==typeof b){for(var f in b)if(q.call(b,f)&&!e.hasQuery(a,f,b[f]))return!1;return!0}if("string"!=typeof b)throw new TypeError("URI.hasQuery() accepts an object, string as the name parameter");switch(g(c)){case"Undefined":return b in a;case"Boolean":return a=Boolean(h(a[b])?a[b].length:a[b]),c===a;case"Function":return!!c(a[b],b,a);case"Array":return h(a[b])?(d?i:j)(a[b],c):!1;case"RegExp":return h(a[b])?d?i(a[b],c):!1:Boolean(a[b]&&a[b].match(c));case"Number":c=String(c);case"String":return h(a[b])?d?i(a[b],c):!1:a[b]===c;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},e.commonPath=function(a,b){var c,d=Math.min(a.length,b.length);for(c=0;d>c;c++)if(a.charAt(c)!==b.charAt(c)){c--;break}return 1>c?a.charAt(0)===b.charAt(0)&&"/"===a.charAt(0)?"/":"":(("/"!==a.charAt(c)||"/"!==b.charAt(c))&&(c=a.substring(0,c).lastIndexOf("/")),a.substring(0,c+1))},e.withinString=function(a,b,c){c||(c={});var d=c.start||e.findUri.start,f=c.end||e.findUri.end,g=c.trim||e.findUri.trim,h=/[a-z0-9-]=["']?$/i;for(d.lastIndex=0;;){var i=d.exec(a);if(!i)break;if(i=i.index,c.ignoreHtml){var j=a.slice(Math.max(i-3,0),i);if(j&&h.test(j))continue}var j=i+a.slice(i).search(f),k=a.slice(i,j).replace(g,"");c.ignore&&c.ignore.test(k)||(j=i+k.length,k=b(k,i,j,a),a=a.slice(0,i)+k+a.slice(j),d.lastIndex=i+k.length)}return d.lastIndex=0,a},e.ensureValidHostname=function(b){if(b.match(e.invalid_hostname_characters)){if(!a)throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-] and Punycode.js is not available');if(a.toASCII(b).match(e.invalid_hostname_characters))throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]')}},e.noConflict=function(a){return a?(a={URI:this.noConflict()},d.URITemplate&&"function"==typeof d.URITemplate.noConflict&&(a.URITemplate=d.URITemplate.noConflict()),d.IPv6&&"function"==typeof d.IPv6.noConflict&&(a.IPv6=d.IPv6.noConflict()),d.SecondLevelDomains&&"function"==typeof d.SecondLevelDomains.noConflict&&(a.SecondLevelDomains=d.SecondLevelDomains.noConflict()),a):(d.URI===this&&(d.URI=o),this)},p.build=function(a){return!0===a?this._deferred_build=!0:(void 0===a||this._deferred_build)&&(this._string=e.build(this._parts),this._deferred_build=!1),this},p.clone=function(){return new e(this)},p.valueOf=p.toString=function(){return this.build(!1)._string},p.protocol=m("protocol"),p.username=m("username"),p.password=m("password"),p.hostname=m("hostname"),p.port=m("port"),p.query=n("query","?"),p.fragment=n("fragment","#"),p.search=function(a,b){var c=this.query(a,b);return"string"==typeof c&&c.length?"?"+c:c},p.hash=function(a,b){var c=this.fragment(a,b);return"string"==typeof c&&c.length?"#"+c:c},p.pathname=function(a,b){if(void 0===a||!0===a){var c=this._parts.path||(this._parts.hostname?"/":"");return a?e.decodePath(c):c}return this._parts.path=a?e.recodePath(a):"/",this.build(!b),this},p.path=p.pathname,p.href=function(a,b){var c;if(void 0===a)return this.toString();this._string="",this._parts=e._parts();var d=a instanceof e,f="object"==typeof a&&(a.hostname||a.path||a.pathname);if(a.nodeName&&(f=e.getDomAttribute(a),a=a[f]||"",f=!1),!d&&f&&void 0!==a.pathname&&(a=a.toString()),"string"==typeof a||a instanceof String)this._parts=e.parse(String(a),this._parts);else{if(!d&&!f)throw new TypeError("invalid input");for(c in d=d?a._parts:a)q.call(this._parts,c)&&(this._parts[c]=d[c])}return this.build(!b),this},p.is=function(a){var b=!1,d=!1,f=!1,g=!1,h=!1,i=!1,j=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,d=e.ip4_expression.test(this._parts.hostname),f=e.ip6_expression.test(this._parts.hostname),b=d||f,h=(g=!b)&&c&&c.has(this._parts.hostname),i=g&&e.idn_expression.test(this._parts.hostname),j=g&&e.punycode_expression.test(this._parts.hostname)),a.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return g;case"sld":return h;case"ip":return b;case"ip4":case"ipv4":case"inet4":return d;case"ip6":case"ipv6":case"inet6":return f;case"idn":return i;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return j}return null};var u=p.protocol,v=p.port,w=p.hostname;p.protocol=function(a,b){if(void 0!==a&&a&&(a=a.replace(/:(\/\/)?$/,""),!a.match(e.protocol_expression)))throw new TypeError('Protocol "'+a+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return u.call(this,a,b)},p.scheme=p.protocol,p.port=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a&&(0===a&&(a=null),a&&(a+="",":"===a.charAt(0)&&(a=a.substring(1)),a.match(/[^0-9]/))))throw new TypeError('Port "'+a+'" contains characters other than [0-9]');return v.call(this,a,b)},p.hostname=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a){var c={};e.parseHost(a,c),a=c.hostname}return w.call(this,a,b)},p.host=function(a,b){return this._parts.urn?void 0===a?"":this:void 0===a?this._parts.hostname?e.buildHost(this._parts):"":(e.parseHost(a,this._parts),this.build(!b),this)},p.authority=function(a,b){return this._parts.urn?void 0===a?"":this:void 0===a?this._parts.hostname?e.buildAuthority(this._parts):"":(e.parseAuthority(a,this._parts),this.build(!b),this)},p.userinfo=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.username)return"";var c=e.buildUserinfo(this._parts);return c.substring(0,c.length-1)}return"@"!==a[a.length-1]&&(a+="@"),e.parseUserinfo(a,this._parts),this.build(!b),this},p.resource=function(a,b){var c;return void 0===a?this.path()+this.search()+this.hash():(c=e.parse(a),this._parts.path=c.path,this._parts.query=c.query,this._parts.fragment=c.fragment,this.build(!b),this)},p.subdomain=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,c)||""}return c=this._parts.hostname.length-this.domain().length,c=this._parts.hostname.substring(0,c),c=new RegExp("^"+f(c)),a&&"."!==a.charAt(a.length-1)&&(a+="."),a&&e.ensureValidHostname(a),this._parts.hostname=this._parts.hostname.replace(c,a),this.build(!b),this},p.domain=function(a,b){if(this._parts.urn)return void 0===a?"":this;if("boolean"==typeof a&&(b=a,a=void 0),void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.match(/\./g);return c&&2>c.length?this._parts.hostname:(c=this._parts.hostname.length-this.tld(b).length-1,c=this._parts.hostname.lastIndexOf(".",c-1)+1,this._parts.hostname.substring(c)||"")}if(!a)throw new TypeError("cannot set domain empty");return e.ensureValidHostname(a),!this._parts.hostname||this.is("IP")?this._parts.hostname=a:(c=new RegExp(f(this.domain())+"$"),this._parts.hostname=this._parts.hostname.replace(c,a)),this.build(!b),this},p.tld=function(a,b){if(this._parts.urn)return void 0===a?"":this;if("boolean"==typeof a&&(b=a,a=void 0),void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var d=this._parts.hostname.lastIndexOf("."),d=this._parts.hostname.substring(d+1);return!0!==b&&c&&c.list[d.toLowerCase()]?c.get(this._parts.hostname)||d:d}if(!a)throw new TypeError("cannot set TLD empty");if(a.match(/[^a-zA-Z0-9-]/)){if(!c||!c.is(a))throw new TypeError('TLD "'+a+'" contains characters other than [A-Z0-9]');d=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(d,a)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");d=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(d,a)}return this.build(!b),this},p.directory=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var c=this._parts.path.length-this.filename().length-1,c=this._parts.path.substring(0,c)||(this._parts.hostname?"/":"");return a?e.decodePath(c):c}return c=this._parts.path.length-this.filename().length,c=this._parts.path.substring(0,c),c=new RegExp("^"+f(c)),this.is("relative")||(a||(a="/"),"/"!==a.charAt(0)&&(a="/"+a)),a&&"/"!==a.charAt(a.length-1)&&(a+="/"),a=e.recodePath(a),this._parts.path=this._parts.path.replace(c,a),this.build(!b),this},p.filename=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this._parts.path.lastIndexOf("/"),c=this._parts.path.substring(c+1);return a?e.decodePathSegment(c):c}c=!1,"/"===a.charAt(0)&&(a=a.substring(1)),a.match(/\.?\//)&&(c=!0);var d=new RegExp(f(this.filename())+"$");return a=e.recodePath(a),this._parts.path=this._parts.path.replace(d,a),c?this.normalizePath(b):this.build(!b),this},p.suffix=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this.filename(),d=c.lastIndexOf(".");return-1===d?"":(c=c.substring(d+1),c=/^[a-z0-9%]+$/i.test(c)?c:"",a?e.decodePathSegment(c):c)}if("."===a.charAt(0)&&(a=a.substring(1)),c=this.suffix())d=new RegExp(a?f(c)+"$":f("."+c)+"$");else{if(!a)return this;this._parts.path+="."+e.recodePath(a)}return d&&(a=e.recodePath(a),this._parts.path=this._parts.path.replace(d,a)),this.build(!b),this},p.segment=function(a,b,c){var d=this._parts.urn?":":"/",e=this.path(),f="/"===e.substring(0,1),e=e.split(d);if(void 0!==a&&"number"!=typeof a&&(c=b,b=a,a=void 0),void 0!==a&&"number"!=typeof a)throw Error('Bad segment "'+a+'", must be 0-based integer');if(f&&e.shift(),0>a&&(a=Math.max(e.length+a,0)),void 0===b)return void 0===a?e:e[a];if(null===a||void 0===e[a])if(h(b)){e=[],a=0;for(var g=b.length;g>a;a++)(b[a].length||e.length&&e[e.length-1].length)&&(e.length&&!e[e.length-1].length&&e.pop(),e.push(b[a]))}else(b||"string"==typeof b)&&(""===e[e.length-1]?e[e.length-1]=b:e.push(b));else b?e[a]=b:e.splice(a,1);return f&&e.unshift(""),this.path(e.join(d),c)},p.segmentCoded=function(a,b,c){var d,f;if("number"!=typeof a&&(c=b,b=a,a=void 0),void 0===b){if(a=this.segment(a,b,c),h(a))for(d=0,f=a.length;f>d;d++)a[d]=e.decode(a[d]);else a=void 0!==a?e.decode(a):void 0;return a}if(h(b))for(d=0,f=b.length;f>d;d++)b[d]=e.decode(b[d]);else b="string"==typeof b||b instanceof String?e.encode(b):b;return this.segment(a,b,c)};var x=p.query;return p.query=function(a,b){if(!0===a)return e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof a){var c=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace),d=a.call(this,c);return this._parts.query=e.buildQuery(d||c,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this}return void 0!==a&&"string"!=typeof a?(this._parts.query=e.buildQuery(a,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this):x.call(this,a,b)},p.setQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof a||a instanceof String)d[a]=void 0!==b?b:null;else{if("object"!=typeof a)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var f in a)q.call(a,f)&&(d[f]=a[f])}return this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.addQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.addQuery(d,a,void 0===b?null:b),this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.removeQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.removeQuery(d,a,b),this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.hasQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.hasQuery(d,a,b,c)},p.setSearch=p.setQuery,p.addSearch=p.addQuery,p.removeSearch=p.removeQuery,p.hasSearch=p.hasQuery,p.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},p.normalizeProtocol=function(a){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!a)),this},p.normalizeHostname=function(c){return this._parts.hostname&&(this.is("IDN")&&a?this._parts.hostname=a.toASCII(this._parts.hostname):this.is("IPv6")&&b&&(this._parts.hostname=b.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!c)),this},p.normalizePort=function(a){return"string"==typeof this._parts.protocol&&this._parts.port===e.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!a)),this},p.normalizePath=function(a){if(this._parts.urn||!this._parts.path||"/"===this._parts.path)return this;var b,c,d,f=this._parts.path,g="";for("/"!==f.charAt(0)&&(b=!0,f="/"+f),f=f.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),b&&(g=f.substring(1).match(/^(\.\.\/)+/)||"")&&(g=g[0]);c=f.indexOf("/.."),-1!==c;)0!==c?(d=f.substring(0,c).lastIndexOf("/"),-1===d&&(d=c),f=f.substring(0,d)+f.substring(c+3)):f=f.substring(3);return b&&this.is("relative")&&(f=g+f.substring(1)),f=e.recodePath(f),this._parts.path=f,this.build(!a),this},p.normalizePathname=p.normalizePath,p.normalizeQuery=function(a){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(e.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!a)),this},p.normalizeFragment=function(a){return this._parts.fragment||(this._parts.fragment=null,this.build(!a)),this},p.normalizeSearch=p.normalizeQuery,p.normalizeHash=p.normalizeFragment,p.iso8859=function(){var a=e.encode,b=e.decode;return e.encode=escape,e.decode=decodeURIComponent,this.normalize(),e.encode=a,e.decode=b,this},p.unicode=function(){var a=e.encode,b=e.decode;return e.encode=l,e.decode=unescape,this.normalize(),e.encode=a,e.decode=b,this},p.readable=function(){var b=this.clone();b.username("").password("").normalize();var c="";if(b._parts.protocol&&(c+=b._parts.protocol+"://"),b._parts.hostname&&(b.is("punycode")&&a?(c+=a.toUnicode(b._parts.hostname),b._parts.port&&(c+=":"+b._parts.port)):c+=b.host()),b._parts.hostname&&b._parts.path&&"/"!==b._parts.path.charAt(0)&&(c+="/"),c+=b.path(!0),b._parts.query){for(var d="",f=0,g=b._parts.query.split("&"),h=g.length;h>f;f++){var i=(g[f]||"").split("="),d=d+("&"+e.decodeQuery(i[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"));void 0!==i[1]&&(d+="="+e.decodeQuery(i[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}c+="?"+d.substring(1)}return c+=e.decodeQuery(b.hash(),!0)},p.absoluteTo=function(a){var b,c,d=this.clone(),f=["protocol","username","password","hostname","port"];if(this._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");if(a instanceof e||(a=new e(a)),d._parts.protocol||(d._parts.protocol=a._parts.protocol),this._parts.hostname)return d;for(b=0;c=f[b];b++)d._parts[c]=a._parts[c];return d._parts.path?".."===d._parts.path.substring(-2)&&(d._parts.path+="/"):(d._parts.path=a._parts.path,d._parts.query||(d._parts.query=a._parts.query)),"/"!==d.path().charAt(0)&&(a=a.directory(),d._parts.path=(a?a+"/":"")+d._parts.path,d.normalizePath()),d.build(),d},p.relativeTo=function(a){var b,c,d,f,g=this.clone().normalize();if(g._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");if(a=new e(a).normalize(),b=g._parts,c=a._parts,d=g.path(),f=a.path(),"/"!==d.charAt(0))throw Error("URI is already relative");if("/"!==f.charAt(0))throw Error("Cannot calculate a URI relative to another relative URI");return b.protocol===c.protocol&&(b.protocol=null),b.username!==c.username||b.password!==c.password||null!==b.protocol||null!==b.username||null!==b.password||b.hostname!==c.hostname||b.port!==c.port?g.build():(b.hostname=null,b.port=null,d===f?(b.path="",g.build()):(a=e.commonPath(g.path(),a.path()))?(c=c.path.substring(a.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../"),b.path=c+b.path.substring(a.length),g.build()):g.build())},p.equals=function(a){var b=this.clone();a=new e(a);var c,d={},f={},g={};if(b.normalize(),a.normalize(),b.toString()===a.toString())return!0;if(d=b.query(),f=a.query(),b.query(""),a.query(""),b.toString()!==a.toString()||d.length!==f.length)return!1;d=e.parseQuery(d,this._parts.escapeQuerySpace),f=e.parseQuery(f,this._parts.escapeQuerySpace);for(c in d)if(q.call(d,c)){if(h(d[c])){if(!j(d[c],f[c]))return!1}else if(d[c]!==f[c])return!1;g[c]=!0}for(c in f)if(q.call(f,c)&&!g[c])return!1;return!0},p.duplicateQueryParameters=function(a){return this._parts.duplicateQueryParameters=!!a,this},p.escapeQuerySpace=function(a){return this._parts.escapeQuerySpace=!!a,this},e}),function(a,b){"object"==typeof exports?module.exports=b(require("./URI")):"function"==typeof define&&define.amd?define(["./URI"],b):a.URITemplate=b(a.URI,a)}(this,function(a,b){function c(a){return c._cache[a]?c._cache[a]:this instanceof c?(this.expression=a,c._cache[a]=this,this):new c(a)}function d(a){this.data=a,this.cache={}}var e=b&&b.URITemplate,f=Object.prototype.hasOwnProperty,g=c.prototype,h={"":{prefix:"",separator:",",named:!1,empty_name_separator:!1,encode:"encode"},"+":{prefix:"",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},"#":{prefix:"#",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},".":{prefix:".",separator:".",named:!1,empty_name_separator:!1,encode:"encode"},"/":{prefix:"/",separator:"/",named:!1,empty_name_separator:!1,encode:"encode"},";":{prefix:";",separator:";",named:!0,empty_name_separator:!1,encode:"encode"},"?":{prefix:"?",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"},"&":{prefix:"&",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"}};return c._cache={},c.EXPRESSION_PATTERN=/\{([^a-zA-Z0-9%_]?)([^\}]+)(\}|$)/g,c.VARIABLE_PATTERN=/^([^*:]+)((\*)|:(\d+))?$/,c.VARIABLE_NAME_PATTERN=/[^a-zA-Z0-9%_]/,c.expand=function(a,b){var d,e,f,g=h[a.operator],i=g.named?"Named":"Unnamed",j=a.variables,k=[];for(f=0;e=j[f];f++)d=b.get(e.name),d.val.length?k.push(c["expand"+i](d,g,e.explode,e.explode&&g.separator||",",e.maxlength,e.name)):d.type&&k.push("");return k.length?g.prefix+k.join(g.separator):""},c.expandNamed=function(b,c,d,e,f,g){var h="",i=c.encode;c=c.empty_name_separator;var j,k,l,m=!b[i].length,n=2===b.type?"":a[i](g);for(k=0,l=b.val.length;l>k;k++)f?(j=a[i](b.val[k][1].substring(0,f)),2===b.type&&(n=a[i](b.val[k][0].substring(0,f)))):m?(j=a[i](b.val[k][1]),2===b.type?(n=a[i](b.val[k][0]),b[i].push([n,j])):b[i].push([void 0,j])):(j=b[i][k][1],2===b.type&&(n=b[i][k][0])),h&&(h+=e),d?h+=n+(c||j?"=":"")+j:(k||(h+=a[i](g)+(c||j?"=":"")),2===b.type&&(h+=n+","),h+=j);return h},c.expandUnnamed=function(b,c,d,e,f){var g="",h=c.encode;c=c.empty_name_separator;var i,j,k,l,m=!b[h].length;for(k=0,l=b.val.length;l>k;k++)f?j=a[h](b.val[k][1].substring(0,f)):m?(j=a[h](b.val[k][1]),b[h].push([2===b.type?a[h](b.val[k][0]):void 0,j])):j=b[h][k][1],g&&(g+=e),2===b.type&&(i=f?a[h](b.val[k][0].substring(0,f)):b[h][k][0],g+=i,g=d?g+(c||j?"=":""):g+","),g+=j;return g},c.noConflict=function(){return b.URITemplate===c&&(b.URITemplate=e),c},g.expand=function(a){var b="";this.parts&&this.parts.length||this.parse(),a instanceof d||(a=new d(a));for(var e=0,f=this.parts.length;f>e;e++)b+="string"==typeof this.parts[e]?this.parts[e]:c.expand(this.parts[e],a);return b},g.parse=function(){var a,b,d,e=this.expression,f=c.EXPRESSION_PATTERN,g=c.VARIABLE_PATTERN,i=c.VARIABLE_NAME_PATTERN,j=[],k=0;for(f.lastIndex=0;;){if(b=f.exec(e),null===b){j.push(e.substring(k));break}if(j.push(e.substring(k,b.index)),k=b.index+b[0].length,!h[b[1]])throw Error('Unknown Operator "'+b[1]+'" in "'+b[0]+'"');if(!b[3])throw Error('Unclosed Expression "'+b[0]+'"');a=b[2].split(",");for(var l=0,m=a.length;m>l;l++){if(d=a[l].match(g),null===d)throw Error('Invalid Variable "'+a[l]+'" in "'+b[0]+'"');if(d[1].match(i))throw Error('Invalid Variable Name "'+d[1]+'" in "'+b[0]+'"');a[l]={name:d[1],explode:!!d[3],maxlength:d[4]&&parseInt(d[4],10)}}if(!a.length)throw Error('Expression Missing Variable(s) "'+b[0]+'"');j.push({expression:b[0],operator:b[1],variables:a})}return j.length||j.push(e),this.parts=j,this},d.prototype.get=function(a){var b,c=this.data,d={type:0,val:[],encode:[],encodeReserved:[]};if(void 0!==this.cache[a])return this.cache[a];if(this.cache[a]=d,c="[object Function]"===String(Object.prototype.toString.call(c))?c(a):"[object Function]"===String(Object.prototype.toString.call(c[a]))?c[a](a):c[a],void 0!==c&&null!==c)if("[object Array]"===String(Object.prototype.toString.call(c))){for(b=0,a=c.length;a>b;b++)void 0!==c[b]&&null!==c[b]&&d.val.push([void 0,String(c[b])]);d.val.length&&(d.type=3)}else if("[object Object]"===String(Object.prototype.toString.call(c))){for(b in c)f.call(c,b)&&void 0!==c[b]&&null!==c[b]&&d.val.push([b,String(c[b])]);d.val.length&&(d.type=2)}else d.type=1,d.val.push([void 0,String(c)]);return d},a.expand=function(b,d){var e=new c(b).expand(d);return new a(e)},c}),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"
-},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.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("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),require=function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);throw new Error("Cannot find module '"+g+"'")}var j=c[g]={exports:{}};b[g][0].call(j.exports,function(a){var c=b[g][1][a];return e(c?c:a)},j,j.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b){(function(){var c,d;d=a("./random"),c=function(a,b,c,e){var f,g,h;return f=-1,h=-1,g=!1,{next:function(){var i;if(f>=e.length-1){if(-1===h)return null;g=!0}return g?f>=h?(f--,"\b"):(g=!1,h=-1,e.charAt(++f)):(f++,g=-1!==h&&f%c===0,d.integerInRange(0,100)>b?(i=a.getAdjacentCharacter(e.charAt(f)),null==i?e.charAt(f):(-1===h&&(h=f,g=1===d.integerInRange(0,1)),i)):e.charAt(f))}}},b.exports=c}).call(this)},{"./random":4}],2:[function(a,b){(function(){var c,d,e,f;f=a("./random"),e=[["`","1","2","3","4","5","6","7","8","9","0","-","="],["","Q","W","E","R","T","Y","U","I","O","P","[","]","\\"],["","A","S","D","F","G","H","J","K","L",";","'"],["","Z","X","C","V","B","N","M",",",".","/"]],d=function(a){return a===a.toLowerCase()},c=function(a){var b,g,h,i,j,k,l,m,n,o;for(k=l=0,n=e.length;n>l;k=l+=1)for(i=m=0,o=e[k].length;o>m;i=m+=1)if(e[k][i].toLowerCase()===a.toLowerCase())return j=f.integerInRange(-1,1),h=k+j,(h>=e.length||0>h)&&(h+=-2*j),i>=e[h].length&&(i=e[h].length-1),j=0===j?[-1,1][f.integerInRange(0,1)]:f.integerInRange(-1,1),g=i+j,(g>=e[h].length||0>g)&&(g+=-2*j),b=e[h][g],""===b?c(a):d(a)?b.toLowerCase():b;return null},b.exports.getAdjacentCharacter=c}).call(this)},{"./random":4}],3:[function(a,b){(function(){var c,d,e;e=a("assert"),d=a("./sequence"),c=function(){function a(a){this.onWait=a,this._sequences=[],this._waiting=!0,"function"==typeof this.onWait&&this.onWait()}return a.prototype._next=function(){var a,b,c,d,e;for(b=null,e=this._sequences,c=0,d=e.length;d>c;c++)if(a=e[c],null!=a){if(a.empty())continue;b=a;break}return null!=b?b.next(this._next.bind(this)):(this._sequences=[],this._waiting=!0,"function"==typeof this.onWait?this.onWait():void 0)},a.prototype.then=function(a,b){return e.ok(null!=a,"The priority must be specified"),e.strictEqual(typeof a,"number","Priority must be a number"),e.strictEqual(~~a,a,"Priority must be an integer"),e.ok(a>=0,"Priority must be a positive integer"),e.ok(null!=b,"The function must be specified"),null==this._sequences[a]&&(this._sequences[a]=new d),this._sequences[a].add(b),this._waiting?(this._waiting=!1,this._next()):void 0},a}(),b.exports=c}).call(this)},{"./sequence":5,assert:9}],4:[function(a,b){(function(){var c,d;c=a("assert"),d=function(a,b){return c.ok(null!=a,"The minimum must be specified"),c.strictEqual(typeof a,"number","Min must be a Number"),c.strictEqual(~~a,a,"Min must be an integer"),c.ok(null!=b,"The maximum must be specified"),c.strictEqual(typeof b,"number","Max must be a Number"),c.strictEqual(~~b,b,"Max must be an integer"),c.strictEqual(b>=a,!0,"Min must be less than or equal to Max"),a===b?a:Math.floor(Math.random()*(b-a+1))+a},b.exports.integerInRange=d}).call(this)},{assert:9}],5:[function(a,b){(function(){var c,d;d=a("assert"),c=function(){function a(){this._queue=[]}return a.prototype.next=function(a){var b;return this.empty()?void 0:(b=this._queue.shift())(a)},a.prototype.add=function(a){return d.ok(null!=a,"The function must be specified"),this._queue.push(a)},a.prototype.empty=function(){return 0===this._queue.length},a}(),b.exports=c}).call(this)},{assert:9}],6:[function(a,b){(function(c){(function(){var d,e,f,g,h;f=a("assert"),d=a("./prioritysequence"),h=a("./random"),g=a("./charactergenerator"),e=function(){function a(){this._prioritySequence=new d(function(a){return function(){return a._sequenceLevel=0}}(this))}return a.prototype.setTargetDomElement=function(a){return f.ok(a instanceof Element,"TargetDomElement must be an instance of Element"),this.targetDomElement=a},a.prototype.setAccuracy=function(a){return f.strictEqual(typeof a,"number","Accuracy must be a number"),f.ok(a>0&&100>=a,"Accuracy must be greater than 0 and less than or equal to 100"),this.accuracy=a},a.prototype.setMinimumSpeed=function(a){return f.strictEqual(typeof a,"number","MinimumSpeed must be a number"),f.ok(a>0,"MinimumSpeed must be greater than 0"),this.minimumSpeed=null!=this.maximumSpeed&&a>this.maximumSpeed?this.maximumSpeed:a},a.prototype.setMaximumSpeed=function(a){return f.strictEqual(typeof a,"number","MaximumSpeed must be a number"),f.ok(a>0,"MaximumSpeed must be greater than 0"),this.maximumSpeed=null!=this.minimumSpeed&&this.minimumSpeed>a?minimumSpeed:a},a.prototype.setKeyboardLayout=function(a){return f.strictEqual(typeof a.getAdjacentCharacter,"function","KeyboardLayout must have an exported getAdjacentCharacter method"),this.keyboardLayout=a},a.prototype._makeChainable=function(a,b){var d;return d=Object.create(this),d._sequenceLevel=this._sequenceLevel,this._prioritySequence.then(this._sequenceLevel,function(e){return c.nextTick(function(){return b(function(){return null!=a&&a.call(d),e()})})}),null!=a&&this._sequenceLevel++,null==a||this.hasOwnProperty("_prioritySequence")?this:void 0},a.prototype.clear=function(a){return this._makeChainable(a,function(a){return function(b){for(var c;null!=(c=a.targetDomElement.lastChild);)a.targetDomElement.removeChild(c);return b()}}(this))},a.prototype.waitRange=function(a,b,c){return this._makeChainable(c,function(){return function(c){return setTimeout(c,h.integerInRange(a,b))}}(this))},a.prototype.wait=function(a,b){return this.waitRange(a,a,b)},a.prototype.put=function(a,b){return this._makeChainable(b,function(b){return function(c){var d,e;for(e=document.createElement("div"),e.innerHTML=a;null!=(d=e.firstChild);)b.targetDomElement.appendChild(d);return c()}}(this))},a.prototype["delete"]=function(a){return this._makeChainable(a,function(a){return function(b){return a.targetDomElement.removeChild(a.targetDomElement.lastChild),b()}}(this))},a.prototype.type=function(a,b){var c,d,e;for(d=(this.minimumSpeed+this.maximumSpeed)/2,e=g(this.keyboardLayout,this.accuracy,d,a);null!==(c=e.next());)"\b"!==c?this.put(c):this["delete"](),this.waitRange(~~(1e3/this.maximumSpeed),~~(1e3/this.minimumSpeed));return this.wait(0,b)},a}(),b.exports=e}).call(this)}).call(this,a("FWaASH"))},{"./charactergenerator":1,"./prioritysequence":3,"./random":4,FWaASH:13,assert:9}],OPj7T5:[function(a,b){(function(){var c,d,e;e=a("assert"),c=a("./typewriter"),d=function(b){var d;return d=new c,d.setTargetDomElement(b),{withAccuracy:function(a){return this.accuracy=a,d.setAccuracy(this.accuracy),this},withMinimumSpeed:function(a){return this.minimumSpeed=a,d.setMinimumSpeed(this.minimumSpeed),this},withMaximumSpeed:function(a){return this.maximumSpeed=a,d.setMaximumSpeed(this.maximumSpeed),this},withKeyboardLayout:function(a){return this.keyboardLayout=a,d.setKeyboardLayout(this.keyboardLayout),this},build:function(){return e.ok(null!=this.accuracy,"Accuracy must be set"),e.ok(null!=this.minimumSpeed,"MinimumSpeed must be set"),e.ok(null!=this.maximumSpeed,"MaximumSpeed must be set"),null==this.keyboardLayout&&d.setKeyboardLayout(a("./defaultkeyboardlayout")),d}}},b.exports=d}).call(this)},{"./defaultkeyboardlayout":2,"./typewriter":6,assert:9}],typewriter:[function(a,b){b.exports=a("OPj7T5")},{}],9:[function(a,b){function c(a,b){return m.isUndefined(b)?""+b:!m.isNumber(b)||!isNaN(b)&&isFinite(b)?m.isFunction(b)||m.isRegExp(b)?b.toString():b:b.toString()}function d(a,b){return m.isString(a)?a.length<b?a:a.slice(0,b):a}function e(a){return d(JSON.stringify(a.actual,c),128)+" "+a.operator+" "+d(JSON.stringify(a.expected,c),128)}function f(a,b,c,d,e){throw new p.AssertionError({message:c,actual:a,expected:b,operator:d,stackStartFunction:e})}function g(a,b){a||f(a,!0,b,"==",p.ok)}function h(a,b){if(a===b)return!0;if(m.isBuffer(a)&&m.isBuffer(b)){if(a.length!=b.length)return!1;for(var c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}return m.isDate(a)&&m.isDate(b)?a.getTime()===b.getTime():m.isRegExp(a)&&m.isRegExp(b)?a.source===b.source&&a.global===b.global&&a.multiline===b.multiline&&a.lastIndex===b.lastIndex&&a.ignoreCase===b.ignoreCase:m.isObject(a)||m.isObject(b)?j(a,b):a==b}function i(a){return"[object Arguments]"==Object.prototype.toString.call(a)}function j(a,b){if(m.isNullOrUndefined(a)||m.isNullOrUndefined(b))return!1;if(a.prototype!==b.prototype)return!1;if(i(a))return i(b)?(a=n.call(a),b=n.call(b),h(a,b)):!1;try{var c,d,e=q(a),f=q(b)}catch(g){return!1}if(e.length!=f.length)return!1;for(e.sort(),f.sort(),d=e.length-1;d>=0;d--)if(e[d]!=f[d])return!1;for(d=e.length-1;d>=0;d--)if(c=e[d],!h(a[c],b[c]))return!1;return!0}function k(a,b){return a&&b?"[object RegExp]"==Object.prototype.toString.call(b)?b.test(a):a instanceof b?!0:b.call({},a)===!0?!0:!1:!1}function l(a,b,c,d){var e;m.isString(c)&&(d=c,c=null);try{b()}catch(g){e=g}if(d=(c&&c.name?" ("+c.name+").":".")+(d?" "+d:"."),a&&!e&&f(e,c,"Missing expected exception"+d),!a&&k(e,c)&&f(e,c,"Got unwanted exception"+d),a&&e&&c&&!k(e,c)||!a&&e)throw e}var m=a("util/"),n=Array.prototype.slice,o=Object.prototype.hasOwnProperty,p=b.exports=g;p.AssertionError=function(a){this.name="AssertionError",this.actual=a.actual,this.expected=a.expected,this.operator=a.operator,a.message?(this.message=a.message,this.generatedMessage=!1):(this.message=e(this),this.generatedMessage=!0);var b=a.stackStartFunction||f;if(Error.captureStackTrace)Error.captureStackTrace(this,b);else{var c=new Error;if(c.stack){var d=c.stack,g=b.name,h=d.indexOf("\n"+g);if(h>=0){var i=d.indexOf("\n",h+1);d=d.substring(i+1)}this.stack=d}}},m.inherits(p.AssertionError,Error),p.fail=f,p.ok=g,p.equal=function(a,b,c){a!=b&&f(a,b,c,"==",p.equal)},p.notEqual=function(a,b,c){a==b&&f(a,b,c,"!=",p.notEqual)},p.deepEqual=function(a,b,c){h(a,b)||f(a,b,c,"deepEqual",p.deepEqual)},p.notDeepEqual=function(a,b,c){h(a,b)&&f(a,b,c,"notDeepEqual",p.notDeepEqual)},p.strictEqual=function(a,b,c){a!==b&&f(a,b,c,"===",p.strictEqual)},p.notStrictEqual=function(a,b,c){a===b&&f(a,b,c,"!==",p.notStrictEqual)},p.throws=function(){l.apply(this,[!0].concat(n.call(arguments)))},p.doesNotThrow=function(){l.apply(this,[!1].concat(n.call(arguments)))},p.ifError=function(a){if(a)throw a};var q=Object.keys||function(a){var b=[];for(var c in a)o.call(a,c)&&b.push(c);return b}},{"util/":11}],10:[function(a,b){b.exports=function(a){return a&&"object"==typeof a&&"function"==typeof a.copy&&"function"==typeof a.fill&&"function"==typeof a.readUInt8}},{}],11:[function(a,b,c){(function(b,d){function e(a,b){var d={seen:[],stylize:g};return arguments.length>=3&&(d.depth=arguments[2]),arguments.length>=4&&(d.colors=arguments[3]),p(b)?d.showHidden=b:b&&c._extend(d,b),v(d.showHidden)&&(d.showHidden=!1),v(d.depth)&&(d.depth=2),v(d.colors)&&(d.colors=!1),v(d.customInspect)&&(d.customInspect=!0),d.colors&&(d.stylize=f),i(d,a,d.depth)}function f(a,b){var c=e.styles[b];return c?"["+e.colors[c][0]+"m"+a+"["+e.colors[c][1]+"m":a}function g(a){return a}function h(a){var b={};return a.forEach(function(a){b[a]=!0}),b}function i(a,b,d){if(a.customInspect&&b&&A(b.inspect)&&b.inspect!==c.inspect&&(!b.constructor||b.constructor.prototype!==b)){var e=b.inspect(d,a);return t(e)||(e=i(a,e,d)),e}var f=j(a,b);if(f)return f;var g=Object.keys(b),p=h(g);if(a.showHidden&&(g=Object.getOwnPropertyNames(b)),z(b)&&(g.indexOf("message")>=0||g.indexOf("description")>=0))return k(b);if(0===g.length){if(A(b)){var q=b.name?": "+b.name:"";return a.stylize("[Function"+q+"]","special")}if(w(b))return a.stylize(RegExp.prototype.toString.call(b),"regexp");if(y(b))return a.stylize(Date.prototype.toString.call(b),"date");if(z(b))return k(b)}var r="",s=!1,u=["{","}"];if(o(b)&&(s=!0,u=["[","]"]),A(b)){var v=b.name?": "+b.name:"";r=" [Function"+v+"]"}if(w(b)&&(r=" "+RegExp.prototype.toString.call(b)),y(b)&&(r=" "+Date.prototype.toUTCString.call(b)),z(b)&&(r=" "+k(b)),0===g.length&&(!s||0==b.length))return u[0]+r+u[1];if(0>d)return w(b)?a.stylize(RegExp.prototype.toString.call(b),"regexp"):a.stylize("[Object]","special");a.seen.push(b);var x;return x=s?l(a,b,d,p,g):g.map(function(c){return m(a,b,d,p,c,s)}),a.seen.pop(),n(x,r,u)}function j(a,b){if(v(b))return a.stylize("undefined","undefined");if(t(b)){var c="'"+JSON.stringify(b).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return a.stylize(c,"string")}return s(b)?a.stylize(""+b,"number"):p(b)?a.stylize(""+b,"boolean"):q(b)?a.stylize("null","null"):void 0}function k(a){return"["+Error.prototype.toString.call(a)+"]"}function l(a,b,c,d,e){for(var f=[],g=0,h=b.length;h>g;++g)f.push(F(b,String(g))?m(a,b,c,d,String(g),!0):"");return e.forEach(function(e){e.match(/^\d+$/)||f.push(m(a,b,c,d,e,!0))}),f}function m(a,b,c,d,e,f){var g,h,j;if(j=Object.getOwnPropertyDescriptor(b,e)||{value:b[e]},j.get?h=j.set?a.stylize("[Getter/Setter]","special"):a.stylize("[Getter]","special"):j.set&&(h=a.stylize("[Setter]","special")),F(d,e)||(g="["+e+"]"),h||(a.seen.indexOf(j.value)<0?(h=q(c)?i(a,j.value,null):i(a,j.value,c-1),h.indexOf("\n")>-1&&(h=f?h.split("\n").map(function(a){return"  "+a}).join("\n").substr(2):"\n"+h.split("\n").map(function(a){return"   "+a}).join("\n"))):h=a.stylize("[Circular]","special")),v(g)){if(f&&e.match(/^\d+$/))return h;g=JSON.stringify(""+e),g.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(g=g.substr(1,g.length-2),g=a.stylize(g,"name")):(g=g.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),g=a.stylize(g,"string"))}return g+": "+h}function n(a,b,c){var d=0,e=a.reduce(function(a,b){return d++,b.indexOf("\n")>=0&&d++,a+b.replace(/\u001b\[\d\d?m/g,"").length+1},0);return e>60?c[0]+(""===b?"":b+"\n ")+" "+a.join(",\n  ")+" "+c[1]:c[0]+b+" "+a.join(", ")+" "+c[1]}function o(a){return Array.isArray(a)}function p(a){return"boolean"==typeof a}function q(a){return null===a}function r(a){return null==a}function s(a){return"number"==typeof a}function t(a){return"string"==typeof a}function u(a){return"symbol"==typeof a}function v(a){return void 0===a}function w(a){return x(a)&&"[object RegExp]"===C(a)}function x(a){return"object"==typeof a&&null!==a}function y(a){return x(a)&&"[object Date]"===C(a)}function z(a){return x(a)&&("[object Error]"===C(a)||a instanceof Error)}function A(a){return"function"==typeof a}function B(a){return null===a||"boolean"==typeof a||"number"==typeof a||"string"==typeof a||"symbol"==typeof a||"undefined"==typeof a}function C(a){return Object.prototype.toString.call(a)}function D(a){return 10>a?"0"+a.toString(10):a.toString(10)}function E(){var a=new Date,b=[D(a.getHours()),D(a.getMinutes()),D(a.getSeconds())].join(":");return[a.getDate(),J[a.getMonth()],b].join(" ")}function F(a,b){return Object.prototype.hasOwnProperty.call(a,b)}var G=/%[sdj%]/g;c.format=function(a){if(!t(a)){for(var b=[],c=0;c<arguments.length;c++)b.push(e(arguments[c]));return b.join(" ")}for(var c=1,d=arguments,f=d.length,g=String(a).replace(G,function(a){if("%%"===a)return"%";if(c>=f)return a;switch(a){case"%s":return String(d[c++]);case"%d":return Number(d[c++]);case"%j":try{return JSON.stringify(d[c++])}catch(b){return"[Circular]"}default:return a}}),h=d[c];f>c;h=d[++c])g+=q(h)||!x(h)?" "+h:" "+e(h);return g},c.deprecate=function(a,e){function f(){if(!g){if(b.throwDeprecation)throw new Error(e);b.traceDeprecation?console.trace(e):console.error(e),g=!0}return a.apply(this,arguments)}if(v(d.process))return function(){return c.deprecate(a,e).apply(this,arguments)};if(b.noDeprecation===!0)return a;var g=!1;return f};var H,I={};c.debuglog=function(a){if(v(H)&&(H=b.env.NODE_DEBUG||""),a=a.toUpperCase(),!I[a])if(new RegExp("\\b"+a+"\\b","i").test(H)){var d=b.pid;I[a]=function(){var b=c.format.apply(c,arguments);console.error("%s %d: %s",a,d,b)}}else I[a]=function(){};return I[a]},c.inspect=e,e.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},e.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},c.isArray=o,c.isBoolean=p,c.isNull=q,c.isNullOrUndefined=r,c.isNumber=s,c.isString=t,c.isSymbol=u,c.isUndefined=v,c.isRegExp=w,c.isObject=x,c.isDate=y,c.isError=z,c.isFunction=A,c.isPrimitive=B,c.isBuffer=a("./support/isBuffer");var J=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];c.log=function(){console.log("%s - %s",E(),c.format.apply(c,arguments))},c.inherits=a("inherits"),c._extend=function(a,b){if(!b||!x(b))return a;for(var c=Object.keys(b),d=c.length;d--;)a[c[d]]=b[c[d]];return a}}).call(this,a("FWaASH"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,FWaASH:13,inherits:12}],12:[function(a,b){b.exports="function"==typeof Object.create?function(a,b){a.super_=b,a.prototype=Object.create(b.prototype,{constructor:{value:a,enumerable:!1,writable:!0,configurable:!0}})}:function(a,b){a.super_=b;var c=function(){};c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}},{}],13:[function(a,b){function c(){}var d=b.exports={};d.nextTick=function(){var a="undefined"!=typeof window&&window.setImmediate,b="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(a)return function(a){return window.setImmediate(a)};if(b){var c=[];return window.addEventListener("message",function(a){var b=a.source;if((b===window||null===b)&&"process-tick"===a.data&&(a.stopPropagation(),c.length>0)){var d=c.shift();d()}},!0),function(a){c.push(a),window.postMessage("process-tick","*")}}return function(a){setTimeout(a,0)}}(),d.title="browser",d.browser=!0,d.env={},d.argv=[],d.on=c,d.addListener=c,d.once=c,d.off=c,d.removeListener=c,d.removeAllListeners=c,d.emit=c,d.binding=function(){throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(){throw new Error("process.chdir is not supported")}},{}]},{},[]),$(document).ready(function(){$("a[href*=#]:not([href=#])").click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=$(this.hash);if(a=a.length?a:$("[name="+this.hash.slice(1)+"]"),a.length)return $("html,body").animate({scrollTop:a.offset().top},1e3),!1}})}),function(){function a(a){$(".browse").addClass("uploading");var c=$('<li style="clear:both;"/>');c.append($('<div><div class="upload-progress"><span></span><div class="bar" style="width:0%;">####################################################</div></div><p>Uploading... '+a.name+"</p></div>")),$(c).appendTo($(".queue"));var d=new XMLHttpRequest;d.upload.addEventListener("progress",function(a){var b=parseInt(a.loaded/a.total*100);$(".upload-progress",$(c)).show(),$(".upload-progress .bar",$(c)).css("width",b+"%"),$(".upload-progress span  ").empty().append(b+"%")},!1),d.onreadystatechange=function(){4==d.readyState&&($("#web").addClass("uploading"),$(c).html(200==d.status?'<a target="_blank" href="'+d.responseText+'">'+d.responseText+"</a>":"<span>Error ("+d.status+") during upload of file "+a.name+"</span>"),b.push(d.responseText.replace("https://transfer.sh/","").replace("\n","")),$(".download-zip").attr("href",URI("("+b.join(",")+").zip").absoluteTo(location.href).toString()),$(".download-tar").attr("href",URI("("+b.join(",")+").tar.gz").absoluteTo(location.href).toString()),$(".all-files").addClass("show"))},d.open("PUT","/"+a.name,!0),d.setRequestHeader("X_FILENAME",a.name),d.send(a)}var b=Array();$(document).bind("dragenter",function(a){a.preventDefault()}).bind("dragover",function(a){a.preventDefault(),$("#terminal").addClass("dragged"),$("#web").addClass("dragged")}).bind("dragleave",function(){$("#terminal").removeClass("dragged"),$("#web").removeClass("dragged")}).bind("drop dragdrop",function(b){var c=b.originalEvent.target.files||b.originalEvent.dataTransfer.files;$.each(c,function(b,c){console.debug(c),a(c)}),b.stopPropagation(),b.preventDefault()}),$("a.browse").on("click",function(){return $("input[type=file]").click(),!1}),$("input[type=file]").on("change",function(){$.each(this.files,function(b,c){c instanceof Blob&&a(c)})})}();
\ No newline at end of file
+_.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(E(b,!0),a,d,e)}}),_.each({slideDown:E("show"),slideUp:E("hide"),slideToggle:E("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){_.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),_.timers=[],_.fx.tick=function(){var a,b=0,c=_.timers;for(Yb=_.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||_.fx.stop(),Yb=void 0},_.fx.timer=function(a){_.timers.push(a),a()?_.fx.start():_.timers.pop()},_.fx.interval=13,_.fx.start=function(){Zb||(Zb=setInterval(_.fx.tick,_.fx.interval))},_.fx.stop=function(){clearInterval(Zb),Zb=null},_.fx.speeds={slow:600,fast:200,_default:400},_.fn.delay=function(a,b){return a=_.fx?_.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=Z.createElement("input"),b=Z.createElement("select"),c=b.appendChild(Z.createElement("option"));a.type="checkbox",Y.checkOn=""!==a.value,Y.optSelected=c.selected,b.disabled=!0,Y.optDisabled=!c.disabled,a=Z.createElement("input"),a.value="t",a.type="radio",Y.radioValue="t"===a.value}();var dc,ec,fc=_.expr.attrHandle;_.fn.extend({attr:function(a,b){return qb(this,_.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){_.removeAttr(this,a)})}}),_.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===zb?_.prop(a,b,c):(1===f&&_.isXMLDoc(a)||(b=b.toLowerCase(),d=_.attrHooks[b]||(_.expr.match.bool.test(b)?ec:dc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=_.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void _.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(nb);if(f&&1===a.nodeType)for(;c=f[e++];)d=_.propFix[c]||c,_.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!Y.radioValue&&"radio"===b&&_.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),ec={set:function(a,b,c){return b===!1?_.removeAttr(a,c):a.setAttribute(c,c),c}},_.each(_.expr.match.bool.source.match(/\w+/g),function(a,b){var c=fc[b]||_.find.attr;fc[b]=function(a,b,d){var e,f;return d||(f=fc[b],fc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,fc[b]=f),e}});var gc=/^(?:input|select|textarea|button)$/i;_.fn.extend({prop:function(a,b){return qb(this,_.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[_.propFix[a]||a]})}}),_.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!_.isXMLDoc(a),f&&(b=_.propFix[b]||b,e=_.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||gc.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),Y.optSelected||(_.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),_.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){_.propFix[this.toLowerCase()]=this});var hc=/[\t\r\n\f]/g;_.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(nb)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hc," "):" ")){for(f=0;e=b[f++];)d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=_.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(_.isFunction(a))return this.each(function(b){_(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(nb)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(hc," "):"")){for(f=0;e=b[f++];)for(;d.indexOf(" "+e+" ")>=0;)d=d.replace(" "+e+" "," ");g=a?_.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(_.isFunction(a)?function(c){_(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c)for(var b,d=0,e=_(this),f=a.match(nb)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else(c===zb||"boolean"===c)&&(this.className&&rb.set(this,"__className__",this.className),this.className=this.className||a===!1?"":rb.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(hc," ").indexOf(b)>=0)return!0;return!1}});var ic=/\r/g;_.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=_.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,_(this).val()):a,null==e?e="":"number"==typeof e?e+="":_.isArray(e)&&(e=_.map(e,function(a){return null==a?"":a+""})),b=_.valHooks[this.type]||_.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=_.valHooks[e.type]||_.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ic,""):null==c?"":c)}}}),_.extend({valHooks:{option:{get:function(a){var b=_.find.attr(a,"value");return null!=b?b:_.trim(_.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(Y.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&_.nodeName(c.parentNode,"optgroup"))){if(b=_(c).val(),f)return b;g.push(b)}return g},set:function(a,b){for(var c,d,e=a.options,f=_.makeArray(b),g=e.length;g--;)d=e[g],(d.selected=_.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),_.each(["radio","checkbox"],function(){_.valHooks[this]={set:function(a,b){return _.isArray(b)?a.checked=_.inArray(_(a).val(),b)>=0:void 0}},Y.checkOn||(_.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),_.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){_.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),_.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var jc=_.now(),kc=/\?/;_.parseJSON=function(a){return JSON.parse(a+"")},_.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&_.error("Invalid XML: "+a),b};var lc,mc,nc=/#.*$/,oc=/([?&])_=[^&]*/,pc=/^(.*?):[ \t]*([^\r\n]*)$/gm,qc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rc=/^(?:GET|HEAD)$/,sc=/^\/\//,tc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,uc={},vc={},wc="*/".concat("*");try{mc=location.href}catch(xc){mc=Z.createElement("a"),mc.href="",mc=mc.href}lc=tc.exec(mc.toLowerCase())||[],_.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:mc,type:"GET",isLocal:qc.test(lc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":wc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":_.parseJSON,"text xml":_.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?L(L(a,_.ajaxSettings),b):L(_.ajaxSettings,a)},ajaxPrefilter:J(uc),ajaxTransport:J(vc),ajax:function(a,b){function c(a,b,c,g){var i,k,r,s,u,w=b;2!==t&&(t=2,h&&clearTimeout(h),d=void 0,f=g||"",v.readyState=a>0?4:0,i=a>=200&&300>a||304===a,c&&(s=M(l,v,c)),s=N(l,s,v,i),i?(l.ifModified&&(u=v.getResponseHeader("Last-Modified"),u&&(_.lastModified[e]=u),u=v.getResponseHeader("etag"),u&&(_.etag[e]=u)),204===a||"HEAD"===l.type?w="nocontent":304===a?w="notmodified":(w=s.state,k=s.data,r=s.error,i=!r)):(r=w,(a||!w)&&(w="error",0>a&&(a=0))),v.status=a,v.statusText=(b||w)+"",i?o.resolveWith(m,[k,w,v]):o.rejectWith(m,[v,w,r]),v.statusCode(q),q=void 0,j&&n.trigger(i?"ajaxSuccess":"ajaxError",[v,l,i?k:r]),p.fireWith(m,[v,w]),j&&(n.trigger("ajaxComplete",[v,l]),--_.active||_.event.trigger("ajaxStop")))}"object"==typeof a&&(b=a,a=void 0),b=b||{};var d,e,f,g,h,i,j,k,l=_.ajaxSetup({},b),m=l.context||l,n=l.context&&(m.nodeType||m.jquery)?_(m):_.event,o=_.Deferred(),p=_.Callbacks("once memory"),q=l.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!g)for(g={};b=pc.exec(f);)g[b[1].toLowerCase()]=b[2];b=g[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return d&&d.abort(b),c(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,l.url=((a||l.url||mc)+"").replace(nc,"").replace(sc,lc[1]+"//"),l.type=b.method||b.type||l.method||l.type,l.dataTypes=_.trim(l.dataType||"*").toLowerCase().match(nb)||[""],null==l.crossDomain&&(i=tc.exec(l.url.toLowerCase()),l.crossDomain=!(!i||i[1]===lc[1]&&i[2]===lc[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(lc[3]||("http:"===lc[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=_.param(l.data,l.traditional)),K(uc,l,b,v),2===t)return v;j=l.global,j&&0===_.active++&&_.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!rc.test(l.type),e=l.url,l.hasContent||(l.data&&(e=l.url+=(kc.test(e)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=oc.test(e)?e.replace(oc,"$1_="+jc++):e+(kc.test(e)?"&":"?")+"_="+jc++)),l.ifModified&&(_.lastModified[e]&&v.setRequestHeader("If-Modified-Since",_.lastModified[e]),_.etag[e]&&v.setRequestHeader("If-None-Match",_.etag[e])),(l.data&&l.hasContent&&l.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",l.contentType),v.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+wc+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)v.setRequestHeader(k,l.headers[k]);if(l.beforeSend&&(l.beforeSend.call(m,v,l)===!1||2===t))return v.abort();u="abort";for(k in{success:1,error:1,complete:1})v[k](l[k]);if(d=K(vc,l,b,v)){v.readyState=1,j&&n.trigger("ajaxSend",[v,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){v.abort("timeout")},l.timeout));try{t=1,d.send(r,c)}catch(w){if(!(2>t))throw w;c(-1,w)}}else c(-1,"No Transport");return v},getJSON:function(a,b,c){return _.get(a,b,c,"json")},getScript:function(a,b){return _.get(a,void 0,b,"script")}}),_.each(["get","post"],function(a,b){_[b]=function(a,c,d,e){return _.isFunction(c)&&(e=e||d,d=c,c=void 0),_.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),_.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){_.fn[b]=function(a){return this.on(b,a)}}),_._evalUrl=function(a){return _.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},_.fn.extend({wrapAll:function(a){var b;return _.isFunction(a)?this.each(function(b){_(this).wrapAll(a.call(this,b))}):(this[0]&&(b=_(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(_.isFunction(a)?function(b){_(this).wrapInner(a.call(this,b))}:function(){var b=_(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=_.isFunction(a);return this.each(function(c){_(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){_.nodeName(this,"body")||_(this).replaceWith(this.childNodes)}).end()}}),_.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},_.expr.filters.visible=function(a){return!_.expr.filters.hidden(a)};var yc=/%20/g,zc=/\[\]$/,Ac=/\r?\n/g,Bc=/^(?:submit|button|image|reset|file)$/i,Cc=/^(?:input|select|textarea|keygen)/i;_.param=function(a,b){var c,d=[],e=function(a,b){b=_.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=_.ajaxSettings&&_.ajaxSettings.traditional),_.isArray(a)||a.jquery&&!_.isPlainObject(a))_.each(a,function(){e(this.name,this.value)});else for(c in a)O(c,a[c],b,e);return d.join("&").replace(yc,"+")},_.fn.extend({serialize:function(){return _.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=_.prop(this,"elements");return a?_.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!_(this).is(":disabled")&&Cc.test(this.nodeName)&&!Bc.test(a)&&(this.checked||!yb.test(a))}).map(function(a,b){var c=_(this).val();return null==c?null:_.isArray(c)?_.map(c,function(a){return{name:b.name,value:a.replace(Ac,"\r\n")}}):{name:b.name,value:c.replace(Ac,"\r\n")}}).get()}}),_.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Dc=0,Ec={},Fc={0:200,1223:204},Gc=_.ajaxSettings.xhr();a.ActiveXObject&&_(a).on("unload",function(){for(var a in Ec)Ec[a]()}),Y.cors=!!Gc&&"withCredentials"in Gc,Y.ajax=Gc=!!Gc,_.ajaxTransport(function(a){var b;return Y.cors||Gc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Dc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Ec[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Fc[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Ec[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),_.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return _.globalEval(a),a}}}),_.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),_.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=_("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),Z.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Hc=[],Ic=/(=)\?(?=&|$)|\?\?/;_.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Hc.pop()||_.expando+"_"+jc++;return this[a]=!0,a}}),_.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Ic.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ic.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=_.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Ic,"$1"+e):b.jsonp!==!1&&(b.url+=(kc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||_.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Hc.push(e)),g&&_.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),_.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||Z;var d=gb.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=_.buildFragment([a],b,e),e&&e.length&&_(e).remove(),_.merge([],d.childNodes))};var Jc=_.fn.load;_.fn.load=function(a,b,c){if("string"!=typeof a&&Jc)return Jc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=_.trim(a.slice(h)),a=a.slice(0,h)),_.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&_.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?_("<div>").append(_.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},_.expr.filters.animated=function(a){return _.grep(_.timers,function(b){return a===b.elem}).length};var Kc=a.document.documentElement;_.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=_.css(a,"position"),l=_(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=_.css(a,"top"),i=_.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),_.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},_.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){_.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,_.contains(b,d)?(typeof d.getBoundingClientRect!==zb&&(e=d.getBoundingClientRect()),c=P(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===_.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),_.nodeName(a[0],"html")||(d=a.offset()),d.top+=_.css(a[0],"borderTopWidth",!0),d.left+=_.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-_.css(c,"marginTop",!0),left:b.left-d.left-_.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||Kc;a&&!_.nodeName(a,"html")&&"static"===_.css(a,"position");)a=a.offsetParent;return a||Kc})}}),_.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;_.fn[b]=function(e){return qb(this,function(b,e,f){var g=P(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),_.each(["top","left"],function(a,b){_.cssHooks[b]=w(Y.pixelPosition,function(a,c){return c?(c=v(a,b),Qb.test(c)?_(a).position()[b]+"px":c):void 0})}),_.each({Height:"height",Width:"width"},function(a,b){_.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){_.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return qb(this,function(b,c,d){var e;return _.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?_.css(b,c,g):_.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),_.fn.size=function(){return this.length},_.fn.andSelf=_.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return _});var Lc=a.jQuery,Mc=a.$;return _.noConflict=function(b){return a.$===_&&(a.$=Mc),b&&a.jQuery===_&&(a.jQuery=Lc),_},typeof b===zb&&(a.jQuery=a.$=_),_}),function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.IPv6=b(a)}(this,function(a){var b=a&&a.IPv6;return{best:function(a){a=a.toLowerCase().split(":");var b=a.length,c=8;""===a[0]&&""===a[1]&&""===a[2]?(a.shift(),a.shift()):""===a[0]&&""===a[1]?a.shift():""===a[b-1]&&""===a[b-2]&&a.pop(),b=a.length,-1!==a[b-1].indexOf(".")&&(c=7);var d;for(d=0;b>d&&""!==a[d];d++);if(c>d)for(a.splice(d,1,"0000");a.length<c;)a.splice(d,0,"0000");for(d=0;c>d;d++){for(var b=a[d].split(""),e=0;3>e&&("0"===b[0]&&1<b.length);e++)b.splice(0,1);a[d]=b.join("")}var b=-1,f=e=0,g=-1,h=!1;for(d=0;c>d;d++)h?"0"===a[d]?f+=1:(h=!1,f>e&&(b=g,e=f)):"0"===a[d]&&(h=!0,g=d,f=1);for(f>e&&(b=g,e=f),e>1&&a.splice(b,e,""),b=a.length,c="",""===a[0]&&(c=":"),d=0;b>d&&(c+=a[d],d!==b-1);d++)c+=":";return""===a[b-1]&&(c+=":"),c},noConflict:function(){return a.IPv6===this&&(a.IPv6=b),this}}}),function(a){function b(a){throw RangeError(s[a])}function c(a,b){for(var c=a.length;c--;)a[c]=b(a[c]);return a}function d(a,b){return c(a.split(r),b).join(".")}function e(a){for(var b,c,d=[],e=0,f=a.length;f>e;)b=a.charCodeAt(e++),b>=55296&&56319>=b&&f>e?(c=a.charCodeAt(e++),56320==(64512&c)?d.push(((1023&b)<<10)+(1023&c)+65536):(d.push(b),e--)):d.push(b);return d}function f(a){return c(a,function(a){var b="";return a>65535&&(a-=65536,b+=u(a>>>10&1023|55296),a=56320|1023&a),b+=u(a)}).join("")}function g(a,b){return a+22+75*(26>a)-((0!=b)<<5)}function h(a,b,c){var d=0;for(a=c?t(a/700):a>>1,a+=t(a/b);a>455;d+=36)a=t(a/35);return t(d+36*a/(a+38))}function i(a){var c,d,e,g,i,j,k=[],l=a.length,m=0,n=128,o=72;for(d=a.lastIndexOf("-"),0>d&&(d=0),e=0;d>e;++e)128<=a.charCodeAt(e)&&b("not-basic"),k.push(a.charCodeAt(e));for(d=d>0?d+1:0;l>d;){for(e=m,c=1,g=36;d>=l&&b("invalid-input"),i=a.charCodeAt(d++),i=10>i-48?i-22:26>i-65?i-65:26>i-97?i-97:36,(i>=36||i>t((2147483647-m)/c))&&b("overflow"),m+=i*c,j=o>=g?1:g>=o+26?26:g-o,!(j>i);g+=36)i=36-j,c>t(2147483647/i)&&b("overflow"),c*=i;c=k.length+1,o=h(m-e,c,0==e),t(m/c)>2147483647-n&&b("overflow"),n+=t(m/c),m%=c,k.splice(m++,0,n)}return f(k)}function j(a){var c,d,f,i,j,k,l,m,n,o,p,q,r=[];for(a=e(a),o=a.length,c=128,d=0,j=72,k=0;o>k;++k)n=a[k],128>n&&r.push(u(n));for((f=i=r.length)&&r.push("-");o>f;){for(l=2147483647,k=0;o>k;++k)n=a[k],n>=c&&l>n&&(l=n);for(p=f+1,l-c>t((2147483647-d)/p)&&b("overflow"),d+=(l-c)*p,c=l,k=0;o>k;++k)if(n=a[k],c>n&&2147483647<++d&&b("overflow"),n==c){for(m=d,l=36;n=j>=l?1:l>=j+26?26:l-j,!(n>m);l+=36)q=m-n,m=36-n,r.push(u(g(n+q%m,0))),m=t(q/m);r.push(u(g(m,0))),j=h(d,p,f==i),d=0,++f}++d,++c}return r.join("")}var k="object"==typeof exports&&exports,l="object"==typeof module&&module&&module.exports==k&&module,m="object"==typeof global&&global;(m.global===m||m.window===m)&&(a=m);var n,o,p=/^xn--/,q=/[^ -~]/,r=/\x2E|\u3002|\uFF0E|\uFF61/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},t=Math.floor,u=String.fromCharCode;if(n={version:"1.2.3",ucs2:{decode:e,encode:f},decode:i,encode:j,toASCII:function(a){return d(a,function(a){return q.test(a)?"xn--"+j(a):a})},toUnicode:function(a){return d(a,function(a){return p.test(a)?i(a.slice(4).toLowerCase()):a})}},"function"==typeof define&&"object"==typeof define.amd&&define.amd)define(function(){return n});else if(k&&!k.nodeType)if(l)l.exports=n;else for(o in n)n.hasOwnProperty(o)&&(k[o]=n[o]);else a.punycode=n}(this),function(a,b){"object"==typeof exports?module.exports=b():"function"==typeof define&&define.amd?define(b):a.SecondLevelDomains=b(a)}(this,function(a){var b=a&&a.SecondLevelDomains,c={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ","do":" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ","in":" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch "},has:function(a){var b=a.lastIndexOf(".");if(0>=b||b>=a.length-1)return!1;var d=a.lastIndexOf(".",b-1);if(0>=d||d>=b-1)return!1;var e=c.list[a.slice(b+1)];return e?0<=e.indexOf(" "+a.slice(d+1,b)+" "):!1},is:function(a){var b=a.lastIndexOf(".");if(0>=b||b>=a.length-1||0<=a.lastIndexOf(".",b-1))return!1;var d=c.list[a.slice(b+1)];return d?0<=d.indexOf(" "+a.slice(0,b)+" "):!1},get:function(a){var b=a.lastIndexOf(".");if(0>=b||b>=a.length-1)return null;var d=a.lastIndexOf(".",b-1);if(0>=d||d>=b-1)return null;var e=c.list[a.slice(b+1)];return!e||0>e.indexOf(" "+a.slice(d+1,b)+" ")?null:a.slice(d+1)},noConflict:function(){return a.SecondLevelDomains===this&&(a.SecondLevelDomains=b),this}};return c}),function(a,b){"object"==typeof exports?module.exports=b(require("./punycode"),require("./IPv6"),require("./SecondLevelDomains")):"function"==typeof define&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],b):a.URI=b(a.punycode,a.IPv6,a.SecondLevelDomains,a)}(this,function(a,b,c,d){function e(a,b){return this instanceof e?(void 0===a&&(a="undefined"!=typeof location?location.href+"":""),this.href(a),void 0!==b?this.absoluteTo(b):this):new e(a,b)
+}function f(a){return a.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function g(a){return void 0===a?"Undefined":String(Object.prototype.toString.call(a)).slice(8,-1)}function h(a){return"Array"===g(a)}function i(a,b){var c,d;if(h(b)){for(c=0,d=b.length;d>c;c++)if(!i(a,b[c]))return!1;return!0}var e=g(b);for(c=0,d=a.length;d>c;c++)if("RegExp"===e){if("string"==typeof a[c]&&a[c].match(b))return!0}else if(a[c]===b)return!0;return!1}function j(a,b){if(!h(a)||!h(b)||a.length!==b.length)return!1;a.sort(),b.sort();for(var c=0,d=a.length;d>c;c++)if(a[c]!==b[c])return!1;return!0}function k(a){return escape(a)}function l(a){return encodeURIComponent(a).replace(/[!'()*]/g,k).replace(/\*/g,"%2A")}function m(a){return function(b,c){return void 0===b?this._parts[a]||"":(this._parts[a]=b||null,this.build(!c),this)}}function n(a,b){return function(c,d){return void 0===c?this._parts[a]||"":(null!==c&&(c+="",c.charAt(0)===b&&(c=c.substring(1))),this._parts[a]=c,this.build(!d),this)}}var o=d&&d.URI;e.version="1.14.1";var p=e.prototype,q=Object.prototype.hasOwnProperty;e._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,duplicateQueryParameters:e.duplicateQueryParameters,escapeQuerySpace:e.escapeQuerySpace}},e.duplicateQueryParameters=!1,e.escapeQuerySpace=!0,e.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,e.idn_expression=/[^a-z0-9\.-]/i,e.punycode_expression=/(xn--)/i,e.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,e.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,e.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u2018\u2019]))/gi,e.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?\u00ab\u00bb\u201c\u201d\u201e\u2018\u2019]+$/},e.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},e.invalid_hostname_characters=/[^a-zA-Z0-9\.-]/,e.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},e.getDomAttribute=function(a){if(a&&a.nodeName){var b=a.nodeName.toLowerCase();return"input"===b&&"image"!==a.type?void 0:e.domAttributes[b]}},e.encode=l,e.decode=decodeURIComponent,e.iso8859=function(){e.encode=escape,e.decode=unescape},e.unicode=function(){e.encode=l,e.decode=decodeURIComponent},e.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/gi,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/gi,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}}},e.encodeQuery=function(a,b){var c=e.encode(a+"");return void 0===b&&(b=e.escapeQuerySpace),b?c.replace(/%20/g,"+"):c},e.decodeQuery=function(a,b){a+="",void 0===b&&(b=e.escapeQuerySpace);try{return e.decode(b?a.replace(/\+/g,"%20"):a)}catch(c){return a}},e.recodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;c>b;b++)a[b]=e.encodePathSegment(e.decode(a[b]));return a.join("/")},e.decodePath=function(a){a=(a+"").split("/");for(var b=0,c=a.length;c>b;b++)a[b]=e.decodePathSegment(a[b]);return a.join("/")};var r,s={encode:"encode",decode:"decode"},t=function(a,b){return function(c){try{return e[b](c+"").replace(e.characters[a][b].expression,function(c){return e.characters[a][b].map[c]})}catch(d){return c}}};for(r in s)e[r+"PathSegment"]=t("pathname",s[r]);e.encodeReserved=t("reserved","encode"),e.parse=function(a,b){var c;return b||(b={}),c=a.indexOf("#"),c>-1&&(b.fragment=a.substring(c+1)||null,a=a.substring(0,c)),c=a.indexOf("?"),c>-1&&(b.query=a.substring(c+1)||null,a=a.substring(0,c)),"//"===a.substring(0,2)?(b.protocol=null,a=a.substring(2),a=e.parseAuthority(a,b)):(c=a.indexOf(":"),c>-1&&(b.protocol=a.substring(0,c)||null,b.protocol&&!b.protocol.match(e.protocol_expression)?b.protocol=void 0:"//"===a.substring(c+1,c+3)?(a=a.substring(c+3),a=e.parseAuthority(a,b)):(a=a.substring(c+1),b.urn=!0))),b.path=a,b},e.parseHost=function(a,b){var c,d=a.indexOf("/");return-1===d&&(d=a.length),"["===a.charAt(0)?(c=a.indexOf("]"),b.hostname=a.substring(1,c)||null,b.port=a.substring(c+2,d)||null,"/"===b.port&&(b.port=null)):a.indexOf(":")!==a.lastIndexOf(":")?(b.hostname=a.substring(0,d)||null,b.port=null):(c=a.substring(0,d).split(":"),b.hostname=c[0]||null,b.port=c[1]||null),b.hostname&&"/"!==a.substring(d).charAt(0)&&(d++,a="/"+a),a.substring(d)||"/"},e.parseAuthority=function(a,b){return a=e.parseUserinfo(a,b),e.parseHost(a,b)},e.parseUserinfo=function(a,b){var c=a.indexOf("/"),d=a.lastIndexOf("@",c>-1?c:a.length-1);return d>-1&&(-1===c||c>d)?(c=a.substring(0,d).split(":"),b.username=c[0]?e.decode(c[0]):null,c.shift(),b.password=c[0]?e.decode(c.join(":")):null,a=a.substring(d+1)):(b.username=null,b.password=null),a},e.parseQuery=function(a,b){if(!a)return{};if(a=a.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!a)return{};for(var c,d,f={},g=a.split("&"),h=g.length,i=0;h>i;i++)c=g[i].split("="),d=e.decodeQuery(c.shift(),b),c=c.length?e.decodeQuery(c.join("="),b):null,q.call(f,d)?("string"==typeof f[d]&&(f[d]=[f[d]]),f[d].push(c)):f[d]=c;return f},e.build=function(a){var b="";return a.protocol&&(b+=a.protocol+":"),a.urn||!b&&!a.hostname||(b+="//"),b+=e.buildAuthority(a)||"","string"==typeof a.path&&("/"!==a.path.charAt(0)&&"string"==typeof a.hostname&&(b+="/"),b+=a.path),"string"==typeof a.query&&a.query&&(b+="?"+a.query),"string"==typeof a.fragment&&a.fragment&&(b+="#"+a.fragment),b},e.buildHost=function(a){var b="";return a.hostname?(b=e.ip6_expression.test(a.hostname)?b+("["+a.hostname+"]"):b+a.hostname,a.port&&(b+=":"+a.port),b):""},e.buildAuthority=function(a){return e.buildUserinfo(a)+e.buildHost(a)},e.buildUserinfo=function(a){var b="";return a.username&&(b+=e.encode(a.username),a.password&&(b+=":"+e.encode(a.password)),b+="@"),b},e.buildQuery=function(a,b,c){var d,f,g,i,j="";for(f in a)if(q.call(a,f)&&f)if(h(a[f]))for(d={},g=0,i=a[f].length;i>g;g++)void 0!==a[f][g]&&void 0===d[a[f][g]+""]&&(j+="&"+e.buildQueryParameter(f,a[f][g],c),!0!==b&&(d[a[f][g]+""]=!0));else void 0!==a[f]&&(j+="&"+e.buildQueryParameter(f,a[f],c));return j.substring(1)},e.buildQueryParameter=function(a,b,c){return e.encodeQuery(a,c)+(null!==b?"="+e.encodeQuery(b,c):"")},e.addQuery=function(a,b,c){if("object"==typeof b)for(var d in b)q.call(b,d)&&e.addQuery(a,d,b[d]);else{if("string"!=typeof b)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");void 0===a[b]?a[b]=c:("string"==typeof a[b]&&(a[b]=[a[b]]),h(c)||(c=[c]),a[b]=(a[b]||[]).concat(c))}},e.removeQuery=function(a,b,c){var d;if(h(b))for(c=0,d=b.length;d>c;c++)a[b[c]]=void 0;else if("object"==typeof b)for(d in b)q.call(b,d)&&e.removeQuery(a,d,b[d]);else{if("string"!=typeof b)throw new TypeError("URI.addQuery() accepts an object, string as the first parameter");if(void 0!==c){if(a[b]===c)a[b]=void 0;else if(h(a[b])){d=a[b];var f,g,i={};if(h(c))for(f=0,g=c.length;g>f;f++)i[c[f]]=!0;else i[c]=!0;for(f=0,g=d.length;g>f;f++)void 0!==i[d[f]]&&(d.splice(f,1),g--,f--);a[b]=d}}else a[b]=void 0}},e.hasQuery=function(a,b,c,d){if("object"==typeof b){for(var f in b)if(q.call(b,f)&&!e.hasQuery(a,f,b[f]))return!1;return!0}if("string"!=typeof b)throw new TypeError("URI.hasQuery() accepts an object, string as the name parameter");switch(g(c)){case"Undefined":return b in a;case"Boolean":return a=Boolean(h(a[b])?a[b].length:a[b]),c===a;case"Function":return!!c(a[b],b,a);case"Array":return h(a[b])?(d?i:j)(a[b],c):!1;case"RegExp":return h(a[b])?d?i(a[b],c):!1:Boolean(a[b]&&a[b].match(c));case"Number":c=String(c);case"String":return h(a[b])?d?i(a[b],c):!1:a[b]===c;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},e.commonPath=function(a,b){var c,d=Math.min(a.length,b.length);for(c=0;d>c;c++)if(a.charAt(c)!==b.charAt(c)){c--;break}return 1>c?a.charAt(0)===b.charAt(0)&&"/"===a.charAt(0)?"/":"":(("/"!==a.charAt(c)||"/"!==b.charAt(c))&&(c=a.substring(0,c).lastIndexOf("/")),a.substring(0,c+1))},e.withinString=function(a,b,c){c||(c={});var d=c.start||e.findUri.start,f=c.end||e.findUri.end,g=c.trim||e.findUri.trim,h=/[a-z0-9-]=["']?$/i;for(d.lastIndex=0;;){var i=d.exec(a);if(!i)break;if(i=i.index,c.ignoreHtml){var j=a.slice(Math.max(i-3,0),i);if(j&&h.test(j))continue}var j=i+a.slice(i).search(f),k=a.slice(i,j).replace(g,"");c.ignore&&c.ignore.test(k)||(j=i+k.length,k=b(k,i,j,a),a=a.slice(0,i)+k+a.slice(j),d.lastIndex=i+k.length)}return d.lastIndex=0,a},e.ensureValidHostname=function(b){if(b.match(e.invalid_hostname_characters)){if(!a)throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-] and Punycode.js is not available');if(a.toASCII(b).match(e.invalid_hostname_characters))throw new TypeError('Hostname "'+b+'" contains characters other than [A-Z0-9.-]')}},e.noConflict=function(a){return a?(a={URI:this.noConflict()},d.URITemplate&&"function"==typeof d.URITemplate.noConflict&&(a.URITemplate=d.URITemplate.noConflict()),d.IPv6&&"function"==typeof d.IPv6.noConflict&&(a.IPv6=d.IPv6.noConflict()),d.SecondLevelDomains&&"function"==typeof d.SecondLevelDomains.noConflict&&(a.SecondLevelDomains=d.SecondLevelDomains.noConflict()),a):(d.URI===this&&(d.URI=o),this)},p.build=function(a){return!0===a?this._deferred_build=!0:(void 0===a||this._deferred_build)&&(this._string=e.build(this._parts),this._deferred_build=!1),this},p.clone=function(){return new e(this)},p.valueOf=p.toString=function(){return this.build(!1)._string},p.protocol=m("protocol"),p.username=m("username"),p.password=m("password"),p.hostname=m("hostname"),p.port=m("port"),p.query=n("query","?"),p.fragment=n("fragment","#"),p.search=function(a,b){var c=this.query(a,b);return"string"==typeof c&&c.length?"?"+c:c},p.hash=function(a,b){var c=this.fragment(a,b);return"string"==typeof c&&c.length?"#"+c:c},p.pathname=function(a,b){if(void 0===a||!0===a){var c=this._parts.path||(this._parts.hostname?"/":"");return a?e.decodePath(c):c}return this._parts.path=a?e.recodePath(a):"/",this.build(!b),this},p.path=p.pathname,p.href=function(a,b){var c;if(void 0===a)return this.toString();this._string="",this._parts=e._parts();var d=a instanceof e,f="object"==typeof a&&(a.hostname||a.path||a.pathname);if(a.nodeName&&(f=e.getDomAttribute(a),a=a[f]||"",f=!1),!d&&f&&void 0!==a.pathname&&(a=a.toString()),"string"==typeof a||a instanceof String)this._parts=e.parse(String(a),this._parts);else{if(!d&&!f)throw new TypeError("invalid input");for(c in d=d?a._parts:a)q.call(this._parts,c)&&(this._parts[c]=d[c])}return this.build(!b),this},p.is=function(a){var b=!1,d=!1,f=!1,g=!1,h=!1,i=!1,j=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,d=e.ip4_expression.test(this._parts.hostname),f=e.ip6_expression.test(this._parts.hostname),b=d||f,h=(g=!b)&&c&&c.has(this._parts.hostname),i=g&&e.idn_expression.test(this._parts.hostname),j=g&&e.punycode_expression.test(this._parts.hostname)),a.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return g;case"sld":return h;case"ip":return b;case"ip4":case"ipv4":case"inet4":return d;case"ip6":case"ipv6":case"inet6":return f;case"idn":return i;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return j}return null};var u=p.protocol,v=p.port,w=p.hostname;p.protocol=function(a,b){if(void 0!==a&&a&&(a=a.replace(/:(\/\/)?$/,""),!a.match(e.protocol_expression)))throw new TypeError('Protocol "'+a+"\" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]");return u.call(this,a,b)},p.scheme=p.protocol,p.port=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a&&(0===a&&(a=null),a&&(a+="",":"===a.charAt(0)&&(a=a.substring(1)),a.match(/[^0-9]/))))throw new TypeError('Port "'+a+'" contains characters other than [0-9]');return v.call(this,a,b)},p.hostname=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0!==a){var c={};e.parseHost(a,c),a=c.hostname}return w.call(this,a,b)},p.host=function(a,b){return this._parts.urn?void 0===a?"":this:void 0===a?this._parts.hostname?e.buildHost(this._parts):"":(e.parseHost(a,this._parts),this.build(!b),this)},p.authority=function(a,b){return this._parts.urn?void 0===a?"":this:void 0===a?this._parts.hostname?e.buildAuthority(this._parts):"":(e.parseAuthority(a,this._parts),this.build(!b),this)},p.userinfo=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.username)return"";var c=e.buildUserinfo(this._parts);return c.substring(0,c.length-1)}return"@"!==a[a.length-1]&&(a+="@"),e.parseUserinfo(a,this._parts),this.build(!b),this},p.resource=function(a,b){var c;return void 0===a?this.path()+this.search()+this.hash():(c=e.parse(a),this._parts.path=c.path,this._parts.query=c.query,this._parts.fragment=c.fragment,this.build(!b),this)},p.subdomain=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,c)||""}return c=this._parts.hostname.length-this.domain().length,c=this._parts.hostname.substring(0,c),c=new RegExp("^"+f(c)),a&&"."!==a.charAt(a.length-1)&&(a+="."),a&&e.ensureValidHostname(a),this._parts.hostname=this._parts.hostname.replace(c,a),this.build(!b),this},p.domain=function(a,b){if(this._parts.urn)return void 0===a?"":this;if("boolean"==typeof a&&(b=a,a=void 0),void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var c=this._parts.hostname.match(/\./g);return c&&2>c.length?this._parts.hostname:(c=this._parts.hostname.length-this.tld(b).length-1,c=this._parts.hostname.lastIndexOf(".",c-1)+1,this._parts.hostname.substring(c)||"")}if(!a)throw new TypeError("cannot set domain empty");return e.ensureValidHostname(a),!this._parts.hostname||this.is("IP")?this._parts.hostname=a:(c=new RegExp(f(this.domain())+"$"),this._parts.hostname=this._parts.hostname.replace(c,a)),this.build(!b),this},p.tld=function(a,b){if(this._parts.urn)return void 0===a?"":this;if("boolean"==typeof a&&(b=a,a=void 0),void 0===a){if(!this._parts.hostname||this.is("IP"))return"";var d=this._parts.hostname.lastIndexOf("."),d=this._parts.hostname.substring(d+1);return!0!==b&&c&&c.list[d.toLowerCase()]?c.get(this._parts.hostname)||d:d}if(!a)throw new TypeError("cannot set TLD empty");if(a.match(/[^a-zA-Z0-9-]/)){if(!c||!c.is(a))throw new TypeError('TLD "'+a+'" contains characters other than [A-Z0-9]');d=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(d,a)}else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");d=new RegExp(f(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(d,a)}return this.build(!b),this},p.directory=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path&&!this._parts.hostname)return"";if("/"===this._parts.path)return"/";var c=this._parts.path.length-this.filename().length-1,c=this._parts.path.substring(0,c)||(this._parts.hostname?"/":"");return a?e.decodePath(c):c}return c=this._parts.path.length-this.filename().length,c=this._parts.path.substring(0,c),c=new RegExp("^"+f(c)),this.is("relative")||(a||(a="/"),"/"!==a.charAt(0)&&(a="/"+a)),a&&"/"!==a.charAt(a.length-1)&&(a+="/"),a=e.recodePath(a),this._parts.path=this._parts.path.replace(c,a),this.build(!b),this},p.filename=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this._parts.path.lastIndexOf("/"),c=this._parts.path.substring(c+1);return a?e.decodePathSegment(c):c}c=!1,"/"===a.charAt(0)&&(a=a.substring(1)),a.match(/\.?\//)&&(c=!0);var d=new RegExp(f(this.filename())+"$");return a=e.recodePath(a),this._parts.path=this._parts.path.replace(d,a),c?this.normalizePath(b):this.build(!b),this},p.suffix=function(a,b){if(this._parts.urn)return void 0===a?"":this;if(void 0===a||!0===a){if(!this._parts.path||"/"===this._parts.path)return"";var c=this.filename(),d=c.lastIndexOf(".");return-1===d?"":(c=c.substring(d+1),c=/^[a-z0-9%]+$/i.test(c)?c:"",a?e.decodePathSegment(c):c)}if("."===a.charAt(0)&&(a=a.substring(1)),c=this.suffix())d=new RegExp(a?f(c)+"$":f("."+c)+"$");else{if(!a)return this;this._parts.path+="."+e.recodePath(a)}return d&&(a=e.recodePath(a),this._parts.path=this._parts.path.replace(d,a)),this.build(!b),this},p.segment=function(a,b,c){var d=this._parts.urn?":":"/",e=this.path(),f="/"===e.substring(0,1),e=e.split(d);if(void 0!==a&&"number"!=typeof a&&(c=b,b=a,a=void 0),void 0!==a&&"number"!=typeof a)throw Error('Bad segment "'+a+'", must be 0-based integer');if(f&&e.shift(),0>a&&(a=Math.max(e.length+a,0)),void 0===b)return void 0===a?e:e[a];if(null===a||void 0===e[a])if(h(b)){e=[],a=0;for(var g=b.length;g>a;a++)(b[a].length||e.length&&e[e.length-1].length)&&(e.length&&!e[e.length-1].length&&e.pop(),e.push(b[a]))}else(b||"string"==typeof b)&&(""===e[e.length-1]?e[e.length-1]=b:e.push(b));else b?e[a]=b:e.splice(a,1);return f&&e.unshift(""),this.path(e.join(d),c)},p.segmentCoded=function(a,b,c){var d,f;if("number"!=typeof a&&(c=b,b=a,a=void 0),void 0===b){if(a=this.segment(a,b,c),h(a))for(d=0,f=a.length;f>d;d++)a[d]=e.decode(a[d]);else a=void 0!==a?e.decode(a):void 0;return a}if(h(b))for(d=0,f=b.length;f>d;d++)b[d]=e.decode(b[d]);else b="string"==typeof b||b instanceof String?e.encode(b):b;return this.segment(a,b,c)};var x=p.query;return p.query=function(a,b){if(!0===a)return e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("function"==typeof a){var c=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace),d=a.call(this,c);return this._parts.query=e.buildQuery(d||c,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this}return void 0!==a&&"string"!=typeof a?(this._parts.query=e.buildQuery(a,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!b),this):x.call(this,a,b)},p.setQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if("string"==typeof a||a instanceof String)d[a]=void 0!==b?b:null;else{if("object"!=typeof a)throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");for(var f in a)q.call(a,f)&&(d[f]=a[f])}return this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.addQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.addQuery(d,a,void 0===b?null:b),this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.removeQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.removeQuery(d,a,b),this._parts.query=e.buildQuery(d,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),"string"!=typeof a&&(c=b),this.build(!c),this},p.hasQuery=function(a,b,c){var d=e.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return e.hasQuery(d,a,b,c)},p.setSearch=p.setQuery,p.addSearch=p.addQuery,p.removeSearch=p.removeQuery,p.hasSearch=p.hasQuery,p.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},p.normalizeProtocol=function(a){return"string"==typeof this._parts.protocol&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!a)),this},p.normalizeHostname=function(c){return this._parts.hostname&&(this.is("IDN")&&a?this._parts.hostname=a.toASCII(this._parts.hostname):this.is("IPv6")&&b&&(this._parts.hostname=b.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!c)),this},p.normalizePort=function(a){return"string"==typeof this._parts.protocol&&this._parts.port===e.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!a)),this},p.normalizePath=function(a){if(this._parts.urn||!this._parts.path||"/"===this._parts.path)return this;var b,c,d,f=this._parts.path,g="";for("/"!==f.charAt(0)&&(b=!0,f="/"+f),f=f.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),b&&(g=f.substring(1).match(/^(\.\.\/)+/)||"")&&(g=g[0]);c=f.indexOf("/.."),-1!==c;)0!==c?(d=f.substring(0,c).lastIndexOf("/"),-1===d&&(d=c),f=f.substring(0,d)+f.substring(c+3)):f=f.substring(3);return b&&this.is("relative")&&(f=g+f.substring(1)),f=e.recodePath(f),this._parts.path=f,this.build(!a),this},p.normalizePathname=p.normalizePath,p.normalizeQuery=function(a){return"string"==typeof this._parts.query&&(this._parts.query.length?this.query(e.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!a)),this},p.normalizeFragment=function(a){return this._parts.fragment||(this._parts.fragment=null,this.build(!a)),this},p.normalizeSearch=p.normalizeQuery,p.normalizeHash=p.normalizeFragment,p.iso8859=function(){var a=e.encode,b=e.decode;return e.encode=escape,e.decode=decodeURIComponent,this.normalize(),e.encode=a,e.decode=b,this},p.unicode=function(){var a=e.encode,b=e.decode;return e.encode=l,e.decode=unescape,this.normalize(),e.encode=a,e.decode=b,this},p.readable=function(){var b=this.clone();b.username("").password("").normalize();var c="";if(b._parts.protocol&&(c+=b._parts.protocol+"://"),b._parts.hostname&&(b.is("punycode")&&a?(c+=a.toUnicode(b._parts.hostname),b._parts.port&&(c+=":"+b._parts.port)):c+=b.host()),b._parts.hostname&&b._parts.path&&"/"!==b._parts.path.charAt(0)&&(c+="/"),c+=b.path(!0),b._parts.query){for(var d="",f=0,g=b._parts.query.split("&"),h=g.length;h>f;f++){var i=(g[f]||"").split("="),d=d+("&"+e.decodeQuery(i[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"));void 0!==i[1]&&(d+="="+e.decodeQuery(i[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}c+="?"+d.substring(1)}return c+=e.decodeQuery(b.hash(),!0)},p.absoluteTo=function(a){var b,c,d=this.clone(),f=["protocol","username","password","hostname","port"];if(this._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");if(a instanceof e||(a=new e(a)),d._parts.protocol||(d._parts.protocol=a._parts.protocol),this._parts.hostname)return d;for(b=0;c=f[b];b++)d._parts[c]=a._parts[c];return d._parts.path?".."===d._parts.path.substring(-2)&&(d._parts.path+="/"):(d._parts.path=a._parts.path,d._parts.query||(d._parts.query=a._parts.query)),"/"!==d.path().charAt(0)&&(a=a.directory(),d._parts.path=(a?a+"/":"")+d._parts.path,d.normalizePath()),d.build(),d},p.relativeTo=function(a){var b,c,d,f,g=this.clone().normalize();if(g._parts.urn)throw Error("URNs do not have any generally defined hierarchical components");if(a=new e(a).normalize(),b=g._parts,c=a._parts,d=g.path(),f=a.path(),"/"!==d.charAt(0))throw Error("URI is already relative");if("/"!==f.charAt(0))throw Error("Cannot calculate a URI relative to another relative URI");return b.protocol===c.protocol&&(b.protocol=null),b.username!==c.username||b.password!==c.password||null!==b.protocol||null!==b.username||null!==b.password||b.hostname!==c.hostname||b.port!==c.port?g.build():(b.hostname=null,b.port=null,d===f?(b.path="",g.build()):(a=e.commonPath(g.path(),a.path()))?(c=c.path.substring(a.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../"),b.path=c+b.path.substring(a.length),g.build()):g.build())},p.equals=function(a){var b=this.clone();a=new e(a);var c,d={},f={},g={};if(b.normalize(),a.normalize(),b.toString()===a.toString())return!0;if(d=b.query(),f=a.query(),b.query(""),a.query(""),b.toString()!==a.toString()||d.length!==f.length)return!1;d=e.parseQuery(d,this._parts.escapeQuerySpace),f=e.parseQuery(f,this._parts.escapeQuerySpace);for(c in d)if(q.call(d,c)){if(h(d[c])){if(!j(d[c],f[c]))return!1}else if(d[c]!==f[c])return!1;g[c]=!0}for(c in f)if(q.call(f,c)&&!g[c])return!1;return!0},p.duplicateQueryParameters=function(a){return this._parts.duplicateQueryParameters=!!a,this},p.escapeQuerySpace=function(a){return this._parts.escapeQuerySpace=!!a,this},e}),function(a,b){"object"==typeof exports?module.exports=b(require("./URI")):"function"==typeof define&&define.amd?define(["./URI"],b):a.URITemplate=b(a.URI,a)}(this,function(a,b){function c(a){return c._cache[a]?c._cache[a]:this instanceof c?(this.expression=a,c._cache[a]=this,this):new c(a)}function d(a){this.data=a,this.cache={}}var e=b&&b.URITemplate,f=Object.prototype.hasOwnProperty,g=c.prototype,h={"":{prefix:"",separator:",",named:!1,empty_name_separator:!1,encode:"encode"},"+":{prefix:"",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},"#":{prefix:"#",separator:",",named:!1,empty_name_separator:!1,encode:"encodeReserved"},".":{prefix:".",separator:".",named:!1,empty_name_separator:!1,encode:"encode"},"/":{prefix:"/",separator:"/",named:!1,empty_name_separator:!1,encode:"encode"},";":{prefix:";",separator:";",named:!0,empty_name_separator:!1,encode:"encode"},"?":{prefix:"?",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"},"&":{prefix:"&",separator:"&",named:!0,empty_name_separator:!0,encode:"encode"}};return c._cache={},c.EXPRESSION_PATTERN=/\{([^a-zA-Z0-9%_]?)([^\}]+)(\}|$)/g,c.VARIABLE_PATTERN=/^([^*:]+)((\*)|:(\d+))?$/,c.VARIABLE_NAME_PATTERN=/[^a-zA-Z0-9%_]/,c.expand=function(a,b){var d,e,f,g=h[a.operator],i=g.named?"Named":"Unnamed",j=a.variables,k=[];for(f=0;e=j[f];f++)d=b.get(e.name),d.val.length?k.push(c["expand"+i](d,g,e.explode,e.explode&&g.separator||",",e.maxlength,e.name)):d.type&&k.push("");return k.length?g.prefix+k.join(g.separator):""},c.expandNamed=function(b,c,d,e,f,g){var h="",i=c.encode;c=c.empty_name_separator;var j,k,l,m=!b[i].length,n=2===b.type?"":a[i](g);for(k=0,l=b.val.length;l>k;k++)f?(j=a[i](b.val[k][1].substring(0,f)),2===b.type&&(n=a[i](b.val[k][0].substring(0,f)))):m?(j=a[i](b.val[k][1]),2===b.type?(n=a[i](b.val[k][0]),b[i].push([n,j])):b[i].push([void 0,j])):(j=b[i][k][1],2===b.type&&(n=b[i][k][0])),h&&(h+=e),d?h+=n+(c||j?"=":"")+j:(k||(h+=a[i](g)+(c||j?"=":"")),2===b.type&&(h+=n+","),h+=j);return h},c.expandUnnamed=function(b,c,d,e,f){var g="",h=c.encode;c=c.empty_name_separator;var i,j,k,l,m=!b[h].length;for(k=0,l=b.val.length;l>k;k++)f?j=a[h](b.val[k][1].substring(0,f)):m?(j=a[h](b.val[k][1]),b[h].push([2===b.type?a[h](b.val[k][0]):void 0,j])):j=b[h][k][1],g&&(g+=e),2===b.type&&(i=f?a[h](b.val[k][0].substring(0,f)):b[h][k][0],g+=i,g=d?g+(c||j?"=":""):g+","),g+=j;return g},c.noConflict=function(){return b.URITemplate===c&&(b.URITemplate=e),c},g.expand=function(a){var b="";this.parts&&this.parts.length||this.parse(),a instanceof d||(a=new d(a));for(var e=0,f=this.parts.length;f>e;e++)b+="string"==typeof this.parts[e]?this.parts[e]:c.expand(this.parts[e],a);return b},g.parse=function(){var a,b,d,e=this.expression,f=c.EXPRESSION_PATTERN,g=c.VARIABLE_PATTERN,i=c.VARIABLE_NAME_PATTERN,j=[],k=0;for(f.lastIndex=0;;){if(b=f.exec(e),null===b){j.push(e.substring(k));break}if(j.push(e.substring(k,b.index)),k=b.index+b[0].length,!h[b[1]])throw Error('Unknown Operator "'+b[1]+'" in "'+b[0]+'"');if(!b[3])throw Error('Unclosed Expression "'+b[0]+'"');a=b[2].split(",");for(var l=0,m=a.length;m>l;l++){if(d=a[l].match(g),null===d)throw Error('Invalid Variable "'+a[l]+'" in "'+b[0]+'"');if(d[1].match(i))throw Error('Invalid Variable Name "'+d[1]+'" in "'+b[0]+'"');a[l]={name:d[1],explode:!!d[3],maxlength:d[4]&&parseInt(d[4],10)}}if(!a.length)throw Error('Expression Missing Variable(s) "'+b[0]+'"');j.push({expression:b[0],operator:b[1],variables:a})}return j.length||j.push(e),this.parts=j,this},d.prototype.get=function(a){var b,c=this.data,d={type:0,val:[],encode:[],encodeReserved:[]};if(void 0!==this.cache[a])return this.cache[a];if(this.cache[a]=d,c="[object Function]"===String(Object.prototype.toString.call(c))?c(a):"[object Function]"===String(Object.prototype.toString.call(c[a]))?c[a](a):c[a],void 0!==c&&null!==c)if("[object Array]"===String(Object.prototype.toString.call(c))){for(b=0,a=c.length;a>b;b++)void 0!==c[b]&&null!==c[b]&&d.val.push([void 0,String(c[b])]);d.val.length&&(d.type=3)}else if("[object Object]"===String(Object.prototype.toString.call(c))){for(b in c)f.call(c,b)&&void 0!==c[b]&&null!==c[b]&&d.val.push([b,String(c[b])]);d.val.length&&(d.type=2)}else d.type=1,d.val.push([void 0,String(c)]);return d},a.expand=function(b,d){var e=new c(b).expand(d);return new a(e)},c}),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;
+var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.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("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery);var Showdown={};Showdown.converter=function(){var a,b,c,d=0;this.makeHtml=function(d){return a=new Array,b=new Array,c=new Array,d=d.replace(/~/g,"~T"),d=d.replace(/\$/g,"~D"),d=d.replace(/\r\n/g,"\n"),d=d.replace(/\r/g,"\n"),d="\n\n"+d+"\n\n",d=E(d),d=d.replace(/^[ \t]+$/gm,""),d=g(d),d=f(d),d=i(d),d=C(d),d=d.replace(/~D/g,"$$"),d=d.replace(/~T/g,"~")};var e,f=function(c){var c=c.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|\Z)/gm,function(c,d,e,f,g){return d=d.toLowerCase(),a[d]=y(e),f?f+g:(g&&(b[d]=g.replace(/"/g,"&quot;")),"")});return c},g=function(a){a=a.replace(/\n/g,"\n\n");return a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,h),a=a.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm,h),a=a.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,h),a=a.replace(/(\n\n[ ]{0,3}<!(--[^\r]*?--\s*)+>[ \t]*(?=\n{2,}))/g,h),a=a.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,h),a=a.replace(/\n\n/g,"\n")},h=function(a,b){var d=b;return d=d.replace(/\n\n/g,"\n"),d=d.replace(/^\n/,""),d=d.replace(/\n+$/g,""),d="\n\n~K"+(c.push(d)-1)+"K\n\n"},i=function(a){a=p(a);var b=s("<hr />");return a=a.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,b),a=a.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,b),a=q(a),a=r(a),a=w(a),a=g(a),a=x(a)},j=function(a){return a=t(a),a=k(a),a=z(a),a=n(a),a=l(a),a=A(a),a=y(a),a=v(a),a=a.replace(/  +\n/g," <br />\n")},k=function(a){var b=/(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|<!(--.*?--\s*)+>)/gi;return a=a.replace(b,function(a){var b=a.replace(/(.)<\/?code>(?=.)/g,"$1`");return b=F(b,"\\`*_")})},l=function(a){return a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,m),a=a.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()<?(.*?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,m),a=a.replace(/(\[([^\[\]]+)\])()()()()()/g,m)},m=function(c,d,e,f,g,h,i,j){void 0==j&&(j="");var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(""==n)if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0!=a[m])n=a[m],void 0!=b[m]&&(o=b[m]);else{if(!(k.search(/\(\s*\)$/m)>-1))return k;n=""}n=F(n,"*_");var p='<a href="'+n+'"';return""!=o&&(o=o.replace(/"/g,"&quot;"),o=F(o,"*_"),p+=' title="'+o+'"'),p+=">"+l+"</a>"},n=function(a){return a=a.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,o),a=a.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,o)},o=function(c,d,e,f,g,h,i,j){var k=d,l=e,m=f.toLowerCase(),n=g,o=j;if(o||(o=""),""==n){if(""==m&&(m=l.toLowerCase().replace(/ ?\n/g," ")),n="#"+m,void 0==a[m])return k;n=a[m],void 0!=b[m]&&(o=b[m])}l=l.replace(/"/g,"&quot;"),n=F(n,"*_");var p='<img src="'+n+'" alt="'+l+'"';return o=o.replace(/"/g,"&quot;"),o=F(o,"*_"),p+=' title="'+o+'"',p+=" />"},p=function(a){return a=a.replace(/^(.+)[ \t]*\n=+[ \t]*\n+/gm,function(a,b){return s("<h1>"+j(b)+"</h1>")}),a=a.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,function(a,b){return s("<h2>"+j(b)+"</h2>")}),a=a.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,function(a,b,c){var d=b.length;return s("<h"+d+">"+j(c)+"</h"+d+">")})},q=function(a){a+="~0";var b=/^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;return d?a=a.replace(b,function(a,b,c){var d=b,f=c.search(/[*+-]/g)>-1?"ul":"ol";d=d.replace(/\n{2,}/g,"\n\n\n");var g=e(d);return g=g.replace(/\s+$/,""),g="<"+f+">"+g+"</"+f+">\n"}):(b=/(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g,a=a.replace(b,function(a,b,c,d){var f=b,g=c,h=d.search(/[*+-]/g)>-1?"ul":"ol",g=g.replace(/\n{2,}/g,"\n\n\n"),i=e(g);return i=f+"<"+h+">\n"+i+"</"+h+">\n"})),a=a.replace(/~0/,"")};e=function(a){return d++,a=a.replace(/\n{2,}$/,"\n"),a+="~0",a=a.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,function(a,b,c,d,e){var f=e,g=b;return g||f.search(/\n{2,}/)>-1?f=i(D(f)):(f=q(D(f)),f=f.replace(/\n$/,""),f=j(f)),"<li>"+f+"</li>\n"}),a=a.replace(/~0/g,""),d--,a};var r=function(a){return a+="~0",a=a.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,function(a,b,c){var d=b,e=c;return d=u(D(d)),d=E(d),d=d.replace(/^\n+/g,""),d=d.replace(/\n+$/g,""),d="<pre><code>"+d+"\n</code></pre>",s(d)+e}),a=a.replace(/~0/,"")},s=function(a){return a=a.replace(/(^\n+|\n+$)/g,""),"\n\n~K"+(c.push(a)-1)+"K\n\n"},t=function(a){return a=a.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(a,b,c,d){var e=d;return e=e.replace(/^([ \t]*)/g,""),e=e.replace(/[ \t]*$/g,""),e=u(e),b+"<code>"+e+"</code>"})},u=function(a){return a=a.replace(/&/g,"&amp;"),a=a.replace(/</g,"&lt;"),a=a.replace(/>/g,"&gt;"),a=F(a,"*_{}[]\\",!1)},v=function(a){return a=a.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,"<strong>$2</strong>"),a=a.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,"<em>$2</em>")},w=function(a){return a=a.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,function(a,b){var c=b;return c=c.replace(/^[ \t]*>[ \t]?/gm,"~0"),c=c.replace(/~0/g,""),c=c.replace(/^[ \t]+$/gm,""),c=i(c),c=c.replace(/(^|\n)/g,"$1  "),c=c.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(a,b){var c=b;return c=c.replace(/^  /gm,"~0"),c=c.replace(/~0/g,"")}),s("<blockquote>\n"+c+"\n</blockquote>")})},x=function(a){a=a.replace(/^\n+/g,""),a=a.replace(/\n+$/g,"");for(var b=a.split(/\n{2,}/g),d=new Array,e=b.length,f=0;e>f;f++){var g=b[f];g.search(/~K(\d+)K/g)>=0?d.push(g):g.search(/\S/)>=0&&(g=j(g),g=g.replace(/^([ \t]*)/g,"<p>"),g+="</p>",d.push(g))}e=d.length;for(var f=0;e>f;f++)for(;d[f].search(/~K(\d+)K/)>=0;){var h=c[RegExp.$1];h=h.replace(/\$/g,"$$$$"),d[f]=d[f].replace(/~K\d+K/,h)}return d.join("\n\n")},y=function(a){return a=a.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&amp;"),a=a.replace(/<(?![a-z\/?\$!])/gi,"&lt;")},z=function(a){return a=a.replace(/\\(\\)/g,G),a=a.replace(/\\([`*_{}\[\]()>#+-.!])/g,G)},A=function(a){return a=a.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,'<a href="$1">$1</a>'),a=a.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,function(a,b){return B(C(b))})},B=function(a){function b(a){var b="0123456789ABCDEF",c=a.charCodeAt(0);return b.charAt(c>>4)+b.charAt(15&c)}var c=[function(a){return"&#"+a.charCodeAt(0)+";"},function(a){return"&#x"+b(a)+";"},function(a){return a}];return a="mailto:"+a,a=a.replace(/./g,function(a){if("@"==a)a=c[Math.floor(2*Math.random())](a);else if(":"!=a){var b=Math.random();a=b>.9?c[2](a):b>.45?c[1](a):c[0](a)}return a}),a='<a href="'+a+'">'+a+"</a>",a=a.replace(/">.+:/g,'">')},C=function(a){return a=a.replace(/~E(\d+)E/g,function(a,b){var c=parseInt(b);return String.fromCharCode(c)})},D=function(a){return a=a.replace(/^(\t|[ ]{1,4})/gm,"~0"),a=a.replace(/~0/g,"")},E=function(a){return a=a.replace(/\t(?=\t)/g,"    "),a=a.replace(/\t/g,"~A~B"),a=a.replace(/~B(.+?)~A/g,function(a,b){for(var c=b,d=4-c.length%4,e=0;d>e;e++)c+=" ";return c}),a=a.replace(/~A/g,"    "),a=a.replace(/~B/g,"")},F=function(a,b,c){var d="(["+b.replace(/([\[\]\\])/g,"\\$1")+"])";c&&(d="\\\\"+d);var e=new RegExp(d,"g");return a=a.replace(e,G)},G=function(a,b){var c=b.charCodeAt(0);return"~E"+c+"E"}},$(document).ready(function(){$("a[href*=#]:not([href=#])").click(function(){if(location.pathname.replace(/^\//,"")==this.pathname.replace(/^\//,"")&&location.hostname==this.hostname){var a=$(this.hash);if(a=a.length?a:$("[name="+this.hash.slice(1)+"]"),a.length)return $("html,body").animate({scrollTop:a.offset().top},1e3),!1}})}),function(){function a(a){$(".browse").addClass("uploading");var d=$('<li style="clear:both;"/>');d.append($('<div><div class="upload-progress"><span></span><div class="bar" style="width:0%;">####################################################</div></div><p>Uploading... '+a.name+"</p></div>")),$(d).appendTo($(".queue"));var e=new XMLHttpRequest;e.upload.addEventListener("progress",function(a){var b=parseInt(a.loaded/a.total*100);$(".upload-progress",$(d)).show(),$(".upload-progress .bar",$(d)).css("width",b+"%"),$(".upload-progress span  ",$(d)).empty().append(b+"%")},!1),e.onreadystatechange=function(){if(4==e.readyState){$("#web").addClass("uploading"),$(d).html(200==e.status?'<a target="_blank" href="'+e.responseText+'">'+e.responseText+"</a>":"<span>Error ("+e.status+") during upload of file "+a.name+"</span>");var f=c.indexOf(e);f>-1&&c.splice(f,1),b.push(URI(e.responseText.replace("\n","")).path()),$(".download-zip").attr("href",URI("("+b.join(",")+").zip").absoluteTo(location.href).toString()),$(".download-tar").attr("href",URI("("+b.join(",")+").tar.gz").absoluteTo(location.href).toString()),$(".all-files").addClass("show")}},c.push(e),e.open("PUT","/"+a.name,!0),e.setRequestHeader("X_FILENAME",a.name),e.send(a)}var b=Array(),c=Array();$(window).bind("beforeunload",function(){return 0!=c.length?"There are still "+c.length+" files being uploaded.":void 0}),$(document).bind("dragenter",function(a){a.preventDefault()}).bind("dragover",function(a){a.preventDefault(),$("#terminal").addClass("dragged"),$("#web").addClass("dragged")}).bind("dragleave",function(){$("#terminal").removeClass("dragged"),$("#web").removeClass("dragged")}).bind("drop dragdrop",function(b){var c=b.originalEvent.target.files||b.originalEvent.dataTransfer.files;$.each(c,function(b,c){a(c)}),b.stopPropagation(),b.preventDefault()}),$("a.browse").on("click",function(){return $("input[type=file]").click(),!1}),$("input[type=file]").on("change",function(){$.each(this.files,function(b,c){c instanceof Blob&&a(c)})}),window.location.href.indexOf("download")>-1&&!function(){var a=document.getElementById("copy-link-btn"),b=document.getElementById("copy-link-wrapper"),c=document.getElementById("overlay"),d="http://url";a.addEventListener("click",function(){for(var a=document.getElementsByClassName("error");a[0];)a[0].parentNode.removeChild(a[0]);document.body.className+=" active",b.children[1].value=d,b.children[1].focus(),b.children[1].select()},!1),c.addEventListener("click",function(){document.body.className=""},!1),b.children[1].addEventListener("keydown",function(a){function c(a){return"number"==typeof a.selectionStart?0==a.selectionStart&&a.selectionEnd==a.value.length:"undefined"!=typeof document.selection?(a.focus(),document.selection.createRange().text==a.value):void 0}for(var d=document.getElementsByClassName("error");d[0];)d[0].parentNode.removeChild(d[0]);setTimeout(function(){if((a.metaKey||a.ctrlKey)&&67===a.keyCode&&c(b.children[2]))document.body.className="";else if((a.metaKey||a.ctrlKey)&&67===a.keyCode&&c(b.children[2])===!1){var d=document.createElement("span");d.className="error";var e=document.createTextNode("The link was not copied, make sure the entire text is selected.");d.appendChild(e),b.appendChild(d)}},100)},!1)}()}();
\ No newline at end of file
diff --git a/transfersh-server/static/styles/main.css b/transfersh-server/static/styles/main.css
index 18dd2cd..8f1741b 100644
--- a/transfersh-server/static/styles/main.css
+++ b/transfersh-server/static/styles/main.css
@@ -1 +1 @@
-@charset "UTF-8";/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}a{background:0 0}a:active,a:hover{outline:0}h1{margin:.67em 0}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{margin:0}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{text-shadow:none!important;color:#000!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:transparent}body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#3b3b3b;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a:focus,a:hover{color:#151515;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:100;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote .small,blockquote small{display:block;line-height:1.42857143;color:#999}blockquote .small:before,blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right .small,blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right .small:before,blockquote.pull-right small:before{content:''}blockquote.pull-right .small:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}.container{margin-right:auto;margin-left:auto;padding-left:35px;padding-right:35px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:790px}}@media (min-width:992px){.container{width:1010px}}@media (min-width:1200px){.container{width:1210px}}.row{margin-left:-35px;margin-right:-35px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:35px;padding-right:35px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#85b5bb;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs,td.visible-lg,td.visible-md,td.visible-sm,td.visible-xs,th.visible-lg,th.visible-md,th.visible-sm,th.visible-xs,tr.visible-lg,tr.visible-md,tr.visible-sm,tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}td.hidden-xs,th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}td.hidden-sm,th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}td.hidden-md,th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}td.hidden-lg,th.hidden-lg{display:table-cell!important}@media (max-width:767px){.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,td.hidden-lg.hidden-md,th.hidden-lg.hidden-md,tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg,td.hidden-lg,th.hidden-lg,tr.hidden-lg{display:none!important}}.visible-print,td.visible-print,th.visible-print,tr.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}.hidden-print,td.hidden-print,th.hidden-print,tr.hidden-print{display:none!important}}body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,100%,20%,50%,80%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,100%,20%,50%,80%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}@-webkit-keyframes swing{100%,20%,40%,60%,80%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0deg)}}@-o-keyframes swing{20%{-o-transform:rotate(15deg)}40%{-o-transform:rotate(-10deg)}60%{-o-transform:rotate(5deg)}80%{-o-transform:rotate(-5deg)}100%{-o-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0%)}}@-o-keyframes wobble{0%{-o-transform:translateX(0%)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}50%{-moz-transform:scale(1.1)}100%{-moz-transform:scale(1)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}50%{-o-transform:scale(1.1)}100%{-o-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-o-keyframes flip{0%{-o-transform:perspective(400px) rotateY(0);-o-animation-timing-function:ease-out}40%{-o-transform:perspective(400px) translateZ(150px) rotateY(170deg);-o-animation-timing-function:ease-out}50%{-o-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-o-animation-timing-function:ease-in}80%{-o-transform:perspective(400px) rotateY(360deg) scale(0.95);-o-animation-timing-function:ease-in}100%{-o-transform:perspective(400px) scale(1);-o-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-backface-visibility:visible!important;-webkit-animation-name:flip;-moz-backface-visibility:visible!important;-moz-animation-name:flip;-o-backface-visibility:visible!important;-o-animation-name:flip;backface-visibility:visible!important;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@-moz-keyframes flipInX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}}@-o-keyframes flipInX{0%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateX(-10deg)}70%{-o-transform:perspective(400px) rotateX(10deg)}100%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInX;-moz-backface-visibility:visible!important;-moz-animation-name:flipInX;-o-backface-visibility:visible!important;-o-animation-name:flipInX;backface-visibility:visible!important;animation-name:flipInX}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipOutX{0%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-o-keyframes flipOutX{0%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;-moz-animation-name:flipOutX;-moz-backface-visibility:visible!important;-o-animation-name:flipOutX;-o-backface-visibility:visible!important;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@-moz-keyframes flipInY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}}@-o-keyframes flipInY{0%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateY(-10deg)}70%{-o-transform:perspective(400px) rotateY(10deg)}100%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInY;-moz-backface-visibility:visible!important;-moz-animation-name:flipInY;-o-backface-visibility:visible!important;-o-animation-name:flipInY;backface-visibility:visible!important;animation-name:flipInY}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipOutY{0%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-o-keyframes flipOutY{0%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipOutY;-moz-backface-visibility:visible!important;-moz-animation-name:flipOutY;-o-backface-visibility:visible!important;-o-animation-name:flipOutY;backface-visibility:visible!important;animation-name:flipOutY}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeft{0%{opacity:0;-moz-transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeft{0%{opacity:0;-o-transform:translateX(-20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;-moz-animation-name:fadeInLeft;-o-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRight{0%{opacity:0;-moz-transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRight{0%{opacity:0;-o-transform:translateX(20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;-moz-animation-name:fadeInRight;-o-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpBig{0%{opacity:0;-moz-transform:translateY(2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpBig{0%{opacity:0;-o-transform:translateY(2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;-moz-animation-name:fadeInUpBig;-o-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeftBig{0%{opacity:0;-moz-transform:translateX(-2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeftBig{0%{opacity:0;-o-transform:translateX(-2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;-moz-animation-name:fadeInLeftBig;-o-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRightBig{0%{opacity:0;-moz-transform:translateX(2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRightBig{0%{opacity:0;-o-transform:translateX(2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;-moz-animation-name:fadeInRightBig;-o-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeOutUp{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeOutUp{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;-moz-animation-name:fadeOutUp;-o-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;-o-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@-moz-keyframes fadeOutLeft{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px)}}@-o-keyframes fadeOutLeft{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;-moz-animation-name:fadeOutLeft;-o-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@-moz-keyframes fadeOutRight{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px)}}@-o-keyframes fadeOutRight{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;-moz-animation-name:fadeOutRight;-o-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes fadeOutUpBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes fadeOutUpBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;-moz-animation-name:fadeOutUpBig;-o-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes fadeOutDownBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes fadeOutDownBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;-moz-animation-name:fadeOutDownBig;-o-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes fadeOutLeftBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes fadeOutLeftBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;-moz-animation-name:fadeOutLeftBig;-o-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes fadeOutRightBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes fadeOutRightBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;-moz-animation-name:fadeOutRightBig;-o-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(0.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(0.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(0.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(0.9)}100%{-moz-transform:scale(1)}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(0.3)}50%{opacity:1;-o-transform:scale(1.05)}70%{-o-transform:scale(0.9)}100%{-o-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(0.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInUp{0%{opacity:0;-moz-transform:translateY(2000px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInUp{0%{opacity:0;-o-transform:translateY(2000px)}60%{opacity:1;-o-transform:translateY(-30px)}80%{-o-transform:translateY(10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;-o-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px)}60%{opacity:1;-o-transform:translateY(30px)}80%{-o-transform:translateY(-10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInLeft{0%{opacity:0;-moz-transform:translateX(-2000px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInLeft{0%{opacity:0;-o-transform:translateX(-2000px)}60%{opacity:1;-o-transform:translateX(30px)}80%{-o-transform:translateX(-10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;-moz-animation-name:bounceInLeft;-o-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInRight{0%{opacity:0;-moz-transform:translateX(2000px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInRight{0%{opacity:0;-o-transform:translateX(2000px)}60%{opacity:1;-o-transform:translateX(-30px)}80%{-o-transform:translateX(10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;-moz-animation-name:bounceInRight;-o-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(0.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(0.3)}}@-moz-keyframes bounceOut{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(0.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(0.3)}}@-o-keyframes bounceOut{0%{-o-transform:scale(1)}25%{-o-transform:scale(0.95)}50%{opacity:1;-o-transform:scale(1.1)}100%{opacity:0;-o-transform:scale(0.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(0.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(0.3)}}.bounceOut{-webkit-animation-name:bounceOut;-moz-animation-name:bounceOut;-o-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes bounceOutUp{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes bounceOutUp{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(20px)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;-moz-animation-name:bounceOutUp;-o-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes bounceOutDown{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes bounceOutDown{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(-20px)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;-moz-animation-name:bounceOutDown;-o-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes bounceOutLeft{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes bounceOutLeft{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(20px)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;-moz-animation-name:bounceOutLeft;-o-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes bounceOutRight{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes bounceOutRight{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(-20px)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;-moz-animation-name:bounceOutRight;-o-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateIn{0%{-moz-transform-origin:center center;-moz-transform:rotate(-200deg);opacity:0}100%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateIn{0%{-o-transform-origin:center center;-o-transform:rotate(-200deg);opacity:0}100%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;-moz-animation-name:rotateIn;-o-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;-moz-animation-name:rotateInUpLeft;-o-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;-moz-animation-name:rotateInDownLeft;-o-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;-moz-animation-name:rotateInUpRight;-o-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;-moz-animation-name:rotateInDownRight;-o-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateOut{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-o-keyframes rotateOut{0%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:center center;-o-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;-moz-animation-name:rotateOut;-o-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;-moz-animation-name:rotateOutUpLeft;-o-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;-moz-animation-name:rotateOutDownLeft;-o-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;-moz-animation-name:rotateOutUpRight;-o-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;-moz-animation-name:rotateOutDownRight;-o-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@-moz-keyframes hinge{0%{-moz-transform:rotate(0);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}20%,60%{-moz-transform:rotate(80deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}40%{-moz-transform:rotate(60deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}80%{-moz-transform:rotate(60deg) translateY(0);opacity:1;-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}100%{-moz-transform:translateY(700px);opacity:0}}@-o-keyframes hinge{0%{-o-transform:rotate(0);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}20%,60%{-o-transform:rotate(80deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}40%{-o-transform:rotate(60deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}80%{-o-transform:rotate(60deg) translateY(0);opacity:1;-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}100%{-o-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;-moz-animation-name:hinge;-o-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@-moz-keyframes rollIn{0%{opacity:0;-moz-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}}@-o-keyframes rollIn{0%{opacity:0;-o-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;-moz-animation-name:rollIn;-o-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@-moz-keyframes rollOut{0%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-moz-transform:translateX(100%) rotate(120deg)}}@-o-keyframes rollOut{0%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-o-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;-moz-animation-name:rollOut;-o-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@-moz-keyframes lightSpeedIn{0%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-moz-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-moz-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}}@-o-keyframes lightSpeedIn{0%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-o-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-o-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-o-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-moz-animation-name:lightSpeedIn;-o-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;-moz-animation-timing-function:ease-out;-o-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.lightSpeedIn{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@-moz-keyframes lightSpeedOut{0%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}100%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}}@-o-keyframes lightSpeedOut{0%{-o-transform:translateX(0%) skewX(0deg);opacity:1}100%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-moz-animation-name:lightSpeedOut;-o-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.lightSpeedOut{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}100%,90%{-webkit-transform:skewX(0deg)}}@-moz-keyframes wiggle{0%{-moz-transform:skewX(9deg)}10%{-moz-transform:skewX(-8deg)}20%{-moz-transform:skewX(7deg)}30%{-moz-transform:skewX(-6deg)}40%{-moz-transform:skewX(5deg)}50%{-moz-transform:skewX(-4deg)}60%{-moz-transform:skewX(3deg)}70%{-moz-transform:skewX(-2deg)}80%{-moz-transform:skewX(1deg)}100%,90%{-moz-transform:skewX(0deg)}}@-o-keyframes wiggle{0%{-o-transform:skewX(9deg)}10%{-o-transform:skewX(-8deg)}20%{-o-transform:skewX(7deg)}30%{-o-transform:skewX(-6deg)}40%{-o-transform:skewX(5deg)}50%{-o-transform:skewX(-4deg)}60%{-o-transform:skewX(3deg)}70%{-o-transform:skewX(-2deg)}80%{-o-transform:skewX(1deg)}100%,90%{-o-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}100%,90%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;-moz-animation-name:wiggle;-o-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.wiggle{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s}.browsehappy{margin:.2em 0;background:orange;color:#fff;padding:.2em 0}#navigation{margin-top:30px}#navigation ul{list-style:none;max-width:300px;margin:0 auto}#navigation li{display:inline-block;padding:0 15px}#navigation h1{text-align:center;font-family:"Droid Sans Mono",monospace;margin-bottom:15px;color:#36535a;font-size:35px}@media (min-width:768px){#navigation ul{float:right;margin:33px 0}#navigation h1{float:left}}#navigation a{text-decoration:none;font-size:15px;color:#3b3b3b}h2{text-align:center;font-size:35px}@media (min-width:768px){h2{font-size:50px}}.btn-cta{-webkit-transition:all .3s;transition:all .3s;padding:10px 50px;border:2px solid #e96e57;font-size:20px;color:#e96e57;border-radius:10px;display:inline-block;text-decoration:none}.btn-cta:hover{text-decoration:none;border-color:#36535a;color:#36535a}.wrapper{margin:0 auto;max-width:1100px;padding-left:35px;padding-right:35px}.wrapper:after,.wrapper:before{content:" ";display:table}.wrapper:after{clear:both}@media (min-width:768px){.wrapper{width:790px}}@media (min-width:992px){.wrapper{width:1010px}}@media (min-width:1200px){.wrapper{width:1210px}}img{max-width:100%;margin:0 auto}a{text-decoration:underline;color:#36535a}a:hover{text-decoration:none;color:inherit}::selection{background:#e96e57}::-moz-selection{background:#e96e57}#home{text-align:center}#home h2{font-size:30px}@media (min-width:768px){#home{padding:50px}#home h2{font-size:45px;margin-top:-20px;margin-bottom:45px}}#home .btn-home{margin:50px 0 25px}#web,.terminal{word-wrap:break-word;font-size:12px;padding:25px 0 0 10px;font-family:"Droid Sans Mono",monospace;text-align:left;color:#fff;-webkit-transition:all .3s ease;transition:all .3s ease}#web .code-title,.terminal .code-title{color:#e96e57}@media (min-width:768px){#web,.terminal{padding:25px 0 0 20px;font-size:15px}}#web code,.terminal code{font-family:"Droid Sans Mono",monospace}#web{margin-top:-2px;padding-top:0;padding-bottom:50px;width:100%;display:block;background:#36535a;-webkit-transition:all .3s ease;transition:all .3s ease;border-bottom-right-radius:5px;border-bottom-left-radius:5px}#web .btn-cta{padding:5px 10px;font-size:14px;border-color:#fff}#web .queue{margin:0;list-style:none;padding:0}#web a{color:#fff}.dragged{background:#40626a!important}.terminal{border-radius:0 0 5px 5px;background:0 0/cover #36535a;backbground-repeat:no-repeat}.terminal-top{border-top-right-radius:5px;border-top-left-radius:5px;background:url(../images/terminal-top.svg) 0 0/cover no-repeat;height:30px}.upload-progress{max-width:80%}.upload-progress .bar{word-wrap:normal;overflow:hidden}.upload-progress span{float:right}.all-files{display:none}.all-files .show{display:block}#features{background:#f6f8f8;text-align:center;padding:100px 0}#features h3{margin-top:-20px;font-size:25px;line-height:1.2}#features p{font-size:18px}#features i{color:#85b5bb;font-size:100px}#samples{padding:50px 0;text-align:center}#samples h4{margin-top:30px}#samples .btn-cta{margin:30px 0;cursor:pointer}#samples h4{text-align:left}#samples .terminal{padding:20px 15px;font-size:13px;min-height:230px}#share{text-align:center;background:#85b5bb;color:#fff;padding:75px 0}#share i{font-size:50px}#share ul{margin-top:30px;list-style:none;padding:0}#share li{margin:0 20px;display:inline-block}#share a{color:#fff;text-decoration:none}footer{text-align:center;background:#36535a;padding:30px 0;color:#fff}footer p{margin:0}footer i{color:#e96e57}footer a{color:#f6f8f8}footer img{max-height:40px;margin-bottom:30px}#contact{text-align:center;padding:150px 0}#contact i{font-size:160px;color:#85b5bb}@media (min-width:768px){#contact i{font-size:160px}}#contact h2{margin-top:-50px;margin-bottom:40px}#reviews{background:#f6f8f8;padding:130px 0}#reviews .twitter-profile{float:left;display:block;height:90px;border-radius:10px;margin:3px 15px auto 20px}blockquote.twitter-tweet{display:inline-block;font-size:15px;line-height:20px;margin:10px 5px;padding:0 16px 16px;text-align:right;border:0}blockquote.twitter-tweet img{margin:0 auto}@media (max-width:480px){blockquote.twitter-tweet .twitter-profile{display:none!important}}blockquote.twitter-tweet p{font-size:17px;font-weight:400;line-height:20px;text-align:left}blockquote.twitter-tweet a{color:inherit;font-weight:400;text-decoration:none;outline:0}blockquote.twitter-tweet a:focus,blockquote.twitter-tweet a:hover{text-decoration:underline}blockquote.tweet-xl p{font-size:22px;line-height:25px}blockquote.tweet-xl a{font-size:22px}@font-face{font-family:transfersh;src:url(../fonts/transfersh.eot);src:url(../fonts/transfersh.eot?#iefix) format("embedded-opentype"),url(../fonts/transfersh.woff) format("woff"),url(../fonts/transfersh.ttf) format("truetype"),url(../fonts/transfersh.svg#transfersh) format("svg");font-weight:400;font-style:normal}[data-icon]:before{font-family:transfersh!important;content:attr(data-icon);font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" icon-"]:before,[class^=icon-]:before{font-family:transfersh!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-terminal:before{content:"a"}.icon-share:before{content:"b"}.icon-clock:before{content:"g"}.icon-tag:before{content:"c"}.icon-upload-cloud:before{content:"m"}.icon-mail:before{content:"j"}.icon-gauge:before{content:"k"}.icon-lock:before{content:"h"}.icon-database:before{content:"i"}.icon-heart:before{content:"e"}.icon-link:before{content:"d"}.icon-facebook:before{content:"l"}.icon-twitter:before{content:"n"}.icon-linkedin:before{content:"o"}.icon-gplus:before{content:"p"}
\ No newline at end of file
+@charset "UTF-8";/*! normalize.css v2.1.3 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden],template{display:none}html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a{background:0 0}a:active,a:hover{outline:0}h1{margin:.67em 0}b,strong{font-weight:700}dfn{font-style:italic}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}button,input,select,textarea{margin:0}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{text-shadow:none!important;color:#000!important;background:0 0!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:transparent}body{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#3b3b3b;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a:focus,a:hover{color:#151515;text-decoration:underline}a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:"Source Sans Pro","Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:100;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}h4,h5,h6{margin-top:10px;margin-bottom:10px}h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-primary:hover{color:#3071a9}.text-warning{color:#8a6d3b}.text-warning:hover{color:#66512c}.text-danger{color:#a94442}.text-danger:hover{color:#843534}.text-success{color:#3c763d}.text-success:hover{color:#2b542c}.text-info{color:#31708f}.text-info:hover{color:#245269}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote .small,blockquote small{display:block;line-height:1.42857143;color:#999}blockquote .small:before,blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right .small,blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right .small:before,blockquote.pull-right small:before{content:''}blockquote.pull-right .small:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}.container{margin-right:auto;margin-left:auto;padding-left:35px;padding-right:35px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:790px}}@media (min-width:992px){.container{width:1010px}}@media (min-width:1200px){.container{width:1210px}}.row{margin-left:-35px;margin-right:-35px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:35px;padding-right:35px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{float:none;display:table-cell}.table>tbody>.active>td,.table>tbody>.active>th,.table>tbody>tr>.active,.table>tfoot>.active>td,.table>tfoot>.active>th,.table>tfoot>tr>.active,.table>thead>.active>td,.table>thead>.active>th,.table>thead>tr>.active{background-color:#f5f5f5}.table-hover>tbody>.active:hover>td,.table-hover>tbody>.active:hover>th,.table-hover>tbody>tr>.active:hover{background-color:#e8e8e8}.table>tbody>.success>td,.table>tbody>.success>th,.table>tbody>tr>.success,.table>tfoot>.success>td,.table>tfoot>.success>th,.table>tfoot>tr>.success,.table>thead>.success>td,.table>thead>.success>th,.table>thead>tr>.success{background-color:#dff0d8}.table-hover>tbody>.success:hover>td,.table-hover>tbody>.success:hover>th,.table-hover>tbody>tr>.success:hover{background-color:#d0e9c6}.table>tbody>.danger>td,.table>tbody>.danger>th,.table>tbody>tr>.danger,.table>tfoot>.danger>td,.table>tfoot>.danger>th,.table>tfoot>tr>.danger,.table>thead>.danger>td,.table>thead>.danger>th,.table>thead>tr>.danger{background-color:#f2dede}.table-hover>tbody>.danger:hover>td,.table-hover>tbody>.danger:hover>th,.table-hover>tbody>tr>.danger:hover{background-color:#ebcccc}.table>tbody>.warning>td,.table>tbody>.warning>th,.table>tbody>tr>.warning,.table>tfoot>.warning>td,.table>tfoot>.warning>th,.table>tfoot>tr>.warning,.table>thead>.warning>td,.table>thead>.warning>th,.table>thead>tr>.warning{background-color:#fcf8e3}.table-hover>tbody>.warning:hover>td,.table-hover>tbody>.warning:hover>th,.table-hover>tbody>tr>.warning:hover{background-color:#faf2cc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-size:inherit;font-style:inherit;font-family:inherit}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555;vertical-align:middle}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;vertical-align:middle;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.checkbox label,.radio label{display:inline;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{float:left;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline[disabled],.checkbox[disabled],.radio-inline[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg{height:auto}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#7b7b7b}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline select.form-control{width:auto}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{float:none;margin-left:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-35px;margin-right:-35px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#85b5bb;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs,td.visible-lg,td.visible-md,td.visible-sm,td.visible-xs,th.visible-lg,th.visible-md,th.visible-sm,th.visible-xs,tr.visible-lg,tr.visible-md,tr.visible-sm,tr.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}table.visible-xs.visible-sm{display:table}tr.visible-xs.visible-sm{display:table-row!important}td.visible-xs.visible-sm,th.visible-xs.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}table.visible-xs.visible-md{display:table}tr.visible-xs.visible-md{display:table-row!important}td.visible-xs.visible-md,th.visible-xs.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-xs.visible-lg{display:block!important}table.visible-xs.visible-lg{display:table}tr.visible-xs.visible-lg{display:table-row!important}td.visible-xs.visible-lg,th.visible-xs.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-sm.visible-xs{display:block!important}table.visible-sm.visible-xs{display:table}tr.visible-sm.visible-xs{display:table-row!important}td.visible-sm.visible-xs,th.visible-sm.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}table.visible-sm.visible-md{display:table}tr.visible-sm.visible-md{display:table-row!important}td.visible-sm.visible-md,th.visible-sm.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-sm.visible-lg{display:block!important}table.visible-sm.visible-lg{display:table}tr.visible-sm.visible-lg{display:table-row!important}td.visible-sm.visible-lg,th.visible-sm.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-md.visible-xs{display:block!important}table.visible-md.visible-xs{display:table}tr.visible-md.visible-xs{display:table-row!important}td.visible-md.visible-xs,th.visible-md.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}table.visible-md.visible-sm{display:table}tr.visible-md.visible-sm{display:table-row!important}td.visible-md.visible-sm,th.visible-md.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-md.visible-lg{display:block!important}table.visible-md.visible-lg{display:table}tr.visible-md.visible-lg{display:table-row!important}td.visible-md.visible-lg,th.visible-md.visible-lg{display:table-cell!important}}@media (max-width:767px){.visible-lg.visible-xs{display:block!important}table.visible-lg.visible-xs{display:table}tr.visible-lg.visible-xs{display:table-row!important}td.visible-lg.visible-xs,th.visible-lg.visible-xs{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}table.visible-lg.visible-sm{display:table}tr.visible-lg.visible-sm{display:table-row!important}td.visible-lg.visible-sm,th.visible-lg.visible-sm{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}table.visible-lg.visible-md{display:table}tr.visible-lg.visible-md{display:table-row!important}td.visible-lg.visible-md,th.visible-lg.visible-md{display:table-cell!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}table.hidden-xs{display:table}tr.hidden-xs{display:table-row!important}td.hidden-xs,th.hidden-xs{display:table-cell!important}@media (max-width:767px){.hidden-xs,td.hidden-xs,th.hidden-xs,tr.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm,th.hidden-xs.hidden-sm,tr.hidden-xs.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md,td.hidden-xs.hidden-md,th.hidden-xs.hidden-md,tr.hidden-xs.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg,th.hidden-xs.hidden-lg,tr.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}table.hidden-sm{display:table}tr.hidden-sm{display:table-row!important}td.hidden-sm,th.hidden-sm{display:table-cell!important}@media (max-width:767px){.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs,th.hidden-sm.hidden-xs,tr.hidden-sm.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,td.hidden-sm,th.hidden-sm,tr.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md,td.hidden-sm.hidden-md,th.hidden-sm.hidden-md,tr.hidden-sm.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg,th.hidden-sm.hidden-lg,tr.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}table.hidden-md{display:table}tr.hidden-md{display:table-row!important}td.hidden-md,th.hidden-md{display:table-cell!important}@media (max-width:767px){.hidden-md.hidden-xs,td.hidden-md.hidden-xs,th.hidden-md.hidden-xs,tr.hidden-md.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm,td.hidden-md.hidden-sm,th.hidden-md.hidden-sm,tr.hidden-md.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,td.hidden-md,th.hidden-md,tr.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-md.hidden-lg,td.hidden-md.hidden-lg,th.hidden-md.hidden-lg,tr.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}table.hidden-lg{display:table}tr.hidden-lg{display:table-row!important}td.hidden-lg,th.hidden-lg{display:table-cell!important}@media (max-width:767px){.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs,th.hidden-lg.hidden-xs,tr.hidden-lg.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm,th.hidden-lg.hidden-sm,tr.hidden-lg.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md,td.hidden-lg.hidden-md,th.hidden-lg.hidden-md,tr.hidden-lg.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg,td.hidden-lg,th.hidden-lg,tr.hidden-lg{display:none!important}}.visible-print,td.visible-print,th.visible-print,tr.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}.hidden-print,td.hidden-print,th.hidden-print,tr.hidden-print{display:none!important}}body{-webkit-backface-visibility:hidden}.animated{-webkit-animation-duration:1s;-moz-animation-duration:1s;-o-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;-o-animation-fill-mode:both;animation-fill-mode:both}.animated.hinge{-webkit-animation-duration:2s;-moz-animation-duration:2s;-o-animation-duration:2s;animation-duration:2s}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-moz-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@-o-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;-moz-animation-name:flash;-o-animation-name:flash;animation-name:flash}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px)}}@-moz-keyframes shake{0%,100%{-moz-transform:translateX(0)}10%,30%,50%,70%,90%{-moz-transform:translateX(-10px)}20%,40%,60%,80%{-moz-transform:translateX(10px)}}@-o-keyframes shake{0%,100%{-o-transform:translateX(0)}10%,30%,50%,70%,90%{-o-transform:translateX(-10px)}20%,40%,60%,80%{-o-transform:translateX(10px)}}@keyframes shake{0%,100%{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.shake{-webkit-animation-name:shake;-moz-animation-name:shake;-o-animation-name:shake;animation-name:shake}@-webkit-keyframes bounce{0%,100%,20%,50%,80%{-webkit-transform:translateY(0)}40%{-webkit-transform:translateY(-30px)}60%{-webkit-transform:translateY(-15px)}}@-moz-keyframes bounce{0%,100%,20%,50%,80%{-moz-transform:translateY(0)}40%{-moz-transform:translateY(-30px)}60%{-moz-transform:translateY(-15px)}}@-o-keyframes bounce{0%,100%,20%,50%,80%{-o-transform:translateY(0)}40%{-o-transform:translateY(-30px)}60%{-o-transform:translateY(-15px)}}@keyframes bounce{0%,100%,20%,50%,80%{transform:translateY(0)}40%{transform:translateY(-30px)}60%{transform:translateY(-15px)}}.bounce{-webkit-animation-name:bounce;-moz-animation-name:bounce;-o-animation-name:bounce;animation-name:bounce}@-webkit-keyframes tada{0%{-webkit-transform:scale(1)}10%,20%{-webkit-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-webkit-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-webkit-transform:scale(1.1) rotate(-3deg)}100%{-webkit-transform:scale(1) rotate(0)}}@-moz-keyframes tada{0%{-moz-transform:scale(1)}10%,20%{-moz-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-moz-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-moz-transform:scale(1.1) rotate(-3deg)}100%{-moz-transform:scale(1) rotate(0)}}@-o-keyframes tada{0%{-o-transform:scale(1)}10%,20%{-o-transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{-o-transform:scale(1.1) rotate(3deg)}40%,60%,80%{-o-transform:scale(1.1) rotate(-3deg)}100%{-o-transform:scale(1) rotate(0)}}@keyframes tada{0%{transform:scale(1)}10%,20%{transform:scale(0.9) rotate(-3deg)}30%,50%,70%,90%{transform:scale(1.1) rotate(3deg)}40%,60%,80%{transform:scale(1.1) rotate(-3deg)}100%{transform:scale(1) rotate(0)}}.tada{-webkit-animation-name:tada;-moz-animation-name:tada;-o-animation-name:tada;animation-name:tada}@-webkit-keyframes swing{100%,20%,40%,60%,80%{-webkit-transform-origin:top center}20%{-webkit-transform:rotate(15deg)}40%{-webkit-transform:rotate(-10deg)}60%{-webkit-transform:rotate(5deg)}80%{-webkit-transform:rotate(-5deg)}100%{-webkit-transform:rotate(0deg)}}@-moz-keyframes swing{20%{-moz-transform:rotate(15deg)}40%{-moz-transform:rotate(-10deg)}60%{-moz-transform:rotate(5deg)}80%{-moz-transform:rotate(-5deg)}100%{-moz-transform:rotate(0deg)}}@-o-keyframes swing{20%{-o-transform:rotate(15deg)}40%{-o-transform:rotate(-10deg)}60%{-o-transform:rotate(5deg)}80%{-o-transform:rotate(-5deg)}100%{-o-transform:rotate(0deg)}}@keyframes swing{20%{transform:rotate(15deg)}40%{transform:rotate(-10deg)}60%{transform:rotate(5deg)}80%{transform:rotate(-5deg)}100%{transform:rotate(0deg)}}.swing{-webkit-transform-origin:top center;-moz-transform-origin:top center;-o-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;-moz-animation-name:swing;-o-animation-name:swing;animation-name:swing}@-webkit-keyframes wobble{0%{-webkit-transform:translateX(0%)}15%{-webkit-transform:translateX(-25%) rotate(-5deg)}30%{-webkit-transform:translateX(20%) rotate(3deg)}45%{-webkit-transform:translateX(-15%) rotate(-3deg)}60%{-webkit-transform:translateX(10%) rotate(2deg)}75%{-webkit-transform:translateX(-5%) rotate(-1deg)}100%{-webkit-transform:translateX(0%)}}@-moz-keyframes wobble{0%{-moz-transform:translateX(0%)}15%{-moz-transform:translateX(-25%) rotate(-5deg)}30%{-moz-transform:translateX(20%) rotate(3deg)}45%{-moz-transform:translateX(-15%) rotate(-3deg)}60%{-moz-transform:translateX(10%) rotate(2deg)}75%{-moz-transform:translateX(-5%) rotate(-1deg)}100%{-moz-transform:translateX(0%)}}@-o-keyframes wobble{0%{-o-transform:translateX(0%)}15%{-o-transform:translateX(-25%) rotate(-5deg)}30%{-o-transform:translateX(20%) rotate(3deg)}45%{-o-transform:translateX(-15%) rotate(-3deg)}60%{-o-transform:translateX(10%) rotate(2deg)}75%{-o-transform:translateX(-5%) rotate(-1deg)}100%{-o-transform:translateX(0%)}}@keyframes wobble{0%{transform:translateX(0%)}15%{transform:translateX(-25%) rotate(-5deg)}30%{transform:translateX(20%) rotate(3deg)}45%{transform:translateX(-15%) rotate(-3deg)}60%{transform:translateX(10%) rotate(2deg)}75%{transform:translateX(-5%) rotate(-1deg)}100%{transform:translateX(0%)}}.wobble{-webkit-animation-name:wobble;-moz-animation-name:wobble;-o-animation-name:wobble;animation-name:wobble}@-webkit-keyframes pulse{0%{-webkit-transform:scale(1)}50%{-webkit-transform:scale(1.1)}100%{-webkit-transform:scale(1)}}@-moz-keyframes pulse{0%{-moz-transform:scale(1)}50%{-moz-transform:scale(1.1)}100%{-moz-transform:scale(1)}}@-o-keyframes pulse{0%{-o-transform:scale(1)}50%{-o-transform:scale(1.1)}100%{-o-transform:scale(1)}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.1)}100%{transform:scale(1)}}.pulse{-webkit-animation-name:pulse;-moz-animation-name:pulse;-o-animation-name:pulse;animation-name:pulse}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotateY(0);-webkit-animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(170deg);-webkit-animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-webkit-animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) rotateY(360deg) scale(0.95);-webkit-animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px) scale(1);-webkit-animation-timing-function:ease-in}}@-moz-keyframes flip{0%{-moz-transform:perspective(400px) rotateY(0);-moz-animation-timing-function:ease-out}40%{-moz-transform:perspective(400px) translateZ(150px) rotateY(170deg);-moz-animation-timing-function:ease-out}50%{-moz-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-moz-animation-timing-function:ease-in}80%{-moz-transform:perspective(400px) rotateY(360deg) scale(0.95);-moz-animation-timing-function:ease-in}100%{-moz-transform:perspective(400px) scale(1);-moz-animation-timing-function:ease-in}}@-o-keyframes flip{0%{-o-transform:perspective(400px) rotateY(0);-o-animation-timing-function:ease-out}40%{-o-transform:perspective(400px) translateZ(150px) rotateY(170deg);-o-animation-timing-function:ease-out}50%{-o-transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);-o-animation-timing-function:ease-in}80%{-o-transform:perspective(400px) rotateY(360deg) scale(0.95);-o-animation-timing-function:ease-in}100%{-o-transform:perspective(400px) scale(1);-o-animation-timing-function:ease-in}}@keyframes flip{0%{transform:perspective(400px) rotateY(0);animation-timing-function:ease-out}40%{transform:perspective(400px) translateZ(150px) rotateY(170deg);animation-timing-function:ease-out}50%{transform:perspective(400px) translateZ(150px) rotateY(190deg) scale(1);animation-timing-function:ease-in}80%{transform:perspective(400px) rotateY(360deg) scale(0.95);animation-timing-function:ease-in}100%{transform:perspective(400px) scale(1);animation-timing-function:ease-in}}.flip{-webkit-backface-visibility:visible!important;-webkit-animation-name:flip;-moz-backface-visibility:visible!important;-moz-animation-name:flip;-o-backface-visibility:visible!important;-o-animation-name:flip;backface-visibility:visible!important;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateX(-10deg)}70%{-webkit-transform:perspective(400px) rotateX(10deg)}100%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}}@-moz-keyframes flipInX{0%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateX(-10deg)}70%{-moz-transform:perspective(400px) rotateX(10deg)}100%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}}@-o-keyframes flipInX{0%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateX(-10deg)}70%{-o-transform:perspective(400px) rotateX(10deg)}100%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}}@keyframes flipInX{0%{transform:perspective(400px) rotateX(90deg);opacity:0}40%{transform:perspective(400px) rotateX(-10deg)}70%{transform:perspective(400px) rotateX(10deg)}100%{transform:perspective(400px) rotateX(0deg);opacity:1}}.flipInX{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInX;-moz-backface-visibility:visible!important;-moz-animation-name:flipInX;-o-backface-visibility:visible!important;-o-animation-name:flipInX;backface-visibility:visible!important;animation-name:flipInX}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateX(90deg);opacity:0}}@-moz-keyframes flipOutX{0%{-moz-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateX(90deg);opacity:0}}@-o-keyframes flipOutX{0%{-o-transform:perspective(400px) rotateX(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateX(90deg);opacity:0}}@keyframes flipOutX{0%{transform:perspective(400px) rotateX(0deg);opacity:1}100%{transform:perspective(400px) rotateX(90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;-webkit-backface-visibility:visible!important;-moz-animation-name:flipOutX;-moz-backface-visibility:visible!important;-o-animation-name:flipOutX;-o-backface-visibility:visible!important;animation-name:flipOutX;backface-visibility:visible!important}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotateY(-10deg)}70%{-webkit-transform:perspective(400px) rotateY(10deg)}100%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}}@-moz-keyframes flipInY{0%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-moz-transform:perspective(400px) rotateY(-10deg)}70%{-moz-transform:perspective(400px) rotateY(10deg)}100%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}}@-o-keyframes flipInY{0%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}40%{-o-transform:perspective(400px) rotateY(-10deg)}70%{-o-transform:perspective(400px) rotateY(10deg)}100%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}}@keyframes flipInY{0%{transform:perspective(400px) rotateY(90deg);opacity:0}40%{transform:perspective(400px) rotateY(-10deg)}70%{transform:perspective(400px) rotateY(10deg)}100%{transform:perspective(400px) rotateY(0deg);opacity:1}}.flipInY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipInY;-moz-backface-visibility:visible!important;-moz-animation-name:flipInY;-o-backface-visibility:visible!important;-o-animation-name:flipInY;backface-visibility:visible!important;animation-name:flipInY}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-webkit-transform:perspective(400px) rotateY(90deg);opacity:0}}@-moz-keyframes flipOutY{0%{-moz-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-moz-transform:perspective(400px) rotateY(90deg);opacity:0}}@-o-keyframes flipOutY{0%{-o-transform:perspective(400px) rotateY(0deg);opacity:1}100%{-o-transform:perspective(400px) rotateY(90deg);opacity:0}}@keyframes flipOutY{0%{transform:perspective(400px) rotateY(0deg);opacity:1}100%{transform:perspective(400px) rotateY(90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-webkit-animation-name:flipOutY;-moz-backface-visibility:visible!important;-moz-animation-name:flipOutY;-o-backface-visibility:visible!important;-o-animation-name:flipOutY;backface-visibility:visible!important;animation-name:flipOutY}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-moz-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-o-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;-moz-animation-name:fadeIn;-o-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translateY(20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUp{0%{opacity:0;-moz-transform:translateY(20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUp{0%{opacity:0;-o-transform:translateY(20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:translateY(0)}}.fadeInUp{-webkit-animation-name:fadeInUp;-moz-animation-name:fadeInUp;-o-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translateY(-20px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDown{0%{opacity:0;-moz-transform:translateY(-20px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDown{0%{opacity:0;-o-transform:translateY(-20px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}100%{opacity:1;transform:translateY(0)}}.fadeInDown{-webkit-animation-name:fadeInDown;-moz-animation-name:fadeInDown;-o-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translateX(-20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeft{0%{opacity:0;-moz-transform:translateX(-20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeft{0%{opacity:0;-o-transform:translateX(-20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeft{-webkit-animation-name:fadeInLeft;-moz-animation-name:fadeInLeft;-o-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translateX(20px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRight{0%{opacity:0;-moz-transform:translateX(20px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRight{0%{opacity:0;-o-transform:translateX(20px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translateX(20px)}100%{opacity:1;transform:translateX(0)}}.fadeInRight{-webkit-animation-name:fadeInRight;-moz-animation-name:fadeInRight;-o-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInUpBig{0%{opacity:0;-moz-transform:translateY(2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInUpBig{0%{opacity:0;-o-transform:translateY(2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;transform:translateY(2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;-moz-animation-name:fadeInUpBig;-o-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translateY(-2000px)}100%{opacity:1;-webkit-transform:translateY(0)}}@-moz-keyframes fadeInDownBig{0%{opacity:0;-moz-transform:translateY(-2000px)}100%{opacity:1;-moz-transform:translateY(0)}}@-o-keyframes fadeInDownBig{0%{opacity:0;-o-transform:translateY(-2000px)}100%{opacity:1;-o-transform:translateY(0)}}@keyframes fadeInDownBig{0%{opacity:0;transform:translateY(-2000px)}100%{opacity:1;transform:translateY(0)}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;-moz-animation-name:fadeInDownBig;-o-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translateX(-2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInLeftBig{0%{opacity:0;-moz-transform:translateX(-2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInLeftBig{0%{opacity:0;-o-transform:translateX(-2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInLeftBig{0%{opacity:0;transform:translateX(-2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;-moz-animation-name:fadeInLeftBig;-o-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translateX(2000px)}100%{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes fadeInRightBig{0%{opacity:0;-moz-transform:translateX(2000px)}100%{opacity:1;-moz-transform:translateX(0)}}@-o-keyframes fadeInRightBig{0%{opacity:0;-o-transform:translateX(2000px)}100%{opacity:1;-o-transform:translateX(0)}}@keyframes fadeInRightBig{0%{opacity:0;transform:translateX(2000px)}100%{opacity:1;transform:translateX(0)}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;-moz-animation-name:fadeInRightBig;-o-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-moz-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@-o-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;-moz-animation-name:fadeOut;-o-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutUp{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-20px)}}@-moz-keyframes fadeOutUp{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-20px)}}@-o-keyframes fadeOutUp{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-20px)}}@keyframes fadeOutUp{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-20px)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;-moz-animation-name:fadeOutUp;-o-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutDown{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(20px)}}@-moz-keyframes fadeOutDown{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(20px)}}@-o-keyframes fadeOutDown{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(20px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(20px)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;-moz-animation-name:fadeOutDown;-o-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutLeft{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-20px)}}@-moz-keyframes fadeOutLeft{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-20px)}}@-o-keyframes fadeOutLeft{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-20px)}}@keyframes fadeOutLeft{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-20px)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;-moz-animation-name:fadeOutLeft;-o-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutRight{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(20px)}}@-moz-keyframes fadeOutRight{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(20px)}}@-o-keyframes fadeOutRight{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(20px)}}@keyframes fadeOutRight{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(20px)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;-moz-animation-name:fadeOutRight;-o-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutUpBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes fadeOutUpBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes fadeOutUpBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes fadeOutUpBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-2000px)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;-moz-animation-name:fadeOutUpBig;-o-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes fadeOutDownBig{0%{opacity:1;-webkit-transform:translateY(0)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes fadeOutDownBig{0%{opacity:1;-moz-transform:translateY(0)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes fadeOutDownBig{0%{opacity:1;-o-transform:translateY(0)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes fadeOutDownBig{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(2000px)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;-moz-animation-name:fadeOutDownBig;-o-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes fadeOutLeftBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes fadeOutLeftBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes fadeOutLeftBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(-2000px)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;-moz-animation-name:fadeOutLeftBig;-o-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRightBig{0%{opacity:1;-webkit-transform:translateX(0)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes fadeOutRightBig{0%{opacity:1;-moz-transform:translateX(0)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes fadeOutRightBig{0%{opacity:1;-o-transform:translateX(0)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes fadeOutRightBig{0%{opacity:1;transform:translateX(0)}100%{opacity:0;transform:translateX(2000px)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;-moz-animation-name:fadeOutRightBig;-o-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(0.3)}50%{opacity:1;-webkit-transform:scale(1.05)}70%{-webkit-transform:scale(0.9)}100%{-webkit-transform:scale(1)}}@-moz-keyframes bounceIn{0%{opacity:0;-moz-transform:scale(0.3)}50%{opacity:1;-moz-transform:scale(1.05)}70%{-moz-transform:scale(0.9)}100%{-moz-transform:scale(1)}}@-o-keyframes bounceIn{0%{opacity:0;-o-transform:scale(0.3)}50%{opacity:1;-o-transform:scale(1.05)}70%{-o-transform:scale(0.9)}100%{-o-transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(0.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(0.9)}100%{transform:scale(1)}}.bounceIn{-webkit-animation-name:bounceIn;-moz-animation-name:bounceIn;-o-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes bounceInUp{0%{opacity:0;-webkit-transform:translateY(2000px)}60%{opacity:1;-webkit-transform:translateY(-30px)}80%{-webkit-transform:translateY(10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInUp{0%{opacity:0;-moz-transform:translateY(2000px)}60%{opacity:1;-moz-transform:translateY(-30px)}80%{-moz-transform:translateY(10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInUp{0%{opacity:0;-o-transform:translateY(2000px)}60%{opacity:1;-o-transform:translateY(-30px)}80%{-o-transform:translateY(10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInUp{0%{opacity:0;transform:translateY(2000px)}60%{opacity:1;transform:translateY(-30px)}80%{transform:translateY(10px)}100%{transform:translateY(0)}}.bounceInUp{-webkit-animation-name:bounceInUp;-moz-animation-name:bounceInUp;-o-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceInDown{0%{opacity:0;-webkit-transform:translateY(-2000px)}60%{opacity:1;-webkit-transform:translateY(30px)}80%{-webkit-transform:translateY(-10px)}100%{-webkit-transform:translateY(0)}}@-moz-keyframes bounceInDown{0%{opacity:0;-moz-transform:translateY(-2000px)}60%{opacity:1;-moz-transform:translateY(30px)}80%{-moz-transform:translateY(-10px)}100%{-moz-transform:translateY(0)}}@-o-keyframes bounceInDown{0%{opacity:0;-o-transform:translateY(-2000px)}60%{opacity:1;-o-transform:translateY(30px)}80%{-o-transform:translateY(-10px)}100%{-o-transform:translateY(0)}}@keyframes bounceInDown{0%{opacity:0;transform:translateY(-2000px)}60%{opacity:1;transform:translateY(30px)}80%{transform:translateY(-10px)}100%{transform:translateY(0)}}.bounceInDown{-webkit-animation-name:bounceInDown;-moz-animation-name:bounceInDown;-o-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%{opacity:0;-webkit-transform:translateX(-2000px)}60%{opacity:1;-webkit-transform:translateX(30px)}80%{-webkit-transform:translateX(-10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInLeft{0%{opacity:0;-moz-transform:translateX(-2000px)}60%{opacity:1;-moz-transform:translateX(30px)}80%{-moz-transform:translateX(-10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInLeft{0%{opacity:0;-o-transform:translateX(-2000px)}60%{opacity:1;-o-transform:translateX(30px)}80%{-o-transform:translateX(-10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInLeft{0%{opacity:0;transform:translateX(-2000px)}60%{opacity:1;transform:translateX(30px)}80%{transform:translateX(-10px)}100%{transform:translateX(0)}}.bounceInLeft{-webkit-animation-name:bounceInLeft;-moz-animation-name:bounceInLeft;-o-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%{opacity:0;-webkit-transform:translateX(2000px)}60%{opacity:1;-webkit-transform:translateX(-30px)}80%{-webkit-transform:translateX(10px)}100%{-webkit-transform:translateX(0)}}@-moz-keyframes bounceInRight{0%{opacity:0;-moz-transform:translateX(2000px)}60%{opacity:1;-moz-transform:translateX(-30px)}80%{-moz-transform:translateX(10px)}100%{-moz-transform:translateX(0)}}@-o-keyframes bounceInRight{0%{opacity:0;-o-transform:translateX(2000px)}60%{opacity:1;-o-transform:translateX(-30px)}80%{-o-transform:translateX(10px)}100%{-o-transform:translateX(0)}}@keyframes bounceInRight{0%{opacity:0;transform:translateX(2000px)}60%{opacity:1;transform:translateX(-30px)}80%{transform:translateX(10px)}100%{transform:translateX(0)}}.bounceInRight{-webkit-animation-name:bounceInRight;-moz-animation-name:bounceInRight;-o-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceOut{0%{-webkit-transform:scale(1)}25%{-webkit-transform:scale(0.95)}50%{opacity:1;-webkit-transform:scale(1.1)}100%{opacity:0;-webkit-transform:scale(0.3)}}@-moz-keyframes bounceOut{0%{-moz-transform:scale(1)}25%{-moz-transform:scale(0.95)}50%{opacity:1;-moz-transform:scale(1.1)}100%{opacity:0;-moz-transform:scale(0.3)}}@-o-keyframes bounceOut{0%{-o-transform:scale(1)}25%{-o-transform:scale(0.95)}50%{opacity:1;-o-transform:scale(1.1)}100%{opacity:0;-o-transform:scale(0.3)}}@keyframes bounceOut{0%{transform:scale(1)}25%{transform:scale(0.95)}50%{opacity:1;transform:scale(1.1)}100%{opacity:0;transform:scale(0.3)}}.bounceOut{-webkit-animation-name:bounceOut;-moz-animation-name:bounceOut;-o-animation-name:bounceOut;animation-name:bounceOut}@-webkit-keyframes bounceOutUp{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(20px)}100%{opacity:0;-webkit-transform:translateY(-2000px)}}@-moz-keyframes bounceOutUp{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(20px)}100%{opacity:0;-moz-transform:translateY(-2000px)}}@-o-keyframes bounceOutUp{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(20px)}100%{opacity:0;-o-transform:translateY(-2000px)}}@keyframes bounceOutUp{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(20px)}100%{opacity:0;transform:translateY(-2000px)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;-moz-animation-name:bounceOutUp;-o-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes bounceOutDown{0%{-webkit-transform:translateY(0)}20%{opacity:1;-webkit-transform:translateY(-20px)}100%{opacity:0;-webkit-transform:translateY(2000px)}}@-moz-keyframes bounceOutDown{0%{-moz-transform:translateY(0)}20%{opacity:1;-moz-transform:translateY(-20px)}100%{opacity:0;-moz-transform:translateY(2000px)}}@-o-keyframes bounceOutDown{0%{-o-transform:translateY(0)}20%{opacity:1;-o-transform:translateY(-20px)}100%{opacity:0;-o-transform:translateY(2000px)}}@keyframes bounceOutDown{0%{transform:translateY(0)}20%{opacity:1;transform:translateY(-20px)}100%{opacity:0;transform:translateY(2000px)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;-moz-animation-name:bounceOutDown;-o-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(20px)}100%{opacity:0;-webkit-transform:translateX(-2000px)}}@-moz-keyframes bounceOutLeft{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(20px)}100%{opacity:0;-moz-transform:translateX(-2000px)}}@-o-keyframes bounceOutLeft{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(20px)}100%{opacity:0;-o-transform:translateX(-2000px)}}@keyframes bounceOutLeft{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(20px)}100%{opacity:0;transform:translateX(-2000px)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;-moz-animation-name:bounceOutLeft;-o-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{0%{-webkit-transform:translateX(0)}20%{opacity:1;-webkit-transform:translateX(-20px)}100%{opacity:0;-webkit-transform:translateX(2000px)}}@-moz-keyframes bounceOutRight{0%{-moz-transform:translateX(0)}20%{opacity:1;-moz-transform:translateX(-20px)}100%{opacity:0;-moz-transform:translateX(2000px)}}@-o-keyframes bounceOutRight{0%{-o-transform:translateX(0)}20%{opacity:1;-o-transform:translateX(-20px)}100%{opacity:0;-o-transform:translateX(2000px)}}@keyframes bounceOutRight{0%{transform:translateX(0)}20%{opacity:1;transform:translateX(-20px)}100%{opacity:0;transform:translateX(2000px)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;-moz-animation-name:bounceOutRight;-o-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(-200deg);opacity:0}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateIn{0%{-moz-transform-origin:center center;-moz-transform:rotate(-200deg);opacity:0}100%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateIn{0%{-o-transform-origin:center center;-o-transform:rotate(-200deg);opacity:0}100%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}}@keyframes rotateIn{0%{transform-origin:center center;transform:rotate(-200deg);opacity:0}100%{transform-origin:center center;transform:rotate(0);opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;-moz-animation-name:rotateIn;-o-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpLeft{0%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;-moz-animation-name:rotateInUpLeft;-o-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownLeft{0%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:left bottom;transform:rotate(0);opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;-moz-animation-name:rotateInDownLeft;-o-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInUpRight{0%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;-moz-animation-name:rotateInUpRight;-o-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}}@-moz-keyframes rotateInDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}}@-o-keyframes rotateInDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}100%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}}@keyframes rotateInDownRight{0%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}100%{transform-origin:right bottom;transform:rotate(0);opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;-moz-animation-name:rotateInDownRight;-o-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center center;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:center center;-webkit-transform:rotate(200deg);opacity:0}}@-moz-keyframes rotateOut{0%{-moz-transform-origin:center center;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:center center;-moz-transform:rotate(200deg);opacity:0}}@-o-keyframes rotateOut{0%{-o-transform-origin:center center;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:center center;-o-transform:rotate(200deg);opacity:0}}@keyframes rotateOut{0%{transform-origin:center center;transform:rotate(0);opacity:1}100%{transform-origin:center center;transform:rotate(200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;-moz-animation-name:rotateOut;-o-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutUpLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutUpLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutUpLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(-90deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;-moz-animation-name:rotateOutUpLeft;-o-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:left bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutDownLeft{0%{-moz-transform-origin:left bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:left bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutDownLeft{0%{-o-transform-origin:left bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:left bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutDownLeft{0%{transform-origin:left bottom;transform:rotate(0);opacity:1}100%{transform-origin:left bottom;transform:rotate(90deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;-moz-animation-name:rotateOutDownLeft;-o-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(90deg);opacity:0}}@-moz-keyframes rotateOutUpRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(90deg);opacity:0}}@-o-keyframes rotateOutUpRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(90deg);opacity:0}}@keyframes rotateOutUpRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;-moz-animation-name:rotateOutUpRight;-o-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(0);opacity:1}100%{-webkit-transform-origin:right bottom;-webkit-transform:rotate(-90deg);opacity:0}}@-moz-keyframes rotateOutDownRight{0%{-moz-transform-origin:right bottom;-moz-transform:rotate(0);opacity:1}100%{-moz-transform-origin:right bottom;-moz-transform:rotate(-90deg);opacity:0}}@-o-keyframes rotateOutDownRight{0%{-o-transform-origin:right bottom;-o-transform:rotate(0);opacity:1}100%{-o-transform-origin:right bottom;-o-transform:rotate(-90deg);opacity:0}}@keyframes rotateOutDownRight{0%{transform-origin:right bottom;transform:rotate(0);opacity:1}100%{transform-origin:right bottom;transform:rotate(-90deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;-moz-animation-name:rotateOutDownRight;-o-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes hinge{0%{-webkit-transform:rotate(0);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate(80deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}40%{-webkit-transform:rotate(60deg);-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}80%{-webkit-transform:rotate(60deg) translateY(0);opacity:1;-webkit-transform-origin:top left;-webkit-animation-timing-function:ease-in-out}100%{-webkit-transform:translateY(700px);opacity:0}}@-moz-keyframes hinge{0%{-moz-transform:rotate(0);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}20%,60%{-moz-transform:rotate(80deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}40%{-moz-transform:rotate(60deg);-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}80%{-moz-transform:rotate(60deg) translateY(0);opacity:1;-moz-transform-origin:top left;-moz-animation-timing-function:ease-in-out}100%{-moz-transform:translateY(700px);opacity:0}}@-o-keyframes hinge{0%{-o-transform:rotate(0);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}20%,60%{-o-transform:rotate(80deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}40%{-o-transform:rotate(60deg);-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}80%{-o-transform:rotate(60deg) translateY(0);opacity:1;-o-transform-origin:top left;-o-animation-timing-function:ease-in-out}100%{-o-transform:translateY(700px);opacity:0}}@keyframes hinge{0%{transform:rotate(0);transform-origin:top left;animation-timing-function:ease-in-out}20%,60%{transform:rotate(80deg);transform-origin:top left;animation-timing-function:ease-in-out}40%{transform:rotate(60deg);transform-origin:top left;animation-timing-function:ease-in-out}80%{transform:rotate(60deg) translateY(0);opacity:1;transform-origin:top left;animation-timing-function:ease-in-out}100%{transform:translateY(700px);opacity:0}}.hinge{-webkit-animation-name:hinge;-moz-animation-name:hinge;-o-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}}@-moz-keyframes rollIn{0%{opacity:0;-moz-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}}@-o-keyframes rollIn{0%{opacity:0;-o-transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}}@keyframes rollIn{0%{opacity:0;transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;transform:translateX(0px) rotate(0deg)}}.rollIn{-webkit-animation-name:rollIn;-moz-animation-name:rollIn;-o-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1;-webkit-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-webkit-transform:translateX(100%) rotate(120deg)}}@-moz-keyframes rollOut{0%{opacity:1;-moz-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-moz-transform:translateX(100%) rotate(120deg)}}@-o-keyframes rollOut{0%{opacity:1;-o-transform:translateX(0px) rotate(0deg)}100%{opacity:0;-o-transform:translateX(100%) rotate(120deg)}}@keyframes rollOut{0%{opacity:1;transform:translateX(0px) rotate(0deg)}100%{opacity:0;transform:translateX(100%) rotate(120deg)}}.rollOut{-webkit-animation-name:rollOut;-moz-animation-name:rollOut;-o-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-webkit-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-webkit-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}}@-moz-keyframes lightSpeedIn{0%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-moz-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-moz-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}}@-o-keyframes lightSpeedIn{0%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}60%{-o-transform:translateX(-20%) skewX(30deg);opacity:1}80%{-o-transform:translateX(0%) skewX(-15deg);opacity:1}100%{-o-transform:translateX(0%) skewX(0deg);opacity:1}}@keyframes lightSpeedIn{0%{transform:translateX(100%) skewX(-30deg);opacity:0}60%{transform:translateX(-20%) skewX(30deg);opacity:1}80%{transform:translateX(0%) skewX(-15deg);opacity:1}100%{transform:translateX(0%) skewX(0deg);opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;-moz-animation-name:lightSpeedIn;-o-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;-moz-animation-timing-function:ease-out;-o-animation-timing-function:ease-out;animation-timing-function:ease-out}.animated.lightSpeedIn{-webkit-animation-duration:.5s;-moz-animation-duration:.5s;-o-animation-duration:.5s;animation-duration:.5s}@-webkit-keyframes lightSpeedOut{0%{-webkit-transform:translateX(0%) skewX(0deg);opacity:1}100%{-webkit-transform:translateX(100%) skewX(-30deg);opacity:0}}@-moz-keyframes lightSpeedOut{0%{-moz-transform:translateX(0%) skewX(0deg);opacity:1}100%{-moz-transform:translateX(100%) skewX(-30deg);opacity:0}}@-o-keyframes lightSpeedOut{0%{-o-transform:translateX(0%) skewX(0deg);opacity:1}100%{-o-transform:translateX(100%) skewX(-30deg);opacity:0}}@keyframes lightSpeedOut{0%{transform:translateX(0%) skewX(0deg);opacity:1}100%{transform:translateX(100%) skewX(-30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;-moz-animation-name:lightSpeedOut;-o-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.lightSpeedOut{-webkit-animation-duration:.25s;-moz-animation-duration:.25s;-o-animation-duration:.25s;animation-duration:.25s}@-webkit-keyframes wiggle{0%{-webkit-transform:skewX(9deg)}10%{-webkit-transform:skewX(-8deg)}20%{-webkit-transform:skewX(7deg)}30%{-webkit-transform:skewX(-6deg)}40%{-webkit-transform:skewX(5deg)}50%{-webkit-transform:skewX(-4deg)}60%{-webkit-transform:skewX(3deg)}70%{-webkit-transform:skewX(-2deg)}80%{-webkit-transform:skewX(1deg)}100%,90%{-webkit-transform:skewX(0deg)}}@-moz-keyframes wiggle{0%{-moz-transform:skewX(9deg)}10%{-moz-transform:skewX(-8deg)}20%{-moz-transform:skewX(7deg)}30%{-moz-transform:skewX(-6deg)}40%{-moz-transform:skewX(5deg)}50%{-moz-transform:skewX(-4deg)}60%{-moz-transform:skewX(3deg)}70%{-moz-transform:skewX(-2deg)}80%{-moz-transform:skewX(1deg)}100%,90%{-moz-transform:skewX(0deg)}}@-o-keyframes wiggle{0%{-o-transform:skewX(9deg)}10%{-o-transform:skewX(-8deg)}20%{-o-transform:skewX(7deg)}30%{-o-transform:skewX(-6deg)}40%{-o-transform:skewX(5deg)}50%{-o-transform:skewX(-4deg)}60%{-o-transform:skewX(3deg)}70%{-o-transform:skewX(-2deg)}80%{-o-transform:skewX(1deg)}100%,90%{-o-transform:skewX(0deg)}}@keyframes wiggle{0%{transform:skewX(9deg)}10%{transform:skewX(-8deg)}20%{transform:skewX(7deg)}30%{transform:skewX(-6deg)}40%{transform:skewX(5deg)}50%{transform:skewX(-4deg)}60%{transform:skewX(3deg)}70%{transform:skewX(-2deg)}80%{transform:skewX(1deg)}100%,90%{transform:skewX(0deg)}}.wiggle{-webkit-animation-name:wiggle;-moz-animation-name:wiggle;-o-animation-name:wiggle;animation-name:wiggle;-webkit-animation-timing-function:ease-in;-moz-animation-timing-function:ease-in;-o-animation-timing-function:ease-in;animation-timing-function:ease-in}.animated.wiggle{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s}body{max-width:2000px;margin:0 auto}.browsehappy{margin:.2em 0;background:orange;color:#fff;padding:.2em 0}#navigation{margin-top:30px}#navigation ul{list-style:none;max-width:400px;marghomein:0 auto}#navigation li{display:inline-block;padding:0 15px}#navigation h1{text-align:center;font-family:"Droid Sans Mono",monospace;margin-bottom:15px;color:#36535a;font-size:35px}@media (min-width:768px){#navigation ul{float:right;margin:33px 0}#navigation h1{float:left}}#navigation a{text-decoration:none;font-size:15px;color:#3b3b3b}.page-title{text-align:center;font-size:35px}@media (min-width:768px){.page-title{font-size:50px}}.btn-cta{-webkit-transition:all .3s;transition:all .3s;padding:10px 50px;border:2px solid #e96e57;font-size:20px;color:#e96e57;border-radius:10px;display:inline-block;text-decoration:none}.btn-cta:hover{text-decoration:none;border-color:#36535a;color:#36535a}.wrapper{margin:0 auto;max-width:1100px;padding-left:35px;padding-right:35px}.wrapper:after,.wrapper:before{content:" ";display:table}.wrapper:after{clear:both}@media (min-width:768px){.wrapper{width:790px}}@media (min-width:992px){.wrapper{width:1010px}}@media (min-width:1200px){.wrapper{width:1210px}}img{max-width:100%;margin:0 auto}a{text-decoration:underline;color:#36535a}a:hover{text-decoration:none;color:inherit}::selection{background:#e96e57}::-moz-selection{background:#e96e57}#home{text-align:center}#home .page-title{font-size:30px}@media (min-width:768px){#home{padding:50px}#home .page-title{font-size:45px;margin-top:-20px;margin-bottom:20px}}#home .btn-home{margin:50px 0 25px}#web,.terminal{word-wrap:break-word;font-size:12px;padding:25px 0 0 10px;font-family:"Droid Sans Mono",monospace;text-align:left;color:#fff;-webkit-transition:all .3s ease;transition:all .3s ease}#web .code-title,.terminal .code-title{color:#e96e57}@media (min-width:768px){#web,.terminal{padding:25px 0 0 20px;font-size:15px}}#web code,.terminal code{font-family:"Droid Sans Mono",monospace}#web{margin-top:-2px;padding-top:0;padding-bottom:50px;width:100%;display:block;background:#36535a;-webkit-transition:all .3s ease;transition:all .3s ease;border-bottom-right-radius:5px;border-bottom-left-radius:5px}#web .btn-cta{padding:5px 10px;font-size:14px;border-color:#fff}#web .queue{margin:0;list-style:none;padding:0}#web a{color:#fff}.dragged{background:#40626a!important}.terminal{border-radius:0 0 5px 5px;background:0 0/cover #36535a;backbground-repeat:no-repeat}.terminal a{color:#fff}.terminal-top{border-top-right-radius:5px;border-top-left-radius:5px;background:url(../images/terminal-top.svg) 0 0/cover no-repeat;height:30px}.upload-progress{max-width:80%;padding-top:4px}.upload-progress .bar{word-wrap:normal;overflow:hidden}.upload-progress span{float:right}.all-files{display:none}.all-files .show{display:block}#features{background:#f6f8f8;text-align:center;padding:100px 0}#features h3{margin-top:-20px;font-size:25px;line-height:1.2}#features p{font-size:18px}#features i{color:#85b5bb;font-size:100px}#samples{padding:75px 0;text-align:center}#samples h4{margin-top:30px}#samples .btn-cta{margin:30px 0;cursor:pointer}#samples h4{text-align:left}#samples .terminal{padding:20px 15px;font-size:13px;min-height:230px}#share{text-align:center;background:#85b5bb;color:#fff;padding:75px 0}#share i{font-size:50px}#share ul{margin-top:30px;list-style:none;padding:0}#share li{margin:0 20px;display:inline-block}#share a{color:#fff;text-decoration:none}#github{text-align:center;padding:50px 0}#tor{text-align:center;background:#f6f8f8;padding:50px 0}#tor img{max-width:100px;margin:0 auto 10px}#tor a{font-size:20px}footer{text-align:center;background:#36535a;padding:30px 0;color:#fff}footer p{margin:0}footer i{color:#e96e57}footer a{color:#f6f8f8}footer img{max-height:40px;margin-bottom:30px}#contact{text-align:center;padding:150px 0}#contact i{font-size:160px;color:#85b5bb}@media (min-width:768px){#contact i{font-size:160px}}#contact h2{margin-top:-50px;margin-bottom:40px}#reviews{background:#f6f8f8;padding:130px 0}#reviews .twitter-profile{float:left;display:block;height:90px;border-radius:10px;margin:3px 15px auto 20px}blockquote.twitter-tweet{display:inline-block;font-size:15px;line-height:20px;margin:10px 5px;padding:0 16px 16px;text-align:right;border:0}blockquote.twitter-tweet img{margin:0 auto}@media (max-width:480px){blockquote.twitter-tweet .twitter-profile{display:none!important}}blockquote.twitter-tweet p{font-size:17px;font-weight:400;line-height:20px;text-align:left}blockquote.twitter-tweet a{color:inherit;font-weight:400;text-decoration:none;outline:0}blockquote.tweet-xl p{font-size:22px;line-height:25px}blockquote.tweet-xl a{font-size:22px}@media (max-width:480px){blockquote.tweet-xl a,blockquote.tweet-xl p{font-size:17px}}@font-face{font-family:transfersh;src:url(../fonts/transfersh.eot);src:url(../fonts/transfersh.eot?#iefix) format("embedded-opentype"),url(../fonts/transfersh.woff) format("woff"),url(../fonts/transfersh.ttf) format("truetype"),url(../fonts/transfersh.svg#transfersh) format("svg");font-weight:400;font-style:normal}[data-icon]:before{font-family:transfersh!important;content:attr(data-icon);font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[class*=" icon-"]:before,[class^=icon-]:before{font-family:transfersh!important;font-style:normal!important;font-weight:400!important;font-variant:normal!important;text-transform:none!important;speak:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-terminal:before{content:"a"}.icon-share:before{content:"b"}.icon-clock:before{content:"g"}.icon-tag:before{content:"c"}.icon-upload-cloud:before{content:"m"}.icon-mail:before{content:"j"}.icon-gauge:before{content:"k"}.icon-lock:before{content:"h"}.icon-database:before{content:"i"}.icon-heart:before{content:"e"}.icon-link:before{content:"d"}.icon-facebook:before{content:"l"}.icon-twitter:before{content:"n"}.icon-linkedin:before{content:"o"}.icon-gplus:before{content:"p"}.preview-wrapper{padding-bottom:30px}html{min-height:100%}#download{position:static}#download footer{bottom:0;left:0;width:100%;position:absolute;z-index:-1}.preview-image{padding:0}.preview-image img{margin:0 auto;display:block;max-width:800px;max-width:100%}.overlay{position:fixed;z-index:100;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.1);visibility:hidden;opacity:0;transition:opacity .2s ease}.active .overlay{visibility:visible;opacity:1}.copy-link-wrapper{z-index:200;padding:2em;position:fixed;width:50%;max-width:500px;min-width:300px;background-color:#85b5bb;border-radius:2px;transform:translateX(-50%) translateY(-50%);transition:opacity .2s ease;clip:rect(1px 1px 1px 1px);opacity:0;top:-9999999px;left:-9999999px}.active .copy-link-wrapper{clip:auto;opacity:1;top:50%;left:50%}.copy-link-wrapper p{font-size:20px;color:#fff}.copy-link-wrapper input{background-color:#f6f8f8;color:#3b3b3b;border:0;font-size:1em;padding:1em;margin:0;width:100%;border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.copy-link-wrapper .error{text-align:center;color:#E7483B;display:block;padding:.5em}#md-preview{padding-bottom:30px}video{margin:0 auto}.wrap{width:40%;height:40%;margin:20px auto}video{width:100%}video::-webkit-media-controls-enclosure{padding:0;height:50px}video::-webkit-media-controls-panel{opacity:1!important;display:-webkit-flex!important;margin-top:50px;height:50px;background-color:#36535a;border-radius:0 0 10px 10px}video::-webkit-media-controls-timeline{height:12px;padding:0;border:0}video::-webkit-media-controls-timeline,video::-webkit-media-controls-volume-slider{height:12px;border-radius:5px;min-width:15px}video::-webkit-media-controls-timeline::-webkit-media-slider-container,video::-webkit-media-controls-volume-slider::-webkit-media-slider-container{border:0;border-radius:5px;background-color:#85b5bb;cursor:pointer}::-webkit-media-slider-thumb{-webkit-appearance:none;background:red}video::-webkit-media-controls-play-button{cursor:pointer}video::-webkit-media-controls-play-button:hover{-ms-filter:"alpha(Opacity=70)";filter:alpha(Opacity=70);opacity:.7}video::-webkit-media-controls-fullscreen-button{-webkit-appearance:none;background-color:transparent;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAABACAYAAADF2C3zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3MDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3MTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQyQkE2QUZGNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQyQkE2QjAwNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1z7uaAAAAVhJREFUeNrsljFuAjEQRb3ACZByii2pECmgySFIGoiUGsEKiaQAimwTToCggSYSNUoJHSfgFJwhMt9oHBlj8Ga2SAqP9KQV7PPY4y1+9PDYEZ4agaHrj4Lwl5LHXFkvsOXKatt1jjykzrq2WeW+Jb6Bhp5BySOvQQLuaKEPYwYnOQLSkpTwBfbUqQam9hDVtieOyaoOGxDTAtNrV9UFqTEc/UGUQeXWmfSZB6BqXMc3aIFlFllY4hP49N2h66p2YJXly3HJ92ABihxZVRPM6BqvViSlFNwqiBwV5CAHOchBDnKQ/5/si4/iOUn5YX0+ec0X1mkBXljH1nlhncTfh3WIF2EdR/gJ677OKqwfdOqHmJ4Nsd17PwU5E/yWgJieY/Biv6MoUVjvOe61j+cGuuwpsLvDOl5KjeFkDusRtiSNKZ6FdXTlhXWIfxTWcf58YR0L3AzrRwEGAJoOgCMfh6hiAAAAAElFTkSuQmCC);background-size:16px 64px;background-position:center 8px;background-repeat:no-repeat}video::-webkit-media-controls-mute-button{-webkit-appearance:none;background-color:transparent;cursor:pointer;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABACAYAAAATffeWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3NDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3NTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY3RDUyMDcyNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY3RDUyMDczNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Gp0GRAAAATdJREFUeNpidIsuYMABwoF4BhCvB+IkXIqYcIj7APEiIBYA4jg0OREgLsJnQAgQrwJiNiifGU3eFIi7gDgPxGEBYnYg1gBiDqizQX5ixOEyCyDeC8SNQNwJxJtABuwHYksGwoAR6q3tQFwKxGlAnMtEpGYQ+A+1NROI+aDedGdiIA2sAWJWaDhcBGIVUg1ABqz4ohEXAMXQbyA+DcRaQHwHZMBxIjWDArEcmrg+AXEYEO8ExYIjUjRGQuOXEUcgghLVOahBoAQ1GWTAT2iAgMBJID4BxPOhBqIDkJwnENcDcQkQP8AWBiuAOBiIf0H5f9HkT0NdMAFfIG4D4gggfgtNPMjgDRD3wgPm////DJSAUQNGDRg1YNSAUQNGDRg1YNSA4WhAUnHraI9ltMcy2mMZDD0WgAADADYlybDQKXdAAAAAAElFTkSuQmCC);background-size:16px 64px;background-position:center 8px;background-repeat:no-repeat}video::-webkit-media-controls-fullscreen-button:hover{-webkit-appearance:none;background-position:center -42px}video::-webkit-media-controls-mute-button:hover{-webkit-appearance:none;background-position:center -43px}video::-webkit-media-controls-current-time-display,video::-webkit-media-controls-time-remaining-display{font-size:13px;font-weight:400}
\ No newline at end of file
diff --git a/transfersh-server/storage.go b/transfersh-server/storage.go
index f6631c6..ac6aecf 100644
--- a/transfersh-server/storage.go
+++ b/transfersh-server/storage.go
@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"github.com/goamz/goamz/s3"
 	"io"
+	"mime"
 	"os"
 	"path/filepath"
 	"strconv"
@@ -11,6 +12,7 @@ import (
 
 type Storage interface {
 	Get(token string, filename string) (reader io.ReadCloser, contentType string, contentLength uint64, err error)
+	Head(token string, filename string) (contentType string, contentLength uint64, err error)
 	Put(token string, filename string, reader io.Reader, contentType string, contentLength uint64) error
 }
 
@@ -23,6 +25,21 @@ func NewLocalStorage(basedir string) (*LocalStorage, error) {
 	return &LocalStorage{basedir: basedir}, nil
 }
 
+func (s *LocalStorage) Head(token string, filename string) (contentType string, contentLength uint64, err error) {
+	path := filepath.Join(s.basedir, token, filename)
+
+	var fi os.FileInfo
+	if fi, err = os.Lstat(path); err != nil {
+		return
+	}
+
+	contentLength = uint64(fi.Size())
+
+	contentType = mime.TypeByExtension(filepath.Ext(filename))
+
+	return
+}
+
 func (s *LocalStorage) Get(token string, filename string) (reader io.ReadCloser, contentType string, contentLength uint64, err error) {
 	path := filepath.Join(s.basedir, token, filename)
 
@@ -33,11 +50,12 @@ func (s *LocalStorage) Get(token string, filename string) (reader io.ReadCloser,
 
 	var fi os.FileInfo
 	if fi, err = os.Lstat(path); err != nil {
+		return
 	}
 
 	contentLength = uint64(fi.Size())
 
-	contentType = ""
+	contentType = mime.TypeByExtension(filepath.Ext(filename))
 
 	return
 }
@@ -80,13 +98,39 @@ func NewS3Storage() (*S3Storage, error) {
 	return &S3Storage{bucket: bucket}, nil
 }
 
+func (s *S3Storage) Head(token string, filename string) (contentType string, contentLength uint64, err error) {
+	key := fmt.Sprintf("%s/%s", token, filename)
+
+	// content type , content length
+	response, err := s.bucket.Head(key, map[string][]string{})
+	if err != nil {
+		return
+	}
+
+	contentType = response.Header.Get("Content-Type")
+
+	contentLength, err = strconv.ParseUint(response.Header.Get("Content-Length"), 10, 0)
+	if err != nil {
+		return
+	}
+
+	return
+}
+
 func (s *S3Storage) Get(token string, filename string) (reader io.ReadCloser, contentType string, contentLength uint64, err error) {
 	key := fmt.Sprintf("%s/%s", token, filename)
 
 	// content type , content length
 	response, err := s.bucket.GetResponse(key)
-	contentType = ""
+	if err != nil {
+		return
+	}
+
+	contentType = response.Header.Get("Content-Type")
 	contentLength, err = strconv.ParseUint(response.Header.Get("Content-Length"), 10, 0)
+	if err != nil {
+		return
+	}
 
 	reader = response.Body
 	return
diff --git a/transfersh-server/utils.go b/transfersh-server/utils.go
index 9f668f6..c5afb37 100644
--- a/transfersh-server/utils.go
+++ b/transfersh-server/utils.go
@@ -27,8 +27,11 @@ package main
 import (
 	"github.com/goamz/goamz/aws"
 	"github.com/goamz/goamz/s3"
+	"github.com/golang/gddo/httputil/header"
+	"math"
 	"net/http"
 	"net/mail"
+	"strconv"
 	"strings"
 	"time"
 )
@@ -44,6 +47,163 @@ func getBucket() (*s3.Bucket, error) {
 	return b, nil
 }
 
+func formatNumber(format string, s uint64) string {
+
+	return RenderFloat(format, float64(s))
+}
+
+var renderFloatPrecisionMultipliers = [10]float64{
+	1,
+	10,
+	100,
+	1000,
+	10000,
+	100000,
+	1000000,
+	10000000,
+	100000000,
+	1000000000,
+}
+
+var renderFloatPrecisionRounders = [10]float64{
+	0.5,
+	0.05,
+	0.005,
+	0.0005,
+	0.00005,
+	0.000005,
+	0.0000005,
+	0.00000005,
+	0.000000005,
+	0.0000000005,
+}
+
+func RenderFloat(format string, n float64) string {
+	// Special cases:
+	// NaN = "NaN"
+	// +Inf = "+Infinity"
+	// -Inf = "-Infinity"
+	if math.IsNaN(n) {
+		return "NaN"
+	}
+	if n > math.MaxFloat64 {
+		return "Infinity"
+	}
+	if n < -math.MaxFloat64 {
+		return "-Infinity"
+	}
+
+	// default format
+	precision := 2
+	decimalStr := "."
+	thousandStr := ","
+	positiveStr := ""
+	negativeStr := "-"
+
+	if len(format) > 0 {
+		// If there is an explicit format directive,
+		// then default values are these:
+		precision = 9
+		thousandStr = ""
+
+		// collect indices of meaningful formatting directives
+		formatDirectiveChars := []rune(format)
+		formatDirectiveIndices := make([]int, 0)
+		for i, char := range formatDirectiveChars {
+			if char != '#' && char != '0' {
+				formatDirectiveIndices = append(formatDirectiveIndices, i)
+			}
+		}
+
+		if len(formatDirectiveIndices) > 0 {
+			// Directive at index 0:
+			// Must be a '+'
+			// Raise an error if not the case
+			// index: 0123456789
+			// +0.000,000
+			// +000,000.0
+			// +0000.00
+			// +0000
+			if formatDirectiveIndices[0] == 0 {
+				if formatDirectiveChars[formatDirectiveIndices[0]] != '+' {
+					panic("RenderFloat(): invalid positive sign directive")
+				}
+				positiveStr = "+"
+				formatDirectiveIndices = formatDirectiveIndices[1:]
+			}
+
+			// Two directives:
+			// First is thousands separator
+			// Raise an error if not followed by 3-digit
+			// 0123456789
+			// 0.000,000
+			// 000,000.00
+			if len(formatDirectiveIndices) == 2 {
+				if (formatDirectiveIndices[1] - formatDirectiveIndices[0]) != 4 {
+					panic("RenderFloat(): thousands separator directive must be followed by 3 digit-specifiers")
+				}
+				thousandStr = string(formatDirectiveChars[formatDirectiveIndices[0]])
+				formatDirectiveIndices = formatDirectiveIndices[1:]
+			}
+
+			// One directive:
+			// Directive is decimal separator
+			// The number of digit-specifier following the separator indicates wanted precision
+			// 0123456789
+			// 0.00
+			// 000,0000
+			if len(formatDirectiveIndices) == 1 {
+				decimalStr = string(formatDirectiveChars[formatDirectiveIndices[0]])
+				precision = len(formatDirectiveChars) - formatDirectiveIndices[0] - 1
+			}
+		}
+	}
+
+	// generate sign part
+	var signStr string
+	if n >= 0.000000001 {
+		signStr = positiveStr
+	} else if n <= -0.000000001 {
+		signStr = negativeStr
+		n = -n
+	} else {
+		signStr = ""
+		n = 0.0
+	}
+
+	// split number into integer and fractional parts
+	intf, fracf := math.Modf(n + renderFloatPrecisionRounders[precision])
+
+	// generate integer part string
+	intStr := strconv.Itoa(int(intf))
+
+	// add thousand separator if required
+	if len(thousandStr) > 0 {
+		for i := len(intStr); i > 3; {
+			i -= 3
+			intStr = intStr[:i] + thousandStr + intStr[i:]
+		}
+	}
+
+	// no fractional part, we can leave now
+	if precision == 0 {
+		return signStr + intStr
+	}
+
+	// generate fractional part
+	fracStr := strconv.Itoa(int(fracf * renderFloatPrecisionMultipliers[precision]))
+	// may need padding
+	if len(fracStr) < precision {
+		fracStr = "000000000000000"[:precision-len(fracStr)] + fracStr
+	}
+
+	return signStr + intStr + decimalStr + fracStr
+}
+
+func RenderInteger(format string, n int) string {
+	return RenderFloat(format, float64(n))
+}
+
 // Request.RemoteAddress contains port, which we want to remove i.e.:
 // "[::1]:58292" => "[::1]"
 func ipAddrFromRemoteAddr(s string) string {
@@ -78,3 +238,15 @@ func encodeRFC2047(String string) string {
 	addr := mail.Address{String, ""}
 	return strings.Trim(addr.String(), " <>")
 }
+
+func acceptsHtml(hdr http.Header) bool {
+	actual := header.ParseAccept(hdr, "Accept")
+
+	for _, s := range actual {
+		if s.Value == "text/html" {
+			return (true)
+		}
+	}
+
+	return (false)
+}
diff --git a/transfersh-web/download.audio.html b/transfersh-web/download.audio.html
new file mode 100644
index 0000000..9f668de
--- /dev/null
+++ b/transfersh-web/download.audio.html
@@ -0,0 +1,47 @@
+
+
+</html>
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+include "includes/head.html"
+
+<body  id="download">
+
+    include "includes/ga.html"
+    include "includes/navigation.html"
+    
+
+    <section id="home">
+        <div class="wrapper">
+    
+            include "includes/download-top.html"
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                            <audio controls>
+                        <source src="{{.Url}}" type="{{.ContentType}}">
+                    </audio>
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+
+    </section>
+
+    include "includes/footer.html" 
+    include "includes/js.html"
+
+</body>
+
+</html>
diff --git a/transfersh-web/download.code.html b/transfersh-web/download.code.html
new file mode 100644
index 0000000..fd2f4ce
--- /dev/null
+++ b/transfersh-web/download.code.html
@@ -0,0 +1,143 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>{{.Filename}} - transfer.sh</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="styles/main.css">
+
+    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400' rel='stylesheet' type='text/css'>
+    <link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <!-- build:js scripts/vendor/modernizr.js -->
+    <script src="bower_components/modernizr/modernizr.js"></script>
+    <!-- endbuild -->
+</head>
+
+<body  id="download">
+    <script>
+    (function(i, s, o, g, r, a, m) {
+        i['GoogleAnalyticsObject'] = r;
+        i[r] = i[r] || function() {
+            (i[r].q = i[r].q || []).push(arguments)
+        }, i[r].l = 1 * new Date();
+        a = s.createElement(o),
+            m = s.getElementsByTagName(o)[0];
+        a.async = 1;
+        a.src = g;
+        m.parentNode.insertBefore(a, m)
+    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
+
+    <div id="navigation">
+        <div class="wrapper">
+            <h1>transfer.sh</h1>
+            <ul class="hidden-xs">
+                <li><a href="#samples">sample use cases</a>
+                </li>
+                <li><a href="#contact">contact us</a>
+                </li>
+            </ul>
+        </div>
+    </div>
+
+<section id="home">
+    <div class="wrapper">
+        <h2>
+            {{.Filename}}</h2>
+        <a href="{{.Url}}"></a>
+        <div class="row animated fadeInDown">
+            <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                <div class="terminal-top">
+
+                </div>
+                <div id="terminal" class="terminal">
+                    <div id="code"></div>
+                </div>
+
+
+
+            </div>
+
+        </div>
+
+    <div>
+        <a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> &nbsp;&nbsp;
+        <a href="{{.Url}}" class="btn-cta btn"> download</i> </a>
+        <div id="copy-link-wrapper" class="copy-link-wrapper">
+            <p>Press Ctrl / CMD + C to copy link to your clipboard.</p>
+            <input readonly="readonly" type="text" value="{{.Url}}" />
+        </div>
+        <div id="overlay" class="overlay"></div>
+    </div>
+        <script src="scripts/clipboard.js"></script>
+
+</section>
+
+
+    <script>
+    (function() {
+        var uv = document.createElement('script');
+        uv.type = 'text/javascript';
+        uv.async = true;
+        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+        var s = document.getElementsByTagName('script')[0];
+        s.parentNode.insertBefore(uv, s)
+    })()
+    </script>
+
+    <!--[if lt IE 7]>
+      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+    <![endif]-->
+
+    <script>
+    (function(b, o, i, l, e, r) {
+        b.GoogleAnalyticsObject = l;
+        b[l] || (b[l] =
+            function() {
+                (b[l].q = b[l].q || []).push(arguments)
+            });
+        b[l].l = +new Date;
+        e = o.createElement(i);
+        r = o.getElementsByTagName(i)[0];
+        e.src = '//www.google-analytics.com/analytics.js';
+        r.parentNode.insertBefore(e, r)
+    }(window, document, 'script', 'ga'));
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
+
+        <!-- build:js scripts/main.js -->
+        <script src="bower_components/jquery/dist/jquery.js"></script>
+        <script src="bower_components/uri.js/src/URI.min.js"></script>
+        <script src="bower_components/bootstrap/js/transition.js"></script>
+        <script src="bower_components/bootstrap/js/collapse.js"></script>
+        <script src="/scripts/showdown.js"></script>
+        <script src="/scripts/main.js"></script>
+        <!-- endbuild -->
+        
+    <script>
+
+    var text = "# Markdown *works*.";
+
+    var converter = new Showdown.converter();
+    var html = converter.makeHtml(text);
+    $('#md-preview').append(html);
+
+    </script>
+
+
+</body>
+
+</html>
diff --git a/transfersh-web/download.html b/transfersh-web/download.html
new file mode 100644
index 0000000..30574fa
--- /dev/null
+++ b/transfersh-web/download.html
@@ -0,0 +1,31 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+include "includes/head.html"
+
+<body  id="download">
+
+    include "includes/ga.html"
+    include "includes/navigation.html"
+
+   
+<section id="home">
+    <div class="wrapper">
+    
+      include "includes/download-top.html"
+    </div>
+</section>
+    
+    include "includes/footer.html" 
+   include "includes/js.html"
+    
+
+
+</body>
+
+</html>
diff --git a/transfersh-web/download.image.html b/transfersh-web/download.image.html
new file mode 100644
index 0000000..2b5f6d5
--- /dev/null
+++ b/transfersh-web/download.image.html
@@ -0,0 +1,41 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+include "includes/head.html"
+
+<body  id="download">
+
+    include "includes/ga.html"
+    include "includes/navigation.html"
+
+    <section id="home">
+        <div class="wrapper">
+
+    include "includes/download-top.html"
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                        <img src="{{.Url}}"  alt="">
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+    <div>
+    </section>
+
+    include "includes/footer.html" 
+    include "includes/js.html"
+
+</body>
+
+</html>
diff --git a/transfersh-web/download.markdown.html b/transfersh-web/download.markdown.html
new file mode 100644
index 0000000..58ea546
--- /dev/null
+++ b/transfersh-web/download.markdown.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+include "includes/head.html"
+
+<body  id="download">
+
+    include "includes/ga.html"
+    include "includes/navigation.html"
+
+<section id="home">
+    <div class="wrapper">
+
+        include "includes/download-top.html"
+
+        <div class="row animated fadeInDown">
+            <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                <div class="terminal-top">
+                </div>
+                <div id="terminal" class="terminal">
+                    <div id="md-preview">{{.Content}}</div>
+                </div>
+            </div>
+        </div>
+    <br/>
+
+</section>
+
+
+    include "includes/footer.html" 
+    include "includes/js.html"
+</body>
+
+</html>
diff --git a/transfersh-web/download.video.html b/transfersh-web/download.video.html
new file mode 100644
index 0000000..aead671
--- /dev/null
+++ b/transfersh-web/download.video.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
+<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
+<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
+<!--[if gt IE 8]><!-->
+<html class="no-js">
+<!--<![endif]-->
+
+include "includes/head.html"
+
+<body  id="download">
+
+    include "includes/ga.html"
+    include "includes/navigation.html"
+    
+
+    <section id="home">
+        <div class="wrapper">
+    
+            include "includes/download-top.html"
+
+            <div class="row animated fadeInDown">
+                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                    <div class="terminal-top">
+
+                    </div>
+                    <div id="terminal" class="terminal preview-image">
+                        <video  controls>
+                            <source src="{{.Url}}" type="{{.ContentType}}">
+                        </video>
+                    </div>
+                </div>
+            </div>
+            <br/>
+            <div>
+
+    </section>
+
+    include "includes/footer.html" 
+    include "includes/js.html"
+
+</body>
+
+</html>
diff --git a/transfersh-web/images/bitcoin.png b/transfersh-web/images/bitcoin.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ef580d971214d0eaacfd448903427cc7e133987
GIT binary patch
diff --git a/transfersh-web/images/terminal-top.svg b/transfersh-web/images/terminal-top.svg
index 82f7ec7..a192e3f 100644
--- a/transfersh-web/images/terminal-top.svg
+++ b/transfersh-web/images/terminal-top.svg
@@ -45,14 +45,14 @@
     </rdf:RDF>
   </metadata>
   <g
-     transform="translate(-93.957497,-365.26607)"
+     transform="matrix(1,0,0,0.94456233,-93.957497,-345.57658)"
      id="layer1">
     <path
-       d="m 85.371201,355.16455 789.901059,0 0,49.98291 -789.901059,0 z"
+       d="m 93.957497,365.85895 750.000003,0 0,31.76074 -750.000003,0 z"
        id="rect4487"
        style="fill:#85b5bb;fill-opacity:1;stroke:none" />
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.446)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9192)"
        id="g24"
        style="fill:#ff7050">
       <g
@@ -78,7 +78,7 @@
       </g>
     </g>
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1453.507)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-114.5591,1454.9802)"
        id="g40"
        style="fill:#ffed5d">
       <g
@@ -104,7 +104,7 @@
       </g>
     </g>
     <g
-       transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1453.4765)"
+       transform="matrix(1.4512649,0,0,-1.4512649,-115.0147,1454.9497)"
        id="g56"
        style="fill:#93de7f">
       <g
diff --git a/transfersh-web/images/tor.svg b/transfersh-web/images/tor.svg
new file mode 100644
index 0000000..3a763c9
--- /dev/null
+++ b/transfersh-web/images/tor.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" width="380" height="290" viewBox="0 0 380.00001 289.99999" id="图层_1" xml:space="preserve"><metadata id="metadata2611"><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs id="defs2609" />
+
+<g transform="translate(-58.124001,-45.284749)" id="layer1"><path d="M 50.75,238.46875 C 50.74767,240.51542 50.75067,242.54542 50.75,244.59375 L 58.5625,244.59375 L 58.5625,263.71875 L 66.1875,263.71875 L 66.1875,244.59375 L 73.96875,244.59375 L 73.96875,238.46875 L 50.75,238.46875 z M 115.78125,238.46875 L 115.78125,263.71875 L 123.4375,263.71875 L 123.4375,254.3125 C 125.77166,254.26006 128.12573,254.46829 130.4375,254.0625 C 133.43015,253.61607 135.96405,251.18201 136.46875,248.1875 C 137.01255,245.29331 136.52883,241.81443 134.0625,239.90625 C 131.78087,238.23859 128.83652,238.49113 126.15625,238.46875 L 115.78125,238.46875 z M 181.75,238.46875 L 181.75,243.25 L 188.5625,243.25 L 188.5625,238.46875 L 181.75,238.46875 z M 249.46875,238.46875 L 242.65625,242 L 242.65625,245.4375 L 240.1875,245.4375 L 240.1875,250.46875 L 242.65625,250.46875 L 242.65625,252.65625 C 242.70624,255.21642 242.47421,257.81014 242.9375,260.34375 C 243.05668,261.78997 244.18591,262.93333 245.40625,263.59375 C 248.04288,264.55411 250.90487,264.05409 253.5625,263.4375 L 253.09375,259.25 C 253.23483,258.27274 252.26229,258.9884 251.6875,259 C 250.62775,259.38851 249.37429,258.76458 249.5,257.53125 C 249.44651,255.1859 249.48339,252.81534 249.46875,250.46875 L 253.3125,250.46875 L 253.3125,245.4375 L 249.46875,245.4375 L 249.46875,238.46875 z M 123.4375,243.53125 C 124.93468,243.60074 126.49451,243.29466 127.90625,243.9375 C 129.54076,244.71485 129.75122,247.1681 128.4375,248.34375 C 127.3731,249.32992 125.83906,249.09707 124.5,249.125 C 124.18831,249.03964 123.53064,249.30392 123.4375,249 L 123.4375,243.53125 z M 83.09375,244.875 C 80.20859,244.8275 77.22027,245.81868 75.3125,248.0625 C 73.5522,249.94861 72.88908,252.62887 73.03125,255.15625 C 73.08077,257.68011 74.09823,260.23861 76.125,261.8125 C 78.81274,264.10451 82.64182,264.48951 86,263.84375 C 88.82917,263.28233 91.42955,261.43611 92.59375,258.75 C 94.17919,255.14195 93.6751,250.50727 90.84375,247.65625 C 88.83195,245.61668 85.87085,244.93229 83.09375,244.875 z M 108.375,244.875 C 107.419,244.875 106.58925,245.1415 105.90625,245.6875 C 105.22325,246.0965 104.683,247.05225 104,248.28125 L 104,245.4375 L 97.59375,245.4375 L 97.59375,263.71875 L 104.5625,263.71875 L 104.5625,257.5625 C 104.5625,254.5585 104.817,252.6555 105.5,251.5625 C 106.046,250.7435 106.7315,250.34375 107.6875,250.34375 C 108.0985,250.34375 108.77375,250.602 109.59375,250.875 L 111.65625,245.96875 C 110.42725,245.28575 109.331,244.875 108.375,244.875 z M 151.40625,244.875 C 150.8262,244.87145 150.26044,244.97535 149.71875,245.25 C 148.43645,245.82374 147.76794,247.1133 147.125,248.28125 L 147.125,245.4375 L 140.6875,245.4375 C 140.68517,251.5355 140.68817,257.61908 140.6875,263.71875 L 147.65625,263.71875 L 147.65625,261.75 C 147.6874,259.30832 147.57522,256.87168 147.8125,254.4375 C 147.98367,253.01117 148.27947,251.28613 149.6875,250.5625 C 150.68046,250.02843 151.75878,250.55088 152.71875,250.875 L 154.5,246.5625 C 154.7673,246.12898 154.79825,245.77218 154.1875,245.65625 C 153.3401,245.20326 152.373,244.88092 151.40625,244.875 z M 166.65625,244.875 C 163.81138,244.83015 160.84817,245.7831 158.9375,247.96875 C 157.14601,249.82305 156.26534,252.44241 156.40625,255 C 156.4455,257.60089 157.62013,260.2008 159.6875,261.8125 C 162.43682,264.15178 166.33269,264.50973 169.75,263.78125 C 172.53457,263.1788 175.07375,261.31901 176.1875,258.65625 C 177.7293,255.0256 177.16931,250.3711 174.28125,247.5625 C 172.27329,245.58452 169.38522,244.95613 166.65625,244.875 z M 202.5625,244.875 C 199.65259,244.82633 196.58865,245.83995 194.6875,248.125 C 192.2363,250.95423 191.8563,255.23236 193.28125,258.625 C 194.29372,261.11012 196.45477,263.16353 199.125,263.71875 C 201.64663,264.2679 204.28679,264.24885 206.8125,263.75 C 208.51969,263.42988 210.07293,262.47938 211.1875,261.15625 C 211.6559,260.51927 212.73656,259.43233 212.625,258.90625 L 206.125,258.28125 C 205.51686,258.9536 204.91301,259.72992 203.9375,259.8125 C 202.39982,260.20123 200.57653,259.5439 199.875,258.0625 C 199.79053,257.55239 198.90352,256.05401 199.875,256.21875 L 213.21875,256.21875 C 213.28951,253.4079 212.92796,250.3949 211.125,248.125 C 210.03317,246.80706 208.52604,245.83022 206.84375,245.46875 C 205.44659,245.10894 204.00458,244.9063 202.5625,244.875 z M 226.53125,244.875 C 224.83773,244.94818 223.16268,245.2917 221.59375,245.9375 C 219.74896,246.79555 218.29579,248.44202 217.46875,250.28125 C 216.51712,252.42489 216.57711,254.87891 216.90625,257.15625 C 217.21271,259.53093 218.85626,261.58953 220.90625,262.75 C 222.614,263.77638 224.64841,263.95739 226.59375,264.09375 C 228.87355,264.16831 231.35076,264.0907 233.3125,262.78125 C 235.36706,261.62577 236.70538,259.55319 237.3125,257.3125 L 230.78125,256.5 C 230.52218,257.60301 229.84173,258.55904 228.8125,259.0625 C 227.04278,259.7832 224.53052,259.176 223.875,257.21875 C 223.37182,255.6932 223.44816,254.02326 223.78125,252.46875 C 224.12531,250.7656 225.86092,249.61089 227.5625,249.8125 C 228.93603,249.74484 230.32064,250.72254 230.5,252.125 L 236.90625,251.28125 C 236.30346,248.57745 234.27097,246.20997 231.5625,245.46875 C 229.935,245.02311 228.22477,244.80182 226.53125,244.875 z M 279,244.875 C 276.11458,244.82722 273.09566,245.81887 271.1875,248.0625 C 269.35887,250.01593 268.69715,252.78835 268.90625,255.40625 C 269.06071,258.57942 270.96032,261.61925 273.84375,263 C 276.42708,264.26198 279.47881,264.37106 282.25,263.75 C 285.00789,263.09784 287.47228,261.17924 288.5625,258.53125 C 290.1067,254.84728 289.46037,250.12239 286.4375,247.375 C 284.43673,245.53292 281.64544,244.93556 279,244.875 z M 304.15625,244.875 C 303.5762,244.87145 303.01044,244.97535 302.46875,245.25 C 301.18645,245.82374 300.51794,247.1133 299.875,248.28125 L 299.875,245.4375 L 293.46875,245.4375 C 293.46642,251.5355 293.43817,257.61908 293.4375,263.71875 L 300.40625,263.71875 L 300.40625,261.75 C 300.43736,259.30833 300.32566,256.87171 300.5625,254.4375 C 300.73318,253.01097 301.0296,251.28622 302.4375,250.5625 C 303.4305,250.02827 304.50868,250.55121 305.46875,250.875 L 307.28125,246.5625 C 307.54855,246.12898 307.5795,245.77218 306.96875,245.65625 C 306.12135,245.20326 305.123,244.88092 304.15625,244.875 z M 316.8125,244.875 C 313.944,244.75095 311.24416,246.74626 310.28125,249.40625 C 309.30036,251.99637 309.4085,254.8776 310.0625,257.53125 C 310.82024,260.37628 313.3772,262.72715 316.375,262.875 C 318.02221,262.96074 319.84243,262.61957 321.125,261.53125 C 321.65763,260.95665 322.5173,259.87579 322.25,261.3125 C 322.22656,262.71696 322.44184,264.21836 321.84375,265.53125 C 321.03374,266.81839 319.19006,266.98564 317.90625,266.375 C 316.81858,266.33518 317.11739,264.47551 315.90625,264.71875 L 310.125,264.125 C 309.50347,266.76816 311.20799,269.74611 313.875,270.40625 C 316.60154,271.26237 319.49764,271.16066 322.3125,270.90625 C 324.68811,270.64995 327.16096,269.52501 328.25,267.28125 C 329.27127,265.45631 329.29538,263.34169 329.25,261.3125 L 329.25,245.4375 L 322.8125,245.4375 L 322.8125,248.03125 C 321.50453,246.04856 319.20547,244.77746 316.8125,244.875 z M 181.75,245.4375 C 181.75233,250.47539 181.74933,255.49169 181.75,260.53125 C 181.69711,261.87363 181.89297,263.27272 181.4375,264.5625 C 181.0078,265.66627 179.66675,265.61346 178.71875,265.375 L 177.65625,270.5625 C 179.62508,270.79403 181.57001,271.23211 183.5625,271.0625 C 184.97081,271.00683 186.30112,270.33286 187.28125,269.34375 C 188.42564,267.93617 188.49326,266.01317 188.5625,264.28125 C 188.59678,257.99763 188.55329,251.72134 188.5625,245.4375 L 181.75,245.4375 z M 202.84375,249.125 C 203.95329,249.09172 205.18486,249.55909 205.625,250.65625 C 205.8373,251.2573 206.52558,252.61661 206,252.9375 L 199.4375,252.9375 C 199.56074,251.41532 200.27758,249.69691 201.875,249.25 C 202.18319,249.16417 202.52447,249.12493 202.84375,249.125 z M 83.21875,249.8125 C 84.81783,249.74971 86.12553,251.10433 86.34375,252.625 C 86.59093,254.16964 86.6235,255.82291 86.09375,257.3125 C 85.58517,258.42141 84.51087,259.40806 83.21875,259.34375 C 82.16274,259.497 81.16864,258.69003 80.5625,257.84375 C 79.6954,256.4655 79.76487,254.74716 79.90625,253.1875 C 80.034,251.824 80.79576,250.42045 82.15625,249.96875 C 82.49984,249.84916 82.85603,249.81209 83.21875,249.8125 z M 166.28125,249.8125 L 166.46875,249.8125 L 166.65625,249.8125 C 168.24903,249.69466 169.62717,251.0036 169.875,252.53125 C 170.15533,254.0429 170.15817,255.64356 169.71875,257.125 C 169.25152,258.37261 168.06301,259.46133 166.65625,259.34375 C 165.63697,259.47968 164.64055,258.69308 164.09375,257.84375 C 163.2126,256.42434 163.29992,254.63084 163.46875,253.03125 C 163.62666,251.51818 164.6538,249.94298 166.28125,249.8125 z M 279.125,249.8125 C 280.77107,249.74861 282.03138,251.21111 282.25,252.75 C 282.48768,254.25882 282.48055,255.86623 281.9375,257.3125 C 281.41893,258.40217 280.41521,259.41166 279.125,259.34375 C 278.06475,259.49194 277.01503,258.70161 276.40625,257.84375 C 275.55817,256.45691 275.65901,254.74655 275.78125,253.1875 C 275.89204,251.87317 276.58125,250.51671 277.875,250.03125 C 278.26601,249.87076 278.7039,249.81159 279.125,249.8125 z M 319.28125,250.0625 C 321.08552,249.99674 322.39578,251.8094 322.375,253.5 C 322.55438,255.13402 322.15278,257.16624 320.5,257.90625 C 319.04952,258.5741 317.03402,257.79625 316.6875,256.15625 C 316.17758,254.45034 316.2497,252.45136 317.25,250.9375 C 317.72499,250.33036 318.51318,249.99526 319.28125,250.0625 z M 257.75,256.625 L 257.75,263.71875 L 264.96875,263.71875 L 264.96875,256.625 L 257.75,256.625 z" transform="translate(58.124001,45.28474)" id="path3078" style="fill:#7d4698;fill-opacity:1;stroke:none" /><g id="layer3" style="display:inline"><g id="layer5"><path d="M 264.513,77.977773 L 259.596,97.506774 C 266.561,83.713773 277.623,73.334773 290.325,64.183773 C 281.038,74.972773 272.571,85.762774 267.381,96.551774 C 276.122,84.259773 287.867,77.431773 301.114,72.924773 C 283.496,88.630774 269.51172,105.48405 258.85872,122.41905 L 250.39172,118.73205 C 251.89272,105.21105 257.001,91.362774 264.513,77.977773 z" id="path2554" style="fill:#abcd03;fill-rule:evenodd;stroke:none" /><path d="M 241.90113,115.14152 L 258.01713,121.82746 C 258.01713,125.92546 257.684,138.42449 260.24651,142.11149 C 287.0494,176.63059 282.54,245.82478 254.817,247.59978 C 212.60044,247.59978 196.5,218.92078 196.5,192.56177 C 196.5,168.52477 225.316,152.54577 242.525,138.34277 C 246.895,134.51877 246.13613,126.06752 241.90113,115.14152 z" id="path2534" style="fill:#fffcdb;fill-rule:evenodd;stroke:none" /><path d="M 258.02197,121.58695 L 263.83,124.54977 C 263.284,128.37277 264.103,136.84177 267.926,139.02577 C 284.862,149.54177 300.84,161.01377 307.123,172.48577 C 329.521,212.91178 291.417,250.33178 258.503,246.78078 C 276.394,233.53278 281.584,206.35577 274.892,176.71877 C 272.161,165.10977 267.926,154.59377 260.414,142.71177 C 257.15979,136.87931 258.29597,129.64595 258.02197,121.58695 z" id="path2536" style="fill:#7d4698;fill-rule:evenodd;stroke:none" /></g><g id="layer4" style="display:inline"><path d="M 255.226,120.58877 L 267.244,122.22777 C 263.693,133.97277 274.21,142.16677 277.624,144.07977 C 285.27201,148.31377 292.64701,152.68377 298.52001,158.00977 C 309.58301,168.11577 315.86501,182.31977 315.86501,197.34277 C 315.86501,212.22877 309.03601,226.56877 297.56401,236.12877 C 286.77501,245.14277 271.889,248.96677 257.412,248.96677 C 248.398,248.96677 240.34,248.55777 231.6,245.68877 C 211.661,238.99677 196.774,221.92577 195.545,201.43877 C 194.452,185.45977 198.003,173.30477 210.432,160.60377 C 216.85,153.91177 229.825,146.26377 238.703,140.11777 C 243.074,137.11277 247.717,128.64477 238.839,112.66677 L 240.615,111.30077 L 253.77159,120.1128 L 242.664,115.53477 C 243.62,116.90077 246.215,123.04677 246.762,124.82177 C 247.991,129.87477 247.445,134.79277 246.352,136.97677 C 240.753,147.08377 231.193,149.81477 224.228,155.55077 C 211.936,165.65677 198.552,173.71477 200.054,201.43877 C 200.737,215.09577 211.39,231.75777 227.368,239.54277 C 236.382,243.91377 246.762,245.68877 257.278,246.23477 C 266.701,246.64477 284.72901,241.04477 294.56201,232.85077 C 305.07801,224.11077 310.95101,210.86277 310.95101,197.34277 C 310.95101,183.68477 305.48801,170.71077 295.24501,161.55977 C 289.37201,156.23377 279.676,149.81477 273.667,146.39977 C 267.658,142.98577 260.146,133.42577 262.604,124.27577 z" id="path2538" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 251.539,140.80177 C 250.31,147.08477 248.944,158.41977 243.481,162.65377 C 241.159,164.29177 238.837,165.93177 236.379,167.56977 C 226.546,174.26277 216.712,180.54377 212.206,196.65977 C 211.25,200.07477 212.07,203.76177 212.89,207.17577 C 215.348,217.00877 222.313,227.66177 227.776,233.94477 C 227.776,234.21777 228.869,234.90077 228.869,235.17377 C 233.376,240.50077 234.742,242.00277 251.813,245.82577 L 251.403,247.73877 C 241.16,245.00777 232.693,242.54977 227.366,236.40277 C 227.366,236.26677 226.41,235.30977 226.41,235.30977 C 220.674,228.75377 213.708,217.82877 211.114,207.58577 C 210.158,203.48777 209.339,200.34777 210.431,196.11277 C 215.074,179.45177 225.181,172.89577 235.424,165.93077 C 237.746,164.42877 240.477,163.06177 242.662,161.28677 C 246.895,158.14677 249.216,148.58577 251.539,140.80177 z" id="path2540" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.90625,166.74951 C 256.04325,173.85151 255.35,177.41426 257.125,182.46826 C 258.217,185.47226 261.907,189.56976 263,193.53076 C 264.502,198.85776 266.138,204.72977 266,208.28077 C 266,212.37876 265.74375,220.02326 263.96875,228.21826 C 262.61513,234.98934 259.49552,240.79979 254.25,244.09326 C 248.87673,242.98682 242.56776,241.09805 238.84375,237.90576 C 231.60575,231.62376 225.195,221.11926 224.375,211.96826 C 223.693,204.45727 230.64775,193.37976 240.34375,187.78076 C 248.53775,183.00076 250.44375,177.55301 252.21875,168.81201 C 249.76075,176.46001 247.45225,182.87126 239.53125,186.96826 C 228.05925,192.97726 222.17275,203.06452 222.71875,212.62451 C 223.53775,224.91551 228.46025,233.24401 238.15625,239.93701 C 242.25325,242.80501 249.9075,245.83576 254.6875,246.65576 L 254.6875,246.03076 C 258.31243,245.35188 263.00568,239.39809 265.34375,231.34326 C 267.39275,224.10526 268.2005,214.84126 268.0625,208.96827 C 267.9255,205.55427 266.4195,198.16026 263.6875,191.46826 C 262.1855,187.78126 259.878,184.09451 258.375,181.49951 C 256.738,178.90251 256.72625,173.30451 255.90625,166.74951 z" id="path2542" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.09375,193.53076 C 255.22975,198.31076 257.14975,204.43527 257.96875,210.71827 C 258.65275,215.36226 258.35575,220.02651 258.21875,224.12451 C 258.0838,228.86774 256.50355,237.36669 254.34375,241.49951 C 252.30702,240.56548 251.51081,239.50029 250.1875,237.78076 C 248.5495,235.45876 247.43675,233.13676 246.34375,230.40576 C 245.52475,228.35676 244.56725,226.01176 244.15625,223.28076 C 243.61025,219.18376 243.76325,212.77426 248.40625,206.21827 C 251.95725,201.02826 252.771,200.63351 254,194.62451 C 252.36,199.95051 251.1375,200.49351 247.3125,204.99952 C 243.0795,209.91652 242.375,217.15876 242.375,223.03076 C 242.375,225.48976 243.3555,228.21801 244.3125,230.81201 C 245.4045,233.54401 246.34175,236.26401 247.84375,238.31201 C 250.10171,241.63283 252.99173,243.52123 254.40625,243.87451 C 254.41563,243.87685 254.42825,243.8723 254.4375,243.87451 C 254.46781,243.88174 254.50238,243.89999 254.53125,243.90576 L 254.53125,243.74951 C 257.18107,240.79514 258.77569,237.86017 259.3125,234.90576 C 259.9955,231.35476 260.1525,227.79601 260.5625,223.56201 C 260.9715,220.01101 260.67475,215.22801 259.71875,210.31202 C 258.35375,204.16602 256.04975,197.89976 255.09375,193.53076 z" id="path2544" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 255.499,135.06577 C 255.636,142.16677 256.182,155.41577 258.094,160.60477 C 258.64,162.37977 263.693,170.16477 267.243,179.58777 C 269.702,186.14377 270.248,192.15277 270.658,193.92777 C 272.297,201.71277 270.248,214.82377 267.516,227.25177 C 266.151,233.94377 261.507,242.27477 256.181,245.55277 L 255.089,247.46477 C 258.094,247.32777 265.468,240.08977 268.063,231.07577 C 272.434,215.77977 274.209,208.67777 272.161,191.74277 C 271.888,190.10277 271.205,184.50477 268.61,178.49477 C 264.786,169.34377 259.323,160.60377 258.641,158.82777 C 257.411,155.96077 255.772,143.53277 255.499,135.06577 z" id="path2550" style="fill:#000000;fill-opacity:1;stroke:none" /><path d="M 258.06151,125.35303 C 257.65636,132.65115 257.548,135.33877 258.913,140.66477 C 260.415,146.53777 268.064,155.00477 271.205,164.70177 C 277.214,183.27577 275.712,207.58577 271.341,226.56877 C 269.703,233.25977 261.917,242.95777 254.133,246.09777 L 259.869,247.46377 C 263.01,247.32677 271.067,239.81577 274.209,231.21177 C 279.261,217.69077 280.218,201.57577 278.169,184.64077 C 278.032,183.00177 275.3,168.38877 272.706,162.24277 C 269.018,153.09277 262.462,144.89777 261.78,143.12377 C 260.552,140.11877 257.85349,133.88015 258.06151,125.35303 z" id="path2552" style="fill:#000000;fill-opacity:1;stroke:none" /><rect width="0.550412" height="126.01891" x="253.71959" y="120.21686" id="rect2556" style="fill:#000000;fill-opacity:1;stroke:none" /></g></g><path d="M 99.943,82.074773 H 209.611 C 213.707,82.074773 217.258,85.488773 217.258,89.722773 V 122.08977 C 217.258,126.32377 213.707,129.73877 209.611,129.73877 H 187.077 C 182.023,129.73877 179.838,132.60577 179.838,135.88377 V 241.86378 C 179.838,245.41478 176.97,248.14578 173.556,248.14578 H 136.272 C 132.857,248.14578 130.126,245.41478 130.126,241.86378 V 134.92877 C 130.126,131.65077 127.121,129.73977 124.8,129.73977 H 99.943 C 95.709,129.73977 92.295,126.32477 92.295,122.09077 V 89.722773 C 92.294,85.488773 95.708,82.074773 99.943,82.074773 z" id="path2528" style="fill:#7d4698;fill-opacity:1;fill-rule:evenodd;stroke:none" /><path d="M 381.30687,124.95877 L 381.44287,124.95877 L 391.00287,124.95877 C 394.55387,124.95877 397.42187,127.82677 397.42187,131.24077 L 397.42187,165.93077 C 397.42187,170.43777 397.69487,172.21277 392.23187,172.21277 C 381.44287,172.21277 376.52687,177.94877 376.52687,184.23077 L 376.52687,242.81978 C 376.52687,245.55178 373.93187,247.87278 370.79087,247.87278 L 335.96387,247.87278 C 332.82287,247.87278 330.22787,245.55178 330.22787,242.81978 L 330.22787,176.03577 C 330.19003,174.86136 330.21308,173.12767 330.36487,172.21277 C 332.27687,147.49277 351.6724,127.71491 376.25287,125.23177 C 377.07686,125.14853 379.9923,124.95877 381.30687,124.95877 z" id="path2532" style="fill:#7d4698;fill-opacity:1;fill-rule:evenodd;stroke:none" /><g transform="matrix(1.8025885,0,0,1.8025885,-321.30782,-98.80226)" id="layer7"><path d="M 405.999,129.09724 L 406.03025,129.09724 C 406.32841,129.09725 406.59516,129.09434 406.8115,129.12849 C 407.02174,129.15616 407.18553,129.23538 407.3115,129.31599 C 407.43963,129.38992 407.52656,129.48086 407.59275,129.62849 C 407.65137,129.75929 407.71119,129.95551 407.71775,130.19099 A 0.15001501,0.15001501 0 0 0 407.71775,130.22224 A 0.15001501,0.15001501 0 0 0 407.71775,130.25349 A 0.15001501,0.15001501 0 0 0 407.71775,130.28474 C 407.71088,130.78287 407.57349,131.11169 407.34275,131.28474 C 407.09818,131.46817 406.66419,131.566 406.0615,131.56599 L 405.999,131.56599 L 405.999,129.09724 z M 406.624,126.65974 C 408.58231,126.62221 410.53291,127.79987 411.35006,129.58251 C 412.29552,131.43018 412.03559,133.85822 410.60266,135.39008 C 410.45914,135.5564 410.56057,135.07431 410.53025,134.94099 C 410.50664,134.74608 410.24551,134.76592 410.08634,134.71387 C 409.881,134.71603 409.76226,134.58697 409.66954,134.41849 C 409.14394,133.6864 408.61835,132.95432 408.09275,132.22224 C 408.72543,132.0174 409.31305,131.59055 409.53124,130.9383 C 409.88942,130.02066 409.46377,128.87638 408.55463,128.46433 C 407.61591,127.99371 406.54008,128.16049 405.52668,128.12849 C 404.8379,128.1355 404.13903,128.1149 403.45616,128.13801 C 403.3012,128.29067 403.40346,128.54915 403.374,128.75349 C 403.41326,128.83477 403.44806,128.91528 403.55774,128.91855 C 403.74649,128.94686 403.93525,128.97518 404.124,129.00349 C 404.124,130.89932 404.124,132.79516 404.124,134.69099 C 403.90804,134.75931 403.62646,134.70852 403.46775,134.87849 C 403.47581,135.09914 403.45198,135.33178 403.47727,135.54633 C 403.59608,135.65947 403.79827,135.56664 403.95069,135.59724 C 404.89385,135.59723 405.83724,135.59726 406.78025,135.59724 C 406.91504,135.48472 406.8092,135.27086 406.84275,135.11585 C 406.84896,134.99491 406.87441,134.80931 406.71775,134.78474 C 406.47817,134.75349 406.23858,134.72224 405.999,134.69099 C 405.999,133.97224 405.999,133.25349 405.999,132.53474 C 406.21776,132.46529 406.30282,132.64714 406.40028,132.80568 C 407.0061,133.70495 407.61193,134.60422 408.21775,135.50349 C 408.21476,135.59479 408.35266,135.61735 408.39617,135.60835 C 409.06562,135.58221 409.75839,135.6048 410.4365,135.59724 C 409.88985,136.24245 409.11121,136.66629 408.3242,136.95456 C 406.60757,137.54095 404.59842,137.15879 403.24066,135.94741 C 401.76786,134.65244 401.14017,132.51152 401.6259,130.61776 C 402.14743,128.45188 404.17291,126.70624 406.42465,126.66418 C 406.49107,126.66158 406.55753,126.66012 406.624,126.65974 z M 406.65525,125.59724 C 404.79677,125.5659 402.96344,126.46712 401.78608,127.89152 C 400.49592,129.45674 400.01731,131.64057 400.55953,133.59716 C 401.12596,135.75186 402.9133,137.51703 405.07479,138.05675 C 407.33649,138.64681 409.91104,137.90817 411.43511,136.1134 C 412.42682,135.01714 412.99503,133.54684 412.96775,132.06599 C 412.99313,131.51621 412.93168,130.90548 412.80555,130.34718 C 412.1779,127.58852 409.46307,125.55052 406.65525,125.59724 z" id="text4064" style="font-size:18.31413078px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:center;text-decoration:none;line-height:125%;letter-spacing:0px;word-spacing:0px;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:middle;baseline-shift:baseline;color:#000000;fill:#7d4698;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Liberation Serif;-inkscape-font-specification:Sans" /></g></g></svg>
\ No newline at end of file
diff --git a/transfersh-web/includes/download-bottom.html b/transfersh-web/includes/download-bottom.html
new file mode 100644
index 0000000..ffdd2ef
--- /dev/null
+++ b/transfersh-web/includes/download-bottom.html
@@ -0,0 +1,5 @@
+                </div>
+            </div>
+        </div>
+    <br/>
+</section>
diff --git a/transfersh-web/includes/download-btn.html b/transfersh-web/includes/download-btn.html
new file mode 100644
index 0000000..515b585
--- /dev/null
+++ b/transfersh-web/includes/download-btn.html
@@ -0,0 +1,10 @@
+<div>
+    <a href="#" id="copy-link-btn" class="btn-cta btn">copy link</a> &nbsp;&nbsp;
+    <a href="{{.Url}}" class="btn-cta btn"> download</i> </a>
+    <div id="copy-link-wrapper" class="copy-link-wrapper">
+        <p>Press Ctrl / CMD + C to copy link to your clipboard.</p>
+        <input readonly="readonly" type="text" value="{{.Url}}" />
+    </div>
+    <div id="overlay" class="overlay"></div>
+</div>
+    <script src="scripts/clipboard.js"></script>
\ No newline at end of file
diff --git a/transfersh-web/includes/download-top.html b/transfersh-web/includes/download-top.html
new file mode 100644
index 0000000..fc113a1
--- /dev/null
+++ b/transfersh-web/includes/download-top.html
@@ -0,0 +1,6 @@
+        <br/>
+        <h2 class="page-title">{{.Filename}}</h2>
+        <h4>type: <b>{{.ContentType}}</b></h4>
+        <h4>size: <b>{{.ContentLength | format "#,###."}}</b> bytes</h4>
+
+        <a href="{{.Url}}" class="btn-cta btn"> download</i> </a> <br/><br/>
diff --git a/transfersh-web/includes/footer.html b/transfersh-web/includes/footer.html
new file mode 100644
index 0000000..8ac82c4
--- /dev/null
+++ b/transfersh-web/includes/footer.html
@@ -0,0 +1,36 @@
+<footer>
+    <div class="wrapper">
+        <div style="">
+            <a href="bitcoin:164ybRMLbg1dhhWWiUkXtiNr7jUhMKdJqH" label="Bitcoin+Donation" style="word-wrap: break-word;">
+                <img border="0" src=" /images/bitcoin.png" style="margin: 0 auto;;">
+            </a>
+        </div>
+        <br/>
+                <br/>
+        <img src="/images/Logo-orange.png" alt="Founded in Holland">
+        <p>Made with <i class="icon-heart"></i> by <a href="http://blog.dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
+        </p>
+    </div>
+
+</footer>
+
+
+<a href="https://github.com/you"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png"></a>
+
+    <script>
+    (function() {
+        var uv = document.createElement('script');
+        uv.type = 'text/javascript';
+        uv.async = true;
+        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
+        var s = document.getElementsByTagName('script')[0];
+        s.parentNode.insertBefore(uv, s)
+    })()
+    </script>
+
+    <!--[if lt IE 7]>
+      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+    <![endif]-->
+
+   
+  
diff --git a/transfersh-web/includes/ga.html b/transfersh-web/includes/ga.html
new file mode 100644
index 0000000..c6d5bfd
--- /dev/null
+++ b/transfersh-web/includes/ga.html
@@ -0,0 +1,15 @@
+    <script>
+    (function(i, s, o, g, r, a, m) {
+        i['GoogleAnalyticsObject'] = r;
+        i[r] = i[r] || function() {
+            (i[r].q = i[r].q || []).push(arguments)
+        }, i[r].l = 1 * new Date();
+        a = s.createElement(o),
+            m = s.getElementsByTagName(o)[0];
+        a.async = 1;
+        a.src = g;
+        m.parentNode.insertBefore(a, m)
+    })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
+    ga('create', 'UA-40833733-1', 'transfer.sh');
+    ga('send', 'pageview');
+    </script>
diff --git a/transfersh-web/includes/head.html b/transfersh-web/includes/head.html
new file mode 100644
index 0000000..4f03a59
--- /dev/null
+++ b/transfersh-web/includes/head.html
@@ -0,0 +1,14 @@
+<head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
+    <meta name="description" content="Easy and fast file sharing from the command-line.">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
+    <link rel="stylesheet" href="/styles/main.css">
+    <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
+    <link href='//fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
+    <!-- build:js /scripts/vendor/modernizr.js -->
+    <script src="bower_components/modernizr/modernizr.js"></script>
+    <!-- endbuild -->
+</head>
diff --git a/transfersh-web/includes/js.html b/transfersh-web/includes/js.html
new file mode 100644
index 0000000..dd1a4f3
--- /dev/null
+++ b/transfersh-web/includes/js.html
@@ -0,0 +1,9 @@
+    <!-- build:js /scripts/main.js -->
+    <script src="bower_components/jquery/dist/jquery.js"></script>
+    <script src="bower_components/uri.js/src/URI.min.js"></script>
+    <script src="bower_components/bootstrap/js/transition.js"></script>
+    <script src="bower_components/bootstrap/js/collapse.js"></script>
+    <script src="/scripts/showdown.js"></script>
+    <script src="/scripts/main.js"></script>
+    <!-- endbuild -->
+      
diff --git a/transfersh-web/includes/navigation.html b/transfersh-web/includes/navigation.html
new file mode 100644
index 0000000..12db9a7
--- /dev/null
+++ b/transfersh-web/includes/navigation.html
@@ -0,0 +1,15 @@
+    <div id="navigation">
+        <div class="wrapper">
+            <a href="/">
+                <h1>transfer.sh</h1>
+            </a>
+            <ul class="hidden-xs">
+                <li><a href="/">home</a>
+                </li>
+                <li><a href="/#samples">sample use cases</a>
+                </li>
+                <li><a href="/#contact">contact us</a>
+                </li>
+            </ul>
+        </div>
+    </div>
\ No newline at end of file
diff --git a/transfersh-web/index.html b/transfersh-web/index.html
index db33b5b..8482d66 100644
--- a/transfersh-web/index.html
+++ b/transfersh-web/index.html
@@ -6,22 +6,8 @@
 <html class="no-js">
 <!--<![endif]-->
 
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>transfer.sh - Easy and fast file sharing from the command-line.</title>
-    <meta name="description" content="Easy and fast file sharing from the command-line.">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-    <link rel="stylesheet" href="styles/main.css">
-
-    <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:100,200,300' rel='stylesheet' type='text/css'>
-    <link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400' rel='stylesheet' type='text/css'>
-    <link href='http://fonts.googleapis.com/css?family=Droid+Sans+Mono' rel='stylesheet' type='text/css'>
-    <!-- build:js scripts/vendor/modernizr.js -->
-    <script src="bower_components/modernizr/modernizr.js"></script>
-    <!-- endbuild -->
-</head>
+include "includes/head.html"
+
 
 <body>
 
@@ -41,24 +27,14 @@
     ga('send', 'pageview');
     </script>
 
-    <div id="navigation">
-        <div class="wrapper">
-            <h1>transfer.sh</h1>
-            <ul class="hidden-xs">
-                <li><a href="#samples">sample use cases</a>
-                </li>
-                <li><a href="#contact">contact us</a>
-                </li>
-            </ul>
-        </div>
-    </div>
+    include "includes/navigation.html"
 
     <section id="home">
         <div class="wrapper">
-            <h2>
+            <h2 class="page-title">
                 Easy file sharing from the command line</h2>
             <div class="row animated fadeInDown">
-                <div id="from-terminal" class=" box col-md-8  col-md-offset-2 col-xs-12">
+                <div id="from-terminal" class="box col-md-8 col-md-offset-2 col-xs-12">
                     <div class="terminal-top">
 
                     </div>
@@ -77,7 +53,8 @@
                         <code>
                             <br>
                             <span class="code-title"># Upload from web</span>
-                            <br>Drag your files here, or <a class="browse" href="#"> click to browse.</a>
+                            <br>Drag your files here, or <a class="browse" href="#"> click to browse. <br/></a>
+                           
                         </code>
                         <input type="file" multiple="multiple" style='display: none;' />
                         <ul class='queue'>
@@ -141,7 +118,7 @@
 
     <section id="samples">
         <div class="wrapper">
-            <h2>
+            <h2 class="page-title">
                 Sample use cases
             </h2>
             <div class="row">
@@ -168,9 +145,10 @@
                     <div class="terminal">
                         <code>
                             <span class="code-title"># Add this to .bashrc or its equivalent</span>
-                            <br/>transfer() { 
-                            <br># write to output to tmpfile because of progress bar 
-                            <br>tmpfile=$( mktemp -t transferXXX ); curl --progress-bar --upload-file $1 https://transfer.sh/$(basename $1) >> $tmpfile; cat $tmpfile; rm -f $tmpfile; }
+                            <br/>transfer() {
+                            <br># write to output to tmpfile because of progress bar
+                            <br>tmpfile=$( mktemp -t transferXXX ); basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9]/-/g'); curl --progress-bar --upload-file "$1" "https://transfer.sh/$basefile" >> $tmpfile; cat $tmpfile; rm -f $tmpfile; 
+                            <br/>}
                             <br/>
                             <br/>alias transfer=transfer
                             <br/>
@@ -231,7 +209,8 @@
                                 <span class="code-title"># Scan for malware or viruses using Clamav</span>
                                 <br>$ wget http://www.eicar.org/download/eicar.com
                                 <br>$ curl -X PUT --upload-file ./eicar.com https://transfer.sh/eicar.com/scan
-                                <br><br>
+                                <br>
+                                <br>
                                 <span class="code-title"># Upload malware to VirusTotal, get a permalink in return</span>
                                 <br>$ curl -X PUT --upload-file nhgbhhj https://transfer.sh/test.txt/virustotal
                                 <br>
@@ -245,7 +224,7 @@
                         <div class="terminal">
                             <code>
                                 <span class="code-title"># Backup, encrypt and transfer</span>
-                                <br/>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt </code>
+                                <br/>$ mysqldump --all-databases|gzip|gpg -ac -o-|curl -X PUT --upload-file "-" https://transfer.sh/test.txt</code>
                         </div>
                     </div>
                 </div>
@@ -276,28 +255,45 @@
         </div>
     </section>
 
+    <section id="share">
+        <div class="wrapper">
+            <h2 class="page-title">Follow on GitHub</h2>
+            <br>
+            <br>
+
+            <iframe src="//ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=follow&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="250" height="50"></iframe>
+            <iframe src="//ghbtns.com/github-btn.html?user=dutchcoders&repo=transfer.sh&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="200" height="50"></iframe>
+        </div>
+    </section>
+
     <section id="reviews">
         <div class="wrapper">
             <div class="row">
                 <div class="col-md-8 col-md-offset-2 col-xs-12">
                     <blockquote class="twitter-tweet tweet-xl" lang="en">
-                        <img class="twitter-profile" src="images/reviews/dave.jpg" alt="">
+                        <a href="https://twitter.com/FloifyDave/status/517383101425516544">
+                            <img class="twitter-profile" src="images/reviews/dave.jpg" alt="">
+                        </a>
                         <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> Thanks for transfer.sh. Just used it for a production purpose for a customer. So great, so easy, so https. :)</p>
                         <a href="https://twitter.com/FloifyDave/status/517383101425516544">
-                            &mdash; Dave Sims (@FloifyDave)</a>
+                                &mdash; Dave Sims (@FloifyDave)</a>
                     </blockquote>
                 </div>
             </div>
             <div class="row">
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/kareem.jpg" alt="">
+                        <a href="https://twitter.com/kareemk/status/517029789191118849">
+                            <img class="twitter-profile" src="images/reviews/kareem.jpg" alt="">
+                        </a>
                         <p><a href="https://twitter.com/dutchcoders">@dutchcoders</a> love transfer.sh! any change we can *pay* for a self-hosted version?</p><a href="https://twitter.com/kareemk/status/517029789191118849">&mdash; Kareem Kouddous (@kareemk) </a>
                     </blockquote>
                 </div>
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/pg.jpeg" alt="">
+                        <a href="https://twitter.com/drakpz/status/517008058841829376">
+                            <img class="twitter-profile" src="images/reviews/pg.jpeg" alt="">
+                        </a>
                         <p><a href="http://t.co/JomAmqWYEB">http://t.co/JomAmqWYEB</a> by <a href="https://twitter.com/dutchcoders">@dutchcoders</a> is pure awesomeness! any chance of source on github? :-)</p><a href="https://twitter.com/drakpz/status/517008058841829376">&mdash; PJ Spagnolatti (@drakpz)</a>
                     </blockquote>
                 </div>
@@ -305,14 +301,18 @@
             <div class="row">
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/jacob.jpg" alt="">
+                        <a href="https://twitter.com/jacoblindgren11/status/516975006501203968">
+                            <img class="twitter-profile" src="images/reviews/jacob.jpg" alt="">
+                        </a>
                         <p>Love transfer.sh! Will be using it from now on! Thanks for the amazing service we can use from the CLI <a href="https://twitter.com/dutchcoders">@dutchcoders</a>
                         </p><a href="https://twitter.com/jacoblindgren11/status/516975006501203968">&mdash; Jacob Lindgren (@jacoblindgren11) </a>
                     </blockquote>
                 </div>
                 <div class="col-md-6 col-xs-12">
                     <blockquote class="twitter-tweet" lang="en">
-                        <img class="twitter-profile" src="images/reviews/lars.jpg" alt="">
+                        <a href="https://twitter.com/arvestad/status/519507976491499521">
+                            <img class="twitter-profile" src="images/reviews/lars.jpg" alt="">
+                        </a>
                         <p>transfer.sh is my latest fav service! Try simple command-line and web file sharing! <a href="https://t.co/FSrsb1JKJd">https://t.co/FSrsb1JKJd</a>&#10;Thanks <a href="https://twitter.com/dutchcoders">@dutchcoders</a> !</p> <a href="https://twitter.com/arvestad/status/519507976491499521">&mdash; Lars Arvestad (@arvestad)</a>
                     </blockquote>
                 </div>
@@ -322,7 +322,7 @@
 
     <section id="share">
         <div class="wrapper">
-            <h2>Share the love</h2>
+            <h2 class="page-title">Share the love</h2>
             <ul class="share-buttons">
                 <li>
                     <a href="https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Ftransfer.sh&t=" target="_blank" onclick="window.open('https://www.facebook.com/sharer/sharer.php?u=' + encodeURIComponent(document.URL) + '&t=' + encodeURIComponent(document.URL)); return false;"> <i class="icon-facebook"></i> 
@@ -343,71 +343,33 @@
         </div>
     </section>
 
+
     <section id="contact">
         <div class="wrapper">
             <i class="icon-mail"></i>
-            <h2>
+            <h2 class="page-title">
                 Any questions?
             </h2>
             <a href="#" data-uv-trigger class="btn-cta">contact us</a>
         </div>
     </section>
 
-    <footer>
+
+    <section id="tor">
         <div class="wrapper">
-            <img src="images/Logo-orange.png" alt="Founded in Holland">
-            <p>Made with <i class="icon-heart"></i> by <a href="http://dutchcoders.io/" title="Dutch Coders">Dutch Coders</a>
-            </p>
+            <a href="https://torproject.com"><img src="images/tor.svg" alt=""></a><br/>
+            <a href="https://jxm5d6emw5rknovg.onion/">https://jxm5d6emw5rknovg.onion/</a>
         </div>
-    </footer>
+    </section>
 
-    <a href="https://github.com/dutchcoders/transfer.sh/">
-        <img style="position: absolute; top: 0; right: 0; border: 0;" src="https://camo.githubusercontent.com/38ef81f8aca64bb9a64448d0d70f1308ef5341ab/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f72696768745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png">
-    </a>
 
-    <script>
-    (function() {
-        var uv = document.createElement('script');
-        uv.type = 'text/javascript';
-        uv.async = true;
-        uv.src = '//widget.uservoice.com/5rkATbLIm8ClJQeOirOhFg.js';
-        var s = document.getElementsByTagName('script')[0];
-        s.parentNode.insertBefore(uv, s)
-    })()
-    </script>
+    include "includes/footer.html" 
+
+    include "includes/js.html"
 
-    <!--[if lt IE 7]>
-      <p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-    <![endif]-->
 
-    <script>
-    (function(b, o, i, l, e, r) {
-        b.GoogleAnalyticsObject = l;
-        b[l] || (b[l] =
-            function() {
-                (b[l].q = b[l].q || []).push(arguments)
-            });
-        b[l].l = +new Date;
-        e = o.createElement(i);
-        r = o.getElementsByTagName(i)[0];
-        e.src = '//www.google-analytics.com/analytics.js';
-        r.parentNode.insertBefore(e, r)
-    }(window, document, 'script', 'ga'));
-    ga('create', 'UA-40833733-1', 'transfer.sh');
-    ga('send', 'pageview');
-    </script>
 
-    <!-- build:js scripts/main.js -->
-    <script src="bower_components/jquery/dist/jquery.js"></script>
-    <script src="bower_components/highlightjs/highlight.pack.js"></script>
-    <!--         </*script*/ src="bower_components/typed.js/js/typed.js"></script> -->
-    <script src="bower_components/uri.js/src/URI.min.js"></script>
-    <script src="bower_components/bootstrap/js/transition.js"></script>
-    <script src="bower_components/bootstrap/js/collapse.js"></script>
-
-    <script src="scripts/typewriter-bundle.js"></script>
-    <script src="scripts/main.js"></script>
-    <!-- endbuild -->
+    
 
 </body>
 
diff --git a/transfersh-web/scripts/clipboard.js b/transfersh-web/scripts/clipboard.js
new file mode 100644
index 0000000..6c2f560
--- /dev/null
+++ b/transfersh-web/scripts/clipboard.js
@@ -0,0 +1,61 @@
+(function() {
+  var copylinkbtn = document.getElementById("copy-link-btn"),
+      copylink = document.getElementById("copy-link-wrapper"),
+      overlay = document.getElementById("overlay");
+
+    var url = "http://url"
+  copylinkbtn.addEventListener("click", function(e) {
+    e.preventDefault();
+    
+    var error = document.getElementsByClassName('error');
+      
+    while (error[0]) {
+      error[0].parentNode.removeChild(error[0]);
+    }
+
+    document.body.className += ' active';
+    
+    copylink.children[1].value = url;
+    copylink.children[1].focus();
+    copylink.children[1].select();
+    return (false);
+  }, false);
+
+  overlay.addEventListener("click", function(e) {
+    e.preventDefault();
+    document.body.className = '';
+    return (false);
+  }, false);
+
+  copylink.children[2].addEventListener("keydown", function(e) {
+
+    var error = document.getElementsByClassName('error');
+
+    while (error[0]) {
+      error[0].parentNode.removeChild(error[0]);
+    }
+
+    setTimeout(function() {
+
+      if((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2])) {
+        document.body.className = '';
+      } else if((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2]) === false) {
+        var error = document.createElement('span');
+        error.className = 'error';
+        var errortext = document.createTextNode('The link was not copied, make sure the entire text is selected.');
+        
+        error.appendChild(errortext);
+        copylink.appendChild(error);
+      }
+    }, 100);
+
+    function isTextSelected(input) {
+      if (typeof input.selectionStart == "number") {
+        return input.selectionStart == 0 && input.selectionEnd == input.value.length;
+      } else if (typeof document.selection != "undefined") {
+        input.focus();
+        return document.selection.createRange().text == input.value;
+      }
+    }
+  }, false);
+})();
diff --git a/transfersh-web/scripts/main.js b/transfersh-web/scripts/main.js
index 957c2ce..1282b7c 100644
--- a/transfersh-web/scripts/main.js
+++ b/transfersh-web/scripts/main.js
@@ -18,10 +18,18 @@ $(document).ready(function() {
 
 (function() {
     var files = Array()
+    var queue = Array()
 
-    function upload(file) {
+    $(window).bind('beforeunload', function(){
+        if (queue.length==0) 
+            return;
+
+        return 'There are still ' + queue.length + ' files being uploaded.';
+    });
 
+    function upload(file) {
         $('.browse').addClass('uploading');
+
         var li = $('<li style="clear:both;"/>');
 
         li.append($('<div><div class="upload-progress"><span></span><div class="bar" style="width:0%;">####################################################</div></div><p>Uploading... ' + file.name + '</p></div>'));
@@ -33,7 +41,8 @@ $(document).ready(function() {
             var pc = parseInt((e.loaded / e.total * 100));
             $('.upload-progress', $(li)).show();
             $('.upload-progress .bar', $(li)).css('width', pc + "%");
-            $('.upload-progress span  ').empty().append(pc + "%");
+            $('.upload-progress span  ', $(li)).empty().append(pc + "%");
+
         }, false);
 
         xhr.onreadystatechange = function(e) {
@@ -47,8 +56,13 @@ $(document).ready(function() {
                     $(li).html('<span>Error (' + xhr.status + ') during upload of file ' + file.name + '</span>');
                 }
 
-                files.push(xhr.responseText.replace("https://transfer.sh/", "").replace("\n", ""));
-                // files.push(URI(xhr.responseText).absoluteTo(location.href).toString());
+                // file uploaded successfully, remove from queue
+                var index = queue.indexOf(xhr);
+                if (index > -1) {
+                    queue.splice(index, 1);
+                }
+
+                files.push(URI(xhr.responseText.replace("\n", "")).path());
 
                 $(".download-zip").attr("href", URI("(" + files.join(",") + ").zip").absoluteTo(location.href).toString());
                 $(".download-tar").attr("href", URI("(" + files.join(",") + ").tar.gz").absoluteTo(location.href).toString());
@@ -56,7 +70,9 @@ $(document).ready(function() {
                 $(".all-files").addClass('show');
             }
         };
+
         // should queue all uploads. 
+        queue.push(xhr);
 
         // start upload
         xhr.open("PUT", '/' + file.name, true);
@@ -73,13 +89,12 @@ $(document).ready(function() {
         $('#web').addClass('dragged');
     }).bind("dragleave", function(event) {
         $('#terminal').removeClass('dragged');
-        $('#web').removeClass('dragged');        
+        $('#web').removeClass('dragged');
 
     }).bind("drop dragdrop", function(event) {
         var files = event.originalEvent.target.files || event.originalEvent.dataTransfer.files;
 
         $.each(files, function(index, file) {
-            console.debug(file);
             upload(file);
         });
 
@@ -93,12 +108,75 @@ $(document).ready(function() {
     });
 
 
-
     $('input[type=file]').on('change', function(event) {
         $.each(this.files, function(index, file) {
             if (file instanceof Blob) {
                 upload(file);
             }
         });
-    });
+    });   
+
+    // clipboard 
+    if (window.location.href.indexOf("download") > -1 ) {
+
+
+        (function() {
+            var copylinkbtn = document.getElementById("copy-link-btn"),
+                copylink = document.getElementById("copy-link-wrapper"),
+                overlay = document.getElementById("overlay");
+
+            var url = "http://url"
+            copylinkbtn.addEventListener("click", function() {
+
+                var error = document.getElementsByClassName('error');
+
+                while (error[0]) {
+                    error[0].parentNode.removeChild(error[0]);
+                }
+
+                document.body.className += ' active';
+
+                copylink.children[1].value = url;
+                copylink.children[1].focus();
+                copylink.children[1].select();
+            }, false);
+
+            overlay.addEventListener("click", function() {
+                document.body.className = '';
+            }, false);
+
+            copylink.children[1].addEventListener("keydown", function(e) {
+
+                var error = document.getElementsByClassName('error');
+
+                while (error[0]) {
+                    error[0].parentNode.removeChild(error[0]);
+                }
+
+                setTimeout(function() {
+
+                    if ((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2])) {
+                        document.body.className = '';
+                    } else if ((e.metaKey || e.ctrlKey) && e.keyCode === 67 && isTextSelected(copylink.children[2]) === false) {
+                        var error = document.createElement('span');
+                        error.className = 'error';
+                        var errortext = document.createTextNode('The link was not copied, make sure the entire text is selected.');
+
+                        error.appendChild(errortext);
+                        copylink.appendChild(error);
+                    }
+                }, 100);
+
+                function isTextSelected(input) {
+                    if (typeof input.selectionStart == "number") {
+                        return input.selectionStart == 0 && input.selectionEnd == input.value.length;
+                    } else if (typeof document.selection != "undefined") {
+                        input.focus();
+                        return document.selection.createRange().text == input.value;
+                    }
+                }
+            }, false);
+        })();
+    };
+
 })();
diff --git a/transfersh-web/scripts/showdown.js b/transfersh-web/scripts/showdown.js
new file mode 100644
index 0000000..ad5d59b
--- /dev/null
+++ b/transfersh-web/scripts/showdown.js
@@ -0,0 +1,1296 @@
+//
+// showdown.js -- A javascript port of Markdown.
+//
+// Copyright (c) 2007 John Fraser.
+//
+// Original Markdown Copyright (c) 2004-2005 John Gruber
+//   <http://daringfireball.net/projects/markdown/>
+//
+// Redistributable under a BSD-style open source license.
+// See license.txt for more information.
+//
+// The full source distribution is at:
+//
+//				A A L
+//				T C A
+//				T K B
+//
+//   <http://www.attacklab.net/>
+//
+
+//
+// Wherever possible, Showdown is a straight, line-by-line port
+// of the Perl version of Markdown.
+//
+// This is not a normal parser design; it's basically just a
+// series of string substitutions.  It's hard to read and
+// maintain this way,  but keeping Showdown close to the original
+// design makes it easier to port new features.
+//
+// More importantly, Showdown behaves like markdown.pl in most
+// edge cases.  So web applications can do client-side preview
+// in Javascript, and then build identical HTML on the server.
+//
+// This port needs the new RegExp functionality of ECMA 262,
+// 3rd Edition (i.e. Javascript 1.5).  Most modern web browsers
+// should do fine.  Even with the new regular expression features,
+// We do a lot of work to emulate Perl's regex functionality.
+// The tricky changes in this file mostly have the "attacklab:"
+// label.  Major or self-explanatory changes don't.
+//
+// Smart diff tools like Araxis Merge will be able to match up
+// this file with markdown.pl in a useful way.  A little tweaking
+// helps: in a copy of markdown.pl, replace "#" with "//" and
+// replace "$text" with "text".  Be sure to ignore whitespace
+// and line endings.
+//
+
+
+//
+// Showdown usage:
+//
+//   var text = "Markdown *rocks*.";
+//
+//   var converter = new Showdown.converter();
+//   var html = converter.makeHtml(text);
+//
+//   alert(html);
+//
+// Note: move the sample code to the bottom of this
+// file before uncommenting it.
+//
+
+
+//
+// Showdown namespace
+//
+var Showdown = {};
+
+//
+// converter
+//
+// Wraps all "globals" so that the only thing
+// exposed is makeHtml().
+//
+Showdown.converter = function() {
+
+//
+// Globals:
+//
+
+// Global hashes, used by various utility routines
+var g_urls;
+var g_titles;
+var g_html_blocks;
+
+// Used to track when we're inside an ordered or unordered list
+// (see _ProcessListItems() for details):
+var g_list_level = 0;
+
+
+this.makeHtml = function(text) {
+//
+// Main function. The order in which other subs are called here is
+// essential. Link and image substitutions need to happen before
+// _EscapeSpecialCharsWithinTagAttributes(), so that any *'s or _'s in the <a>
+// and <img> tags get encoded.
+//
+
+	// Clear the global hashes. If we don't clear these, you get conflicts
+	// from other articles when generating a page which contains more than
+	// one article (e.g. an index page that shows the N most recent
+	// articles):
+	g_urls = new Array();
+	g_titles = new Array();
+	g_html_blocks = new Array();
+
+	// attacklab: Replace ~ with ~T
+	// This lets us use tilde as an escape char to avoid md5 hashes
+	// The choice of character is arbitray; anything that isn't
+    // magic in Markdown will work.
+	text = text.replace(/~/g,"~T");
+
+	// attacklab: Replace $ with ~D
+	// RegExp interprets $ as a special character
+	// when it's in a replacement string
+	text = text.replace(/\$/g,"~D");
+
+	// Standardize line endings
+	text = text.replace(/\r\n/g,"\n"); // DOS to Unix
+	text = text.replace(/\r/g,"\n"); // Mac to Unix
+
+	// Make sure text begins and ends with a couple of newlines:
+	text = "\n\n" + text + "\n\n";
+
+	// Convert all tabs to spaces.
+	text = _Detab(text);
+
+	// Strip any lines consisting only of spaces and tabs.
+	// This makes subsequent regexen easier to write, because we can
+	// match consecutive blank lines with /\n+/ instead of something
+	// contorted like /[ \t]*\n+/ .
+	text = text.replace(/^[ \t]+$/mg,"");
+
+	// Turn block-level HTML blocks into hash entries
+	text = _HashHTMLBlocks(text);
+
+	// Strip link definitions, store in hashes.
+	text = _StripLinkDefinitions(text);
+
+	text = _RunBlockGamut(text);
+
+	text = _UnescapeSpecialChars(text);
+
+	// attacklab: Restore dollar signs
+	text = text.replace(/~D/g,"$$");
+
+	// attacklab: Restore tildes
+	text = text.replace(/~T/g,"~");
+
+	return text;
+}
+
+
+var _StripLinkDefinitions = function(text) {
+//
+// Strips link definitions from text, stores the URLs and titles in
+// hash references.
+//
+
+	// Link defs are in the form: ^[id]: url "optional title"
+
+	/*
+		var text = text.replace(/
+				^[ ]{0,3}\[(.+)\]:  // id = $1  attacklab: g_tab_width - 1
+				  [ \t]*
+				  \n?				// maybe *one* newline
+				  [ \t]*
+				<?(\S+?)>?			// url = $2
+				  [ \t]*
+				  \n?				// maybe one newline
+				  [ \t]*
+				(?:
+				  (\n*)				// any lines skipped = $3 attacklab: lookbehind removed
+				  ["(]
+				  (.+?)				// title = $4
+				  [")]
+				  [ \t]*
+				)?					// title is optional
+				(?:\n+|$)
+			  /gm,
+			  function(){...});
+	*/
+	var text = text.replace(/^[ ]{0,3}\[(.+)\]:[ \t]*\n?[ \t]*<?(\S+?)>?[ \t]*\n?[ \t]*(?:(\n*)["(](.+?)[")][ \t]*)?(?:\n+|\Z)/gm,
+		function (wholeMatch,m1,m2,m3,m4) {
+			m1 = m1.toLowerCase();
+			g_urls[m1] = _EncodeAmpsAndAngles(m2);  // Link IDs are case-insensitive
+			if (m3) {
+				// Oops, found blank lines, so it's not a title.
+				// Put back the parenthetical statement we stole.
+				return m3+m4;
+			} else if (m4) {
+				g_titles[m1] = m4.replace(/"/g,"&quot;");
+			}
+			
+			// Completely remove the definition from the text
+			return "";
+		}
+	);
+
+	return text;
+}
+
+
+var _HashHTMLBlocks = function(text) {
+	// attacklab: Double up blank lines to reduce lookaround
+	text = text.replace(/\n/g,"\n\n");
+
+	// Hashify HTML blocks:
+	// We only want to do this for block-level HTML tags, such as headers,
+	// lists, and tables. That's because we still want to wrap <p>s around
+	// "paragraphs" that are wrapped in non-block-level tags, such as anchors,
+	// phrase emphasis, and spans. The list of tags we're looking for is
+	// hard-coded:
+	var block_tags_a = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del"
+	var block_tags_b = "p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math"
+
+	// First, look for nested blocks, e.g.:
+	//   <div>
+	//     <div>
+	//     tags for inner block must be indented.
+	//     </div>
+	//   </div>
+	//
+	// The outermost tags must start at the left margin for this to match, and
+	// the inner nested divs must be indented.
+	// We need to do this before the next, more liberal match, because the next
+	// match will start at the first `<div>` and stop at the first `</div>`.
+
+	// attacklab: This regex can be expensive when it fails.
+	/*
+		var text = text.replace(/
+		(						// save in $1
+			^					// start of line  (with /m)
+			<($block_tags_a)	// start tag = $2
+			\b					// word break
+								// attacklab: hack around khtml/pcre bug...
+			[^\r]*?\n			// any number of lines, minimally matching
+			</\2>				// the matching end tag
+			[ \t]*				// trailing spaces/tabs
+			(?=\n+)				// followed by a newline
+		)						// attacklab: there are sentinel newlines at end of document
+		/gm,function(){...}};
+	*/
+	text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math|ins|del)\b[^\r]*?\n<\/\2>[ \t]*(?=\n+))/gm,hashElement);
+
+	//
+	// Now match more liberally, simply from `\n<tag>` to `</tag>\n`
+	//
+
+	/*
+		var text = text.replace(/
+		(						// save in $1
+			^					// start of line  (with /m)
+			<($block_tags_b)	// start tag = $2
+			\b					// word break
+								// attacklab: hack around khtml/pcre bug...
+			[^\r]*?				// any number of lines, minimally matching
+			.*</\2>				// the matching end tag
+			[ \t]*				// trailing spaces/tabs
+			(?=\n+)				// followed by a newline
+		)						// attacklab: there are sentinel newlines at end of document
+		/gm,function(){...}};
+	*/
+	text = text.replace(/^(<(p|div|h[1-6]|blockquote|pre|table|dl|ol|ul|script|noscript|form|fieldset|iframe|math)\b[^\r]*?.*<\/\2>[ \t]*(?=\n+)\n)/gm,hashElement);
+
+	// Special case just for <hr />. It was easier to make a special case than
+	// to make the other regex more complicated.  
+
+	/*
+		text = text.replace(/
+		(						// save in $1
+			\n\n				// Starting after a blank line
+			[ ]{0,3}
+			(<(hr)				// start tag = $2
+			\b					// word break
+			([^<>])*?			// 
+			\/?>)				// the matching end tag
+			[ \t]*
+			(?=\n{2,})			// followed by a blank line
+		)
+		/g,hashElement);
+	*/
+	text = text.replace(/(\n[ ]{0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,hashElement);
+
+	// Special case for standalone HTML comments:
+
+	/*
+		text = text.replace(/
+		(						// save in $1
+			\n\n				// Starting after a blank line
+			[ ]{0,3}			// attacklab: g_tab_width - 1
+			<!
+			(--[^\r]*?--\s*)+
+			>
+			[ \t]*
+			(?=\n{2,})			// followed by a blank line
+		)
+		/g,hashElement);
+	*/
+	text = text.replace(/(\n\n[ ]{0,3}<!(--[^\r]*?--\s*)+>[ \t]*(?=\n{2,}))/g,hashElement);
+
+	// PHP and ASP-style processor instructions (<?...?> and <%...%>)
+
+	/*
+		text = text.replace(/
+		(?:
+			\n\n				// Starting after a blank line
+		)
+		(						// save in $1
+			[ ]{0,3}			// attacklab: g_tab_width - 1
+			(?:
+				<([?%])			// $2
+				[^\r]*?
+				\2>
+			)
+			[ \t]*
+			(?=\n{2,})			// followed by a blank line
+		)
+		/g,hashElement);
+	*/
+	text = text.replace(/(?:\n\n)([ ]{0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,hashElement);
+
+	// attacklab: Undo double lines (see comment at top of this function)
+	text = text.replace(/\n\n/g,"\n");
+	return text;
+}
+
+var hashElement = function(wholeMatch,m1) {
+	var blockText = m1;
+
+	// Undo double lines
+	blockText = blockText.replace(/\n\n/g,"\n");
+	blockText = blockText.replace(/^\n/,"");
+	
+	// strip trailing blank lines
+	blockText = blockText.replace(/\n+$/g,"");
+	
+	// Replace the element text with a marker ("~KxK" where x is its key)
+	blockText = "\n\n~K" + (g_html_blocks.push(blockText)-1) + "K\n\n";
+	
+	return blockText;
+};
+
+var _RunBlockGamut = function(text) {
+//
+// These are all the transformations that form block-level
+// tags like paragraphs, headers, and list items.
+//
+	text = _DoHeaders(text);
+
+	// Do Horizontal Rules:
+	var key = hashBlock("<hr />");
+	text = text.replace(/^[ ]{0,2}([ ]?\*[ ]?){3,}[ \t]*$/gm,key);
+	text = text.replace(/^[ ]{0,2}([ ]?\-[ ]?){3,}[ \t]*$/gm,key);
+	text = text.replace(/^[ ]{0,2}([ ]?\_[ ]?){3,}[ \t]*$/gm,key);
+
+	text = _DoLists(text);
+	text = _DoCodeBlocks(text);
+	text = _DoBlockQuotes(text);
+
+	// We already ran _HashHTMLBlocks() before, in Markdown(), but that
+	// was to escape raw HTML in the original Markdown source. This time,
+	// we're escaping the markup we've just created, so that we don't wrap
+	// <p> tags around block-level tags.
+	text = _HashHTMLBlocks(text);
+	text = _FormParagraphs(text);
+
+	return text;
+}
+
+
+var _RunSpanGamut = function(text) {
+//
+// These are all the transformations that occur *within* block-level
+// tags like paragraphs, headers, and list items.
+//
+
+	text = _DoCodeSpans(text);
+	text = _EscapeSpecialCharsWithinTagAttributes(text);
+	text = _EncodeBackslashEscapes(text);
+
+	// Process anchor and image tags. Images must come first,
+	// because ![foo][f] looks like an anchor.
+	text = _DoImages(text);
+	text = _DoAnchors(text);
+
+	// Make links out of things like `<http://example.com/>`
+	// Must come after _DoAnchors(), because you can use < and >
+	// delimiters in inline links like [this](<url>).
+	text = _DoAutoLinks(text);
+	text = _EncodeAmpsAndAngles(text);
+	text = _DoItalicsAndBold(text);
+
+	// Do hard breaks:
+	text = text.replace(/  +\n/g," <br />\n");
+
+	return text;
+}
+
+var _EscapeSpecialCharsWithinTagAttributes = function(text) {
+//
+// Within tags -- meaning between < and > -- encode [\ ` * _] so they
+// don't conflict with their use in Markdown for code, italics and strong.
+//
+
+	// Build a regex to find HTML tags and comments.  See Friedl's 
+	// "Mastering Regular Expressions", 2nd Ed., pp. 200-201.
+	var regex = /(<[a-z\/!$]("[^"]*"|'[^']*'|[^'">])*>|<!(--.*?--\s*)+>)/gi;
+
+	text = text.replace(regex, function(wholeMatch) {
+		var tag = wholeMatch.replace(/(.)<\/?code>(?=.)/g,"$1`");
+		tag = escapeCharacters(tag,"\\`*_");
+		return tag;
+	});
+
+	return text;
+}
+
+var _DoAnchors = function(text) {
+//
+// Turn Markdown link shortcuts into XHTML <a> tags.
+//
+	//
+	// First, handle reference-style links: [link text] [id]
+	//
+
+	/*
+		text = text.replace(/
+		(							// wrap whole match in $1
+			\[
+			(
+				(?:
+					\[[^\]]*\]		// allow brackets nested one level
+					|
+					[^\[]			// or anything else
+				)*
+			)
+			\]
+
+			[ ]?					// one optional space
+			(?:\n[ ]*)?				// one optional newline followed by spaces
+
+			\[
+			(.*?)					// id = $3
+			\]
+		)()()()()					// pad remaining backreferences
+		/g,_DoAnchors_callback);
+	*/
+	text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,writeAnchorTag);
+
+	//
+	// Next, inline-style links: [link text](url "optional title")
+	//
+
+	/*
+		text = text.replace(/
+			(						// wrap whole match in $1
+				\[
+				(
+					(?:
+						\[[^\]]*\]	// allow brackets nested one level
+					|
+					[^\[\]]			// or anything else
+				)
+			)
+			\]
+			\(						// literal paren
+			[ \t]*
+			()						// no id, so leave $3 empty
+			<?(.*?)>?				// href = $4
+			[ \t]*
+			(						// $5
+				(['"])				// quote char = $6
+				(.*?)				// Title = $7
+				\6					// matching quote
+				[ \t]*				// ignore any spaces/tabs between closing quote and )
+			)?						// title is optional
+			\)
+		)
+		/g,writeAnchorTag);
+	*/
+	text = text.replace(/(\[((?:\[[^\]]*\]|[^\[\]])*)\]\([ \t]*()<?(.*?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,writeAnchorTag);
+
+	//
+	// Last, handle reference-style shortcuts: [link text]
+	// These must come last in case you've also got [link test][1]
+	// or [link test](/foo)
+	//
+
+	/*
+		text = text.replace(/
+		(		 					// wrap whole match in $1
+			\[
+			([^\[\]]+)				// link text = $2; can't contain '[' or ']'
+			\]
+		)()()()()()					// pad rest of backreferences
+		/g, writeAnchorTag);
+	*/
+	text = text.replace(/(\[([^\[\]]+)\])()()()()()/g, writeAnchorTag);
+
+	return text;
+}
+
+var writeAnchorTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
+	if (m7 == undefined) m7 = "";
+	var whole_match = m1;
+	var link_text   = m2;
+	var link_id	 = m3.toLowerCase();
+	var url		= m4;
+	var title	= m7;
+	
+	if (url == "") {
+		if (link_id == "") {
+			// lower-case and turn embedded newlines into spaces
+			link_id = link_text.toLowerCase().replace(/ ?\n/g," ");
+		}
+		url = "#"+link_id;
+		
+		if (g_urls[link_id] != undefined) {
+			url = g_urls[link_id];
+			if (g_titles[link_id] != undefined) {
+				title = g_titles[link_id];
+			}
+		}
+		else {
+			if (whole_match.search(/\(\s*\)$/m)>-1) {
+				// Special case for explicit empty url
+				url = "";
+			} else {
+				return whole_match;
+			}
+		}
+	}	
+	
+	url = escapeCharacters(url,"*_");
+	var result = "<a href=\"" + url + "\"";
+	
+	if (title != "") {
+		title = title.replace(/"/g,"&quot;");
+		title = escapeCharacters(title,"*_");
+		result +=  " title=\"" + title + "\"";
+	}
+	
+	result += ">" + link_text + "</a>";
+	
+	return result;
+}
+
+
+var _DoImages = function(text) {
+//
+// Turn Markdown image shortcuts into <img> tags.
+//
+
+	//
+	// First, handle reference-style labeled images: ![alt text][id]
+	//
+
+	/*
+		text = text.replace(/
+		(						// wrap whole match in $1
+			!\[
+			(.*?)				// alt text = $2
+			\]
+
+			[ ]?				// one optional space
+			(?:\n[ ]*)?			// one optional newline followed by spaces
+
+			\[
+			(.*?)				// id = $3
+			\]
+		)()()()()				// pad rest of backreferences
+		/g,writeImageTag);
+	*/
+	text = text.replace(/(!\[(.*?)\][ ]?(?:\n[ ]*)?\[(.*?)\])()()()()/g,writeImageTag);
+
+	//
+	// Next, handle inline images:  ![alt text](url "optional title")
+	// Don't forget: encode * and _
+
+	/*
+		text = text.replace(/
+		(						// wrap whole match in $1
+			!\[
+			(.*?)				// alt text = $2
+			\]
+			\s?					// One optional whitespace character
+			\(					// literal paren
+			[ \t]*
+			()					// no id, so leave $3 empty
+			<?(\S+?)>?			// src url = $4
+			[ \t]*
+			(					// $5
+				(['"])			// quote char = $6
+				(.*?)			// title = $7
+				\6				// matching quote
+				[ \t]*
+			)?					// title is optional
+		\)
+		)
+		/g,writeImageTag);
+	*/
+	text = text.replace(/(!\[(.*?)\]\s?\([ \t]*()<?(\S+?)>?[ \t]*((['"])(.*?)\6[ \t]*)?\))/g,writeImageTag);
+
+	return text;
+}
+
+var writeImageTag = function(wholeMatch,m1,m2,m3,m4,m5,m6,m7) {
+	var whole_match = m1;
+	var alt_text   = m2;
+	var link_id	 = m3.toLowerCase();
+	var url		= m4;
+	var title	= m7;
+
+	if (!title) title = "";
+	
+	if (url == "") {
+		if (link_id == "") {
+			// lower-case and turn embedded newlines into spaces
+			link_id = alt_text.toLowerCase().replace(/ ?\n/g," ");
+		}
+		url = "#"+link_id;
+		
+		if (g_urls[link_id] != undefined) {
+			url = g_urls[link_id];
+			if (g_titles[link_id] != undefined) {
+				title = g_titles[link_id];
+			}
+		}
+		else {
+			return whole_match;
+		}
+	}	
+	
+	alt_text = alt_text.replace(/"/g,"&quot;");
+	url = escapeCharacters(url,"*_");
+	var result = "<img src=\"" + url + "\" alt=\"" + alt_text + "\"";
+
+	// attacklab: Markdown.pl adds empty title attributes to images.
+	// Replicate this bug.
+
+	//if (title != "") {
+		title = title.replace(/"/g,"&quot;");
+		title = escapeCharacters(title,"*_");
+		result +=  " title=\"" + title + "\"";
+	//}
+	
+	result += " />";
+	
+	return result;
+}
+
+
+var _DoHeaders = function(text) {
+
+	// Setext-style headers:
+	//	Header 1
+	//	========
+	//  
+	//	Header 2
+	//	--------
+	//
+	text = text.replace(/^(.+)[ \t]*\n=+[ \t]*\n+/gm,
+		function(wholeMatch,m1){return hashBlock("<h1>" + _RunSpanGamut(m1) + "</h1>");});
+
+	text = text.replace(/^(.+)[ \t]*\n-+[ \t]*\n+/gm,
+		function(matchFound,m1){return hashBlock("<h2>" + _RunSpanGamut(m1) + "</h2>");});
+
+	// atx-style headers:
+	//  # Header 1
+	//  ## Header 2
+	//  ## Header 2 with closing hashes ##
+	//  ...
+	//  ###### Header 6
+	//
+
+	/*
+		text = text.replace(/
+			^(\#{1,6})				// $1 = string of #'s
+			[ \t]*
+			(.+?)					// $2 = Header text
+			[ \t]*
+			\#*						// optional closing #'s (not counted)
+			\n+
+		/gm, function() {...});
+	*/
+
+	text = text.replace(/^(\#{1,6})[ \t]*(.+?)[ \t]*\#*\n+/gm,
+		function(wholeMatch,m1,m2) {
+			var h_level = m1.length;
+			return hashBlock("<h" + h_level + ">" + _RunSpanGamut(m2) + "</h" + h_level + ">");
+		});
+
+	return text;
+}
+
+// This declaration keeps Dojo compressor from outputting garbage:
+var _ProcessListItems;
+
+var _DoLists = function(text) {
+//
+// Form HTML ordered (numbered) and unordered (bulleted) lists.
+//
+
+	// attacklab: add sentinel to hack around khtml/safari bug:
+	// http://bugs.webkit.org/show_bug.cgi?id=11231
+	text += "~0";
+
+	// Re-usable pattern to match any entirel ul or ol list:
+
+	/*
+		var whole_list = /
+		(									// $1 = whole list
+			(								// $2
+				[ ]{0,3}					// attacklab: g_tab_width - 1
+				([*+-]|\d+[.])				// $3 = first list item marker
+				[ \t]+
+			)
+			[^\r]+?
+			(								// $4
+				~0							// sentinel for workaround; should be $
+			|
+				\n{2,}
+				(?=\S)
+				(?!							// Negative lookahead for another list item marker
+					[ \t]*
+					(?:[*+-]|\d+[.])[ \t]+
+				)
+			)
+		)/g
+	*/
+	var whole_list = /^(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm;
+
+	if (g_list_level) {
+		text = text.replace(whole_list,function(wholeMatch,m1,m2) {
+			var list = m1;
+			var list_type = (m2.search(/[*+-]/g)>-1) ? "ul" : "ol";
+
+			// Turn double returns into triple returns, so that we can make a
+			// paragraph for the last item in a list, if necessary:
+			list = list.replace(/\n{2,}/g,"\n\n\n");;
+			var result = _ProcessListItems(list);
+	
+			// Trim any trailing whitespace, to put the closing `</$list_type>`
+			// up on the preceding line, to get it past the current stupid
+			// HTML block parser. This is a hack to work around the terrible
+			// hack that is the HTML block parser.
+			result = result.replace(/\s+$/,"");
+			result = "<"+list_type+">" + result + "</"+list_type+">\n";
+			return result;
+		});
+	} else {
+		whole_list = /(\n\n|^\n?)(([ ]{0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(~0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/g;
+		text = text.replace(whole_list,function(wholeMatch,m1,m2,m3) {
+			var runup = m1;
+			var list = m2;
+
+			var list_type = (m3.search(/[*+-]/g)>-1) ? "ul" : "ol";
+			// Turn double returns into triple returns, so that we can make a
+			// paragraph for the last item in a list, if necessary:
+			var list = list.replace(/\n{2,}/g,"\n\n\n");;
+			var result = _ProcessListItems(list);
+			result = runup + "<"+list_type+">\n" + result + "</"+list_type+">\n";	
+			return result;
+		});
+	}
+
+	// attacklab: strip sentinel
+	text = text.replace(/~0/,"");
+
+	return text;
+}
+
+_ProcessListItems = function(list_str) {
+//
+//  Process the contents of a single ordered or unordered list, splitting it
+//  into individual list items.
+//
+	// The $g_list_level global keeps track of when we're inside a list.
+	// Each time we enter a list, we increment it; when we leave a list,
+	// we decrement. If it's zero, we're not in a list anymore.
+	//
+	// We do this because when we're not inside a list, we want to treat
+	// something like this:
+	//
+	//    I recommend upgrading to version
+	//    8. Oops, now this line is treated
+	//    as a sub-list.
+	//
+	// As a single paragraph, despite the fact that the second line starts
+	// with a digit-period-space sequence.
+	//
+	// Whereas when we're inside a list (or sub-list), that line will be
+	// treated as the start of a sub-list. What a kludge, huh? This is
+	// an aspect of Markdown's syntax that's hard to parse perfectly
+	// without resorting to mind-reading. Perhaps the solution is to
+	// change the syntax rules such that sub-lists must start with a
+	// starting cardinal number; e.g. "1." or "a.".
+
+	g_list_level++;
+
+	// trim trailing blank lines:
+	list_str = list_str.replace(/\n{2,}$/,"\n");
+
+	// attacklab: add sentinel to emulate \z
+	list_str += "~0";
+
+	/*
+		list_str = list_str.replace(/
+			(\n)?							// leading line = $1
+			(^[ \t]*)						// leading whitespace = $2
+			([*+-]|\d+[.]) [ \t]+			// list marker = $3
+			([^\r]+?						// list item text   = $4
+			(\n{1,2}))
+			(?= \n* (~0 | \2 ([*+-]|\d+[.]) [ \t]+))
+		/gm, function(){...});
+	*/
+	list_str = list_str.replace(/(\n)?(^[ \t]*)([*+-]|\d+[.])[ \t]+([^\r]+?(\n{1,2}))(?=\n*(~0|\2([*+-]|\d+[.])[ \t]+))/gm,
+		function(wholeMatch,m1,m2,m3,m4){
+			var item = m4;
+			var leading_line = m1;
+			var leading_space = m2;
+
+			if (leading_line || (item.search(/\n{2,}/)>-1)) {
+				item = _RunBlockGamut(_Outdent(item));
+			}
+			else {
+				// Recursion for sub-lists:
+				item = _DoLists(_Outdent(item));
+				item = item.replace(/\n$/,""); // chomp(item)
+				item = _RunSpanGamut(item);
+			}
+
+			return  "<li>" + item + "</li>\n";
+		}
+	);
+
+	// attacklab: strip sentinel
+	list_str = list_str.replace(/~0/g,"");
+
+	g_list_level--;
+	return list_str;
+}
+
+
+var _DoCodeBlocks = function(text) {
+//
+//  Process Markdown `<pre><code>` blocks.
+//  
+
+	/*
+		text = text.replace(text,
+			/(?:\n\n|^)
+			(								// $1 = the code block -- one or more lines, starting with a space/tab
+				(?:
+					(?:[ ]{4}|\t)			// Lines must start with a tab or a tab-width of spaces - attacklab: g_tab_width
+					.*\n+
+				)+
+			)
+			(\n*[ ]{0,3}[^ \t\n]|(?=~0))	// attacklab: g_tab_width
+		/g,function(){...});
+	*/
+
+	// attacklab: sentinel workarounds for lack of \A and \Z, safari\khtml bug
+	text += "~0";
+	
+	text = text.replace(/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=~0))/g,
+		function(wholeMatch,m1,m2) {
+			var codeblock = m1;
+			var nextChar = m2;
+		
+			codeblock = _EncodeCode( _Outdent(codeblock));
+			codeblock = _Detab(codeblock);
+			codeblock = codeblock.replace(/^\n+/g,""); // trim leading newlines
+			codeblock = codeblock.replace(/\n+$/g,""); // trim trailing whitespace
+
+			codeblock = "<pre><code>" + codeblock + "\n</code></pre>";
+
+			return hashBlock(codeblock) + nextChar;
+		}
+	);
+
+	// attacklab: strip sentinel
+	text = text.replace(/~0/,"");
+
+	return text;
+}
+
+var hashBlock = function(text) {
+	text = text.replace(/(^\n+|\n+$)/g,"");
+	return "\n\n~K" + (g_html_blocks.push(text)-1) + "K\n\n";
+}
+
+
+var _DoCodeSpans = function(text) {
+//
+//   *  Backtick quotes are used for <code></code> spans.
+// 
+//   *  You can use multiple backticks as the delimiters if you want to
+//	 include literal backticks in the code span. So, this input:
+//	 
+//		 Just type ``foo `bar` baz`` at the prompt.
+//	 
+//	   Will translate to:
+//	 
+//		 <p>Just type <code>foo `bar` baz</code> at the prompt.</p>
+//	 
+//	There's no arbitrary limit to the number of backticks you
+//	can use as delimters. If you need three consecutive backticks
+//	in your code, use four for delimiters, etc.
+//
+//  *  You can use spaces to get literal backticks at the edges:
+//	 
+//		 ... type `` `bar` `` ...
+//	 
+//	   Turns to:
+//	 
+//		 ... type <code>`bar`</code> ...
+//
+
+	/*
+		text = text.replace(/
+			(^|[^\\])					// Character before opening ` can't be a backslash
+			(`+)						// $2 = Opening run of `
+			(							// $3 = The code block
+				[^\r]*?
+				[^`]					// attacklab: work around lack of lookbehind
+			)
+			\2							// Matching closer
+			(?!`)
+		/gm, function(){...});
+	*/
+
+	text = text.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,
+		function(wholeMatch,m1,m2,m3,m4) {
+			var c = m3;
+			c = c.replace(/^([ \t]*)/g,"");	// leading whitespace
+			c = c.replace(/[ \t]*$/g,"");	// trailing whitespace
+			c = _EncodeCode(c);
+			return m1+"<code>"+c+"</code>";
+		});
+
+	return text;
+}
+
+
+var _EncodeCode = function(text) {
+//
+// Encode/escape certain characters inside Markdown code runs.
+// The point is that in code, these characters are literals,
+// and lose their special Markdown meanings.
+//
+	// Encode all ampersands; HTML entities are not
+	// entities within a Markdown code span.
+	text = text.replace(/&/g,"&amp;");
+
+	// Do the angle bracket song and dance:
+	text = text.replace(/</g,"&lt;");
+	text = text.replace(/>/g,"&gt;");
+
+	// Now, escape characters that are magic in Markdown:
+	text = escapeCharacters(text,"\*_{}[]\\",false);
+
+// jj the line above breaks this:
+//---
+
+//* Item
+
+//   1. Subitem
+
+//            special char: *
+//---
+
+	return text;
+}
+
+
+var _DoItalicsAndBold = function(text) {
+
+	// <strong> must go first:
+	text = text.replace(/(\*\*|__)(?=\S)([^\r]*?\S[*_]*)\1/g,
+		"<strong>$2</strong>");
+
+	text = text.replace(/(\*|_)(?=\S)([^\r]*?\S)\1/g,
+		"<em>$2</em>");
+
+	return text;
+}
+
+
+var _DoBlockQuotes = function(text) {
+
+	/*
+		text = text.replace(/
+		(								// Wrap whole match in $1
+			(
+				^[ \t]*>[ \t]?			// '>' at the start of a line
+				.+\n					// rest of the first line
+				(.+\n)*					// subsequent consecutive lines
+				\n*						// blanks
+			)+
+		)
+		/gm, function(){...});
+	*/
+
+	text = text.replace(/((^[ \t]*>[ \t]?.+\n(.+\n)*\n*)+)/gm,
+		function(wholeMatch,m1) {
+			var bq = m1;
+
+			// attacklab: hack around Konqueror 3.5.4 bug:
+			// "----------bug".replace(/^-/g,"") == "bug"
+
+			bq = bq.replace(/^[ \t]*>[ \t]?/gm,"~0");	// trim one level of quoting
+
+			// attacklab: clean up hack
+			bq = bq.replace(/~0/g,"");
+
+			bq = bq.replace(/^[ \t]+$/gm,"");		// trim whitespace-only lines
+			bq = _RunBlockGamut(bq);				// recurse
+			
+			bq = bq.replace(/(^|\n)/g,"$1  ");
+			// These leading spaces screw with <pre> content, so we need to fix that:
+			bq = bq.replace(
+					/(\s*<pre>[^\r]+?<\/pre>)/gm,
+				function(wholeMatch,m1) {
+					var pre = m1;
+					// attacklab: hack around Konqueror 3.5.4 bug:
+					pre = pre.replace(/^  /mg,"~0");
+					pre = pre.replace(/~0/g,"");
+					return pre;
+				});
+			
+			return hashBlock("<blockquote>\n" + bq + "\n</blockquote>");
+		});
+	return text;
+}
+
+
+var _FormParagraphs = function(text) {
+//
+//  Params:
+//    $text - string to process with html <p> tags
+//
+
+	// Strip leading and trailing lines:
+	text = text.replace(/^\n+/g,"");
+	text = text.replace(/\n+$/g,"");
+
+	var grafs = text.split(/\n{2,}/g);
+	var grafsOut = new Array();
+
+	//
+	// Wrap <p> tags.
+	//
+	var end = grafs.length;
+	for (var i=0; i<end; i++) {
+		var str = grafs[i];
+
+		// if this is an HTML marker, copy it
+		if (str.search(/~K(\d+)K/g) >= 0) {
+			grafsOut.push(str);
+		}
+		else if (str.search(/\S/) >= 0) {
+			str = _RunSpanGamut(str);
+			str = str.replace(/^([ \t]*)/g,"<p>");
+			str += "</p>"
+			grafsOut.push(str);
+		}
+
+	}
+
+	//
+	// Unhashify HTML blocks
+	//
+	end = grafsOut.length;
+	for (var i=0; i<end; i++) {
+		// if this is a marker for an html block...
+		while (grafsOut[i].search(/~K(\d+)K/) >= 0) {
+			var blockText = g_html_blocks[RegExp.$1];
+			blockText = blockText.replace(/\$/g,"$$$$"); // Escape any dollar signs
+			grafsOut[i] = grafsOut[i].replace(/~K\d+K/,blockText);
+		}
+	}
+
+	return grafsOut.join("\n\n");
+}
+
+
+var _EncodeAmpsAndAngles = function(text) {
+// Smart processing for ampersands and angle brackets that need to be encoded.
+	
+	// Ampersand-encoding based entirely on Nat Irons's Amputator MT plugin:
+	//   http://bumppo.net/projects/amputator/
+	text = text.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&amp;");
+	
+	// Encode naked <'s
+	text = text.replace(/<(?![a-z\/?\$!])/gi,"&lt;");
+	
+	return text;
+}
+
+
+var _EncodeBackslashEscapes = function(text) {
+//
+//   Parameter:  String.
+//   Returns:	The string, with after processing the following backslash
+//			   escape sequences.
+//
+
+	// attacklab: The polite way to do this is with the new
+	// escapeCharacters() function:
+	//
+	// 	text = escapeCharacters(text,"\\",true);
+	// 	text = escapeCharacters(text,"`*_{}[]()>#+-.!",true);
+	//
+	// ...but we're sidestepping its use of the (slow) RegExp constructor
+	// as an optimization for Firefox.  This function gets called a LOT.
+
+	text = text.replace(/\\(\\)/g,escapeCharacters_callback);
+	text = text.replace(/\\([`*_{}\[\]()>#+-.!])/g,escapeCharacters_callback);
+	return text;
+}
+
+
+var _DoAutoLinks = function(text) {
+
+	text = text.replace(/<((https?|ftp|dict):[^'">\s]+)>/gi,"<a href=\"$1\">$1</a>");
+
+	// Email addresses: <address@domain.foo>
+
+	/*
+		text = text.replace(/
+			<
+			(?:mailto:)?
+			(
+				[-.\w]+
+				\@
+				[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+
+			)
+			>
+		/gi, _DoAutoLinks_callback());
+	*/
+	text = text.replace(/<(?:mailto:)?([-.\w]+\@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,
+		function(wholeMatch,m1) {
+			return _EncodeEmailAddress( _UnescapeSpecialChars(m1) );
+		}
+	);
+
+	return text;
+}
+
+
+var _EncodeEmailAddress = function(addr) {
+//
+//  Input: an email address, e.g. "foo@example.com"
+//
+//  Output: the email address as a mailto link, with each character
+//	of the address encoded as either a decimal or hex entity, in
+//	the hopes of foiling most address harvesting spam bots. E.g.:
+//
+//	<a href="&#x6D;&#97;&#105;&#108;&#x74;&#111;:&#102;&#111;&#111;&#64;&#101;
+//	   x&#x61;&#109;&#x70;&#108;&#x65;&#x2E;&#99;&#111;&#109;">&#102;&#111;&#111;
+//	   &#64;&#101;x&#x61;&#109;&#x70;&#108;&#x65;&#x2E;&#99;&#111;&#109;</a>
+//
+//  Based on a filter by Matthew Wickline, posted to the BBEdit-Talk
+//  mailing list: <http://tinyurl.com/yu7ue>
+//
+
+	// attacklab: why can't javascript speak hex?
+	function char2hex(ch) {
+		var hexDigits = '0123456789ABCDEF';
+		var dec = ch.charCodeAt(0);
+		return(hexDigits.charAt(dec>>4) + hexDigits.charAt(dec&15));
+	}
+
+	var encode = [
+		function(ch){return "&#"+ch.charCodeAt(0)+";";},
+		function(ch){return "&#x"+char2hex(ch)+";";},
+		function(ch){return ch;}
+	];
+
+	addr = "mailto:" + addr;
+
+	addr = addr.replace(/./g, function(ch) {
+		if (ch == "@") {
+		   	// this *must* be encoded. I insist.
+			ch = encode[Math.floor(Math.random()*2)](ch);
+		} else if (ch !=":") {
+			// leave ':' alone (to spot mailto: later)
+			var r = Math.random();
+			// roughly 10% raw, 45% hex, 45% dec
+			ch =  (
+					r > .9  ?	encode[2](ch)   :
+					r > .45 ?	encode[1](ch)   :
+								encode[0](ch)
+				);
+		}
+		return ch;
+	});
+
+	addr = "<a href=\"" + addr + "\">" + addr + "</a>";
+	addr = addr.replace(/">.+:/g,"\">"); // strip the mailto: from the visible part
+
+	return addr;
+}
+
+
+var _UnescapeSpecialChars = function(text) {
+//
+// Swap back in all the special characters we've hidden.
+//
+	text = text.replace(/~E(\d+)E/g,
+		function(wholeMatch,m1) {
+			var charCodeToReplace = parseInt(m1);
+			return String.fromCharCode(charCodeToReplace);
+		}
+	);
+	return text;
+}
+
+
+var _Outdent = function(text) {
+//
+// Remove one level of line-leading tabs or spaces
+//
+
+	// attacklab: hack around Konqueror 3.5.4 bug:
+	// "----------bug".replace(/^-/g,"") == "bug"
+
+	text = text.replace(/^(\t|[ ]{1,4})/gm,"~0"); // attacklab: g_tab_width
+
+	// attacklab: clean up hack
+	text = text.replace(/~0/g,"")
+
+	return text;
+}
+
+var _Detab = function(text) {
+// attacklab: Detab's completely rewritten for speed.
+// In perl we could fix it by anchoring the regexp with \G.
+// In javascript we're less fortunate.
+
+	// expand first n-1 tabs
+	text = text.replace(/\t(?=\t)/g,"    "); // attacklab: g_tab_width
+
+	// replace the nth with two sentinels
+	text = text.replace(/\t/g,"~A~B");
+
+	// use the sentinel to anchor our regex so it doesn't explode
+	text = text.replace(/~B(.+?)~A/g,
+		function(wholeMatch,m1,m2) {
+			var leadingText = m1;
+			var numSpaces = 4 - leadingText.length % 4;  // attacklab: g_tab_width
+
+			// there *must* be a better way to do this:
+			for (var i=0; i<numSpaces; i++) leadingText+=" ";
+
+			return leadingText;
+		}
+	);
+
+	// clean up sentinels
+	text = text.replace(/~A/g,"    ");  // attacklab: g_tab_width
+	text = text.replace(/~B/g,"");
+
+	return text;
+}
+
+
+//
+//  attacklab: Utility functions
+//
+
+
+var escapeCharacters = function(text, charsToEscape, afterBackslash) {
+	// First we have to escape the escape characters so that
+	// we can build a character class out of them
+	var regexString = "([" + charsToEscape.replace(/([\[\]\\])/g,"\\$1") + "])";
+
+	if (afterBackslash) {
+		regexString = "\\\\" + regexString;
+	}
+
+	var regex = new RegExp(regexString,"g");
+	text = text.replace(regex,escapeCharacters_callback);
+
+	return text;
+}
+
+
+var escapeCharacters_callback = function(wholeMatch,m1) {
+	var charCodeToEscape = m1.charCodeAt(0);
+	return "~E"+charCodeToEscape+"E";
+}
+
+} // end of Showdown.converter
diff --git a/transfersh-web/scripts/typewriter-bundle.min.js b/transfersh-web/scripts/typewriter-bundle.min.js
deleted file mode 100644
index bf60407..0000000
--- a/transfersh-web/scripts/typewriter-bundle.min.js
+++ /dev/null
@@ -1 +0,0 @@
-require=function t(e,n,r){function i(u,s){if(!n[u]){if(!e[u]){var a="function"==typeof require&&require;if(!s&&a)return a(u,!0);if(o)return o(u,!0);throw new Error("Cannot find module '"+u+"'")}var c=n[u]={exports:{}};e[u][0].call(c.exports,function(t){var n=e[u][1][t];return i(n?n:t)},c,c.exports,t,e,n,r)}return n[u].exports}for(var o="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}({1:[function(t,e){(function(){var n,r;r=t("./random"),n=function(t,e,n,i){var o,u,s;return o=-1,s=-1,u=!1,{next:function(){var a;if(o>=i.length-1){if(-1===s)return null;u=!0}return u?o>=s?(o--,"\b"):(u=!1,s=-1,i.charAt(++o)):(o++,u=-1!==s&&o%n===0,r.integerInRange(0,100)>e?(a=t.getAdjacentCharacter(i.charAt(o)),null==a?i.charAt(o):(-1===s&&(s=o,u=1===r.integerInRange(0,1)),a)):i.charAt(o))}}},e.exports=n}).call(this)},{"./random":4}],2:[function(t,e){(function(){var n,r,i,o;o=t("./random"),i=[["`","1","2","3","4","5","6","7","8","9","0","-","="],["","Q","W","E","R","T","Y","U","I","O","P","[","]","\\"],["","A","S","D","F","G","H","J","K","L",";","'"],["","Z","X","C","V","B","N","M",",",".","/"]],r=function(t){return t===t.toLowerCase()},n=function(t){var e,u,s,a,c,l,f,p,m,h;for(l=f=0,m=i.length;m>f;l=f+=1)for(a=p=0,h=i[l].length;h>p;a=p+=1)if(i[l][a].toLowerCase()===t.toLowerCase())return c=o.integerInRange(-1,1),s=l+c,(s>=i.length||0>s)&&(s+=-2*c),a>=i[s].length&&(a=i[s].length-1),c=0===c?[-1,1][o.integerInRange(0,1)]:o.integerInRange(-1,1),u=a+c,(u>=i[s].length||0>u)&&(u+=-2*c),e=i[s][u],""===e?n(t):r(t)?e.toLowerCase():e;return null},e.exports.getAdjacentCharacter=n}).call(this)},{"./random":4}],3:[function(t,e){(function(){var n,r,i;i=t("assert"),r=t("./sequence"),n=function(){function t(t){this.onWait=t,this._sequences=[],this._waiting=!0,"function"==typeof this.onWait&&this.onWait()}return t.prototype._next=function(){var t,e,n,r,i;for(e=null,i=this._sequences,n=0,r=i.length;r>n;n++)if(t=i[n],null!=t){if(t.empty())continue;e=t;break}return null!=e?e.next(this._next.bind(this)):(this._sequences=[],this._waiting=!0,"function"==typeof this.onWait?this.onWait():void 0)},t.prototype.then=function(t,e){return i.ok(null!=t,"The priority must be specified"),i.strictEqual(typeof t,"number","Priority must be a number"),i.strictEqual(~~t,t,"Priority must be an integer"),i.ok(t>=0,"Priority must be a positive integer"),i.ok(null!=e,"The function must be specified"),null==this._sequences[t]&&(this._sequences[t]=new r),this._sequences[t].add(e),this._waiting?(this._waiting=!1,this._next()):void 0},t}(),e.exports=n}).call(this)},{"./sequence":5,assert:9}],4:[function(t,e){(function(){var n,r;n=t("assert"),r=function(t,e){return n.ok(null!=t,"The minimum must be specified"),n.strictEqual(typeof t,"number","Min must be a Number"),n.strictEqual(~~t,t,"Min must be an integer"),n.ok(null!=e,"The maximum must be specified"),n.strictEqual(typeof e,"number","Max must be a Number"),n.strictEqual(~~e,e,"Max must be an integer"),n.strictEqual(e>=t,!0,"Min must be less than or equal to Max"),t===e?t:Math.floor(Math.random()*(e-t+1))+t},e.exports.integerInRange=r}).call(this)},{assert:9}],5:[function(t,e){(function(){var n,r;r=t("assert"),n=function(){function t(){this._queue=[]}return t.prototype.next=function(t){var e;return this.empty()?void 0:(e=this._queue.shift())(t)},t.prototype.add=function(t){return r.ok(null!=t,"The function must be specified"),this._queue.push(t)},t.prototype.empty=function(){return 0===this._queue.length},t}(),e.exports=n}).call(this)},{assert:9}],6:[function(t,e){(function(n){(function(){var r,i,o,u,s;o=t("assert"),r=t("./prioritysequence"),s=t("./random"),u=t("./charactergenerator"),i=function(){function t(){this._prioritySequence=new r(function(t){return function(){return t._sequenceLevel=0}}(this))}return t.prototype.setTargetDomElement=function(t){return o.ok(t instanceof Element,"TargetDomElement must be an instance of Element"),this.targetDomElement=t},t.prototype.setAccuracy=function(t){return o.strictEqual(typeof t,"number","Accuracy must be a number"),o.ok(t>0&&100>=t,"Accuracy must be greater than 0 and less than or equal to 100"),this.accuracy=t},t.prototype.setMinimumSpeed=function(t){return o.strictEqual(typeof t,"number","MinimumSpeed must be a number"),o.ok(t>0,"MinimumSpeed must be greater than 0"),this.minimumSpeed=null!=this.maximumSpeed&&t>this.maximumSpeed?this.maximumSpeed:t},t.prototype.setMaximumSpeed=function(t){return o.strictEqual(typeof t,"number","MaximumSpeed must be a number"),o.ok(t>0,"MaximumSpeed must be greater than 0"),this.maximumSpeed=null!=this.minimumSpeed&&this.minimumSpeed>t?minimumSpeed:t},t.prototype.setKeyboardLayout=function(t){return o.strictEqual(typeof t.getAdjacentCharacter,"function","KeyboardLayout must have an exported getAdjacentCharacter method"),this.keyboardLayout=t},t.prototype._makeChainable=function(t,e){var r;return r=Object.create(this),r._sequenceLevel=this._sequenceLevel,this._prioritySequence.then(this._sequenceLevel,function(i){return n.nextTick(function(){return e(function(){return null!=t&&t.call(r),i()})})}),null!=t&&this._sequenceLevel++,null==t||this.hasOwnProperty("_prioritySequence")?this:void 0},t.prototype.clear=function(t){return this._makeChainable(t,function(t){return function(e){for(var n;null!=(n=t.targetDomElement.lastChild);)t.targetDomElement.removeChild(n);return e()}}(this))},t.prototype.waitRange=function(t,e,n){return this._makeChainable(n,function(){return function(n){return setTimeout(n,s.integerInRange(t,e))}}(this))},t.prototype.wait=function(t,e){return this.waitRange(t,t,e)},t.prototype.put=function(t,e){return this._makeChainable(e,function(e){return function(n){var r,i;for(i=document.createElement("div"),i.innerHTML=t;null!=(r=i.firstChild);)e.targetDomElement.appendChild(r);return n()}}(this))},t.prototype["delete"]=function(t){return this._makeChainable(t,function(t){return function(e){return t.targetDomElement.removeChild(t.targetDomElement.lastChild),e()}}(this))},t.prototype.type=function(t,e){var n,r,i;for(r=(this.minimumSpeed+this.maximumSpeed)/2,i=u(this.keyboardLayout,this.accuracy,r,t);null!==(n=i.next());)"\b"!==n?this.put(n):this["delete"](),this.waitRange(~~(1e3/this.maximumSpeed),~~(1e3/this.minimumSpeed));return this.wait(0,e)},t}(),e.exports=i}).call(this)}).call(this,t("FWaASH"))},{"./charactergenerator":1,"./prioritysequence":3,"./random":4,FWaASH:13,assert:9}],OPj7T5:[function(t,e){(function(){var n,r,i;i=t("assert"),n=t("./typewriter"),r=function(e){var r;return r=new n,r.setTargetDomElement(e),{withAccuracy:function(t){return this.accuracy=t,r.setAccuracy(this.accuracy),this},withMinimumSpeed:function(t){return this.minimumSpeed=t,r.setMinimumSpeed(this.minimumSpeed),this},withMaximumSpeed:function(t){return this.maximumSpeed=t,r.setMaximumSpeed(this.maximumSpeed),this},withKeyboardLayout:function(t){return this.keyboardLayout=t,r.setKeyboardLayout(this.keyboardLayout),this},build:function(){return i.ok(null!=this.accuracy,"Accuracy must be set"),i.ok(null!=this.minimumSpeed,"MinimumSpeed must be set"),i.ok(null!=this.maximumSpeed,"MaximumSpeed must be set"),null==this.keyboardLayout&&r.setKeyboardLayout(t("./defaultkeyboardlayout")),r}}},e.exports=r}).call(this)},{"./defaultkeyboardlayout":2,"./typewriter":6,assert:9}],typewriter:[function(t,e){e.exports=t("OPj7T5")},{}],9:[function(t,e){function n(t,e){return p.isUndefined(e)?""+e:!p.isNumber(e)||!isNaN(e)&&isFinite(e)?p.isFunction(e)||p.isRegExp(e)?e.toString():e:e.toString()}function r(t,e){return p.isString(t)?t.length<e?t:t.slice(0,e):t}function i(t){return r(JSON.stringify(t.actual,n),128)+" "+t.operator+" "+r(JSON.stringify(t.expected,n),128)}function o(t,e,n,r,i){throw new d.AssertionError({message:n,actual:t,expected:e,operator:r,stackStartFunction:i})}function u(t,e){t||o(t,!0,e,"==",d.ok)}function s(t,e){if(t===e)return!0;if(p.isBuffer(t)&&p.isBuffer(e)){if(t.length!=e.length)return!1;for(var n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}return p.isDate(t)&&p.isDate(e)?t.getTime()===e.getTime():p.isRegExp(t)&&p.isRegExp(e)?t.source===e.source&&t.global===e.global&&t.multiline===e.multiline&&t.lastIndex===e.lastIndex&&t.ignoreCase===e.ignoreCase:p.isObject(t)||p.isObject(e)?c(t,e):t==e}function a(t){return"[object Arguments]"==Object.prototype.toString.call(t)}function c(t,e){if(p.isNullOrUndefined(t)||p.isNullOrUndefined(e))return!1;if(t.prototype!==e.prototype)return!1;if(a(t))return a(e)?(t=m.call(t),e=m.call(e),s(t,e)):!1;try{var n,r,i=g(t),o=g(e)}catch(u){return!1}if(i.length!=o.length)return!1;for(i.sort(),o.sort(),r=i.length-1;r>=0;r--)if(i[r]!=o[r])return!1;for(r=i.length-1;r>=0;r--)if(n=i[r],!s(t[n],e[n]))return!1;return!0}function l(t,e){return t&&e?"[object RegExp]"==Object.prototype.toString.call(e)?e.test(t):t instanceof e?!0:e.call({},t)===!0?!0:!1:!1}function f(t,e,n,r){var i;p.isString(n)&&(r=n,n=null);try{e()}catch(u){i=u}if(r=(n&&n.name?" ("+n.name+").":".")+(r?" "+r:"."),t&&!i&&o(i,n,"Missing expected exception"+r),!t&&l(i,n)&&o(i,n,"Got unwanted exception"+r),t&&i&&n&&!l(i,n)||!t&&i)throw i}var p=t("util/"),m=Array.prototype.slice,h=Object.prototype.hasOwnProperty,d=e.exports=u;d.AssertionError=function(t){this.name="AssertionError",this.actual=t.actual,this.expected=t.expected,this.operator=t.operator,t.message?(this.message=t.message,this.generatedMessage=!1):(this.message=i(this),this.generatedMessage=!0);var e=t.stackStartFunction||o;if(Error.captureStackTrace)Error.captureStackTrace(this,e);else{var n=new Error;if(n.stack){var r=n.stack,u=e.name,s=r.indexOf("\n"+u);if(s>=0){var a=r.indexOf("\n",s+1);r=r.substring(a+1)}this.stack=r}}},p.inherits(d.AssertionError,Error),d.fail=o,d.ok=u,d.equal=function(t,e,n){t!=e&&o(t,e,n,"==",d.equal)},d.notEqual=function(t,e,n){t==e&&o(t,e,n,"!=",d.notEqual)},d.deepEqual=function(t,e,n){s(t,e)||o(t,e,n,"deepEqual",d.deepEqual)},d.notDeepEqual=function(t,e,n){s(t,e)&&o(t,e,n,"notDeepEqual",d.notDeepEqual)},d.strictEqual=function(t,e,n){t!==e&&o(t,e,n,"===",d.strictEqual)},d.notStrictEqual=function(t,e,n){t===e&&o(t,e,n,"!==",d.notStrictEqual)},d.throws=function(){f.apply(this,[!0].concat(m.call(arguments)))},d.doesNotThrow=function(){f.apply(this,[!1].concat(m.call(arguments)))},d.ifError=function(t){if(t)throw t};var g=Object.keys||function(t){var e=[];for(var n in t)h.call(t,n)&&e.push(n);return e}},{"util/":11}],10:[function(t,e){e.exports=function(t){return t&&"object"==typeof t&&"function"==typeof t.copy&&"function"==typeof t.fill&&"function"==typeof t.readUInt8}},{}],11:[function(t,e,n){(function(e,r){function i(t,e){var r={seen:[],stylize:u};return arguments.length>=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),d(e)?r.showHidden=e:e&&n._extend(r,e),x(r.showHidden)&&(r.showHidden=!1),x(r.depth)&&(r.depth=2),x(r.colors)&&(r.colors=!1),x(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=o),a(r,t,r.depth)}function o(t,e){var n=i.styles[e];return n?"["+i.colors[n][0]+"m"+t+"["+i.colors[n][1]+"m":t}function u(t){return t}function s(t){var e={};return t.forEach(function(t){e[t]=!0}),e}function a(t,e,r){if(t.customInspect&&e&&O(e.inspect)&&e.inspect!==n.inspect&&(!e.constructor||e.constructor.prototype!==e)){var i=e.inspect(r,t);return v(i)||(i=a(t,i,r)),i}var o=c(t,e);if(o)return o;var u=Object.keys(e),d=s(u);if(t.showHidden&&(u=Object.getOwnPropertyNames(e)),k(e)&&(u.indexOf("message")>=0||u.indexOf("description")>=0))return l(e);if(0===u.length){if(O(e)){var g=e.name?": "+e.name:"";return t.stylize("[Function"+g+"]","special")}if(S(e))return t.stylize(RegExp.prototype.toString.call(e),"regexp");if(q(e))return t.stylize(Date.prototype.toString.call(e),"date");if(k(e))return l(e)}var y="",b=!1,w=["{","}"];if(h(e)&&(b=!0,w=["[","]"]),O(e)){var x=e.name?": "+e.name:"";y=" [Function"+x+"]"}if(S(e)&&(y=" "+RegExp.prototype.toString.call(e)),q(e)&&(y=" "+Date.prototype.toUTCString.call(e)),k(e)&&(y=" "+l(e)),0===u.length&&(!b||0==e.length))return w[0]+y+w[1];if(0>r)return S(e)?t.stylize(RegExp.prototype.toString.call(e),"regexp"):t.stylize("[Object]","special");t.seen.push(e);var E;return E=b?f(t,e,r,d,u):u.map(function(n){return p(t,e,r,d,n,b)}),t.seen.pop(),m(E,y,w)}function c(t,e){if(x(e))return t.stylize("undefined","undefined");if(v(e)){var n="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(n,"string")}return b(e)?t.stylize(""+e,"number"):d(e)?t.stylize(""+e,"boolean"):g(e)?t.stylize("null","null"):void 0}function l(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,n,r,i){for(var o=[],u=0,s=e.length;s>u;++u)o.push(D(e,String(u))?p(t,e,n,r,String(u),!0):"");return i.forEach(function(i){i.match(/^\d+$/)||o.push(p(t,e,n,r,i,!0))}),o}function p(t,e,n,r,i,o){var u,s,c;if(c=Object.getOwnPropertyDescriptor(e,i)||{value:e[i]},c.get?s=c.set?t.stylize("[Getter/Setter]","special"):t.stylize("[Getter]","special"):c.set&&(s=t.stylize("[Setter]","special")),D(r,i)||(u="["+i+"]"),s||(t.seen.indexOf(c.value)<0?(s=g(n)?a(t,c.value,null):a(t,c.value,n-1),s.indexOf("\n")>-1&&(s=o?s.split("\n").map(function(t){return"  "+t}).join("\n").substr(2):"\n"+s.split("\n").map(function(t){return"   "+t}).join("\n"))):s=t.stylize("[Circular]","special")),x(u)){if(o&&i.match(/^\d+$/))return s;u=JSON.stringify(""+i),u.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(u=u.substr(1,u.length-2),u=t.stylize(u,"name")):(u=u.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),u=t.stylize(u,"string"))}return u+": "+s}function m(t,e,n){var r=0,i=t.reduce(function(t,e){return r++,e.indexOf("\n")>=0&&r++,t+e.replace(/\u001b\[\d\d?m/g,"").length+1},0);return i>60?n[0]+(""===e?"":e+"\n ")+" "+t.join(",\n  ")+" "+n[1]:n[0]+e+" "+t.join(", ")+" "+n[1]}function h(t){return Array.isArray(t)}function d(t){return"boolean"==typeof t}function g(t){return null===t}function y(t){return null==t}function b(t){return"number"==typeof t}function v(t){return"string"==typeof t}function w(t){return"symbol"==typeof t}function x(t){return void 0===t}function S(t){return E(t)&&"[object RegExp]"===_(t)}function E(t){return"object"==typeof t&&null!==t}function q(t){return E(t)&&"[object Date]"===_(t)}function k(t){return E(t)&&("[object Error]"===_(t)||t instanceof Error)}function O(t){return"function"==typeof t}function j(t){return null===t||"boolean"==typeof t||"number"==typeof t||"string"==typeof t||"symbol"==typeof t||"undefined"==typeof t}function _(t){return Object.prototype.toString.call(t)}function A(t){return 10>t?"0"+t.toString(10):t.toString(10)}function M(){var t=new Date,e=[A(t.getHours()),A(t.getMinutes()),A(t.getSeconds())].join(":");return[t.getDate(),N[t.getMonth()],e].join(" ")}function D(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var C=/%[sdj%]/g;n.format=function(t){if(!v(t)){for(var e=[],n=0;n<arguments.length;n++)e.push(i(arguments[n]));return e.join(" ")}for(var n=1,r=arguments,o=r.length,u=String(t).replace(C,function(t){if("%%"===t)return"%";if(n>=o)return t;switch(t){case"%s":return String(r[n++]);case"%d":return Number(r[n++]);case"%j":try{return JSON.stringify(r[n++])}catch(e){return"[Circular]"}default:return t}}),s=r[n];o>n;s=r[++n])u+=g(s)||!E(s)?" "+s:" "+i(s);return u},n.deprecate=function(t,i){function o(){if(!u){if(e.throwDeprecation)throw new Error(i);e.traceDeprecation?console.trace(i):console.error(i),u=!0}return t.apply(this,arguments)}if(x(r.process))return function(){return n.deprecate(t,i).apply(this,arguments)};if(e.noDeprecation===!0)return t;var u=!1;return o};var L,T={};n.debuglog=function(t){if(x(L)&&(L=e.env.NODE_DEBUG||""),t=t.toUpperCase(),!T[t])if(new RegExp("\\b"+t+"\\b","i").test(L)){var r=e.pid;T[t]=function(){var e=n.format.apply(n,arguments);console.error("%s %d: %s",t,r,e)}}else T[t]=function(){};return T[t]},n.inspect=i,i.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},i.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},n.isArray=h,n.isBoolean=d,n.isNull=g,n.isNullOrUndefined=y,n.isNumber=b,n.isString=v,n.isSymbol=w,n.isUndefined=x,n.isRegExp=S,n.isObject=E,n.isDate=q,n.isError=k,n.isFunction=O,n.isPrimitive=j,n.isBuffer=t("./support/isBuffer");var N=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];n.log=function(){console.log("%s - %s",M(),n.format.apply(n,arguments))},n.inherits=t("inherits"),n._extend=function(t,e){if(!e||!E(e))return t;for(var n=Object.keys(e),r=n.length;r--;)t[n[r]]=e[n[r]];return t}}).call(this,t("FWaASH"),"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./support/isBuffer":10,FWaASH:13,inherits:12}],12:[function(t,e){e.exports="function"==typeof Object.create?function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:function(t,e){t.super_=e;var n=function(){};n.prototype=e.prototype,t.prototype=new n,t.prototype.constructor=t}},{}],13:[function(t,e){function n(){}var r=e.exports={};r.nextTick=function(){var t="undefined"!=typeof window&&window.setImmediate,e="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(t)return function(t){return window.setImmediate(t)};if(e){var n=[];return window.addEventListener("message",function(t){var e=t.source;if((e===window||null===e)&&"process-tick"===t.data&&(t.stopPropagation(),n.length>0)){var r=n.shift();r()}},!0),function(t){n.push(t),window.postMessage("process-tick","*")}}return function(t){setTimeout(t,0)}}(),r.title="browser",r.browser=!0,r.env={},r.argv=[],r.on=n,r.addListener=n,r.once=n,r.off=n,r.removeListener=n,r.removeAllListeners=n,r.emit=n,r.binding=function(){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(){throw new Error("process.chdir is not supported")}},{}]},{},[]);
\ No newline at end of file
diff --git a/transfersh-web/styles/bootstrap.less b/transfersh-web/styles/bootstrap.less
index 9415057..eabce70 100644
--- a/transfersh-web/styles/bootstrap.less
+++ b/transfersh-web/styles/bootstrap.less
@@ -9,10 +9,10 @@
 // Core CSS
 @import "../bower_components/bootstrap/less/scaffolding.less";
 @import "../bower_components/bootstrap/less/type.less";
-/* @import "../bower_components/bootstrap/less/code.less"; */
+// @import "../bower_components/bootstrap/less/code.less";
 @import "../bower_components/bootstrap/less/grid.less";
-//@import "../bower_components/bootstrap/less/tables.less";
-//@import "../bower_components/bootstrap/less/forms.less";
+@import "../bower_components/bootstrap/less/tables.less";
+@import "../bower_components/bootstrap/less/forms.less";
 //@import "../bower_components/bootstrap/less/buttons.less";
 
 // Components
diff --git a/transfersh-web/styles/includes/global.less b/transfersh-web/styles/includes/global.less
index e466dd2..9c821ab 100644
--- a/transfersh-web/styles/includes/global.less
+++ b/transfersh-web/styles/includes/global.less
@@ -1,4 +1,9 @@
 
+body {
+    max-width: 2000px;
+    margin: 0 auto;
+}
+
 .browsehappy {
     margin: 0.2em 0;
     background: orange;
@@ -10,8 +15,8 @@
     margin-top: 30px;
     ul {
         list-style: none;
-        max-width: 300px;
-        margin: 0 auto;
+        max-width: 400px;
+        marghomein: 0 auto;
     }
     li {
         display: inline-block;
@@ -41,8 +46,7 @@
 }
 
 
-
-h2 {
+.page-title {
     text-align: center;
     font-size: 35px;
     @media (min-width: @screen-sm-min) {
@@ -90,8 +94,6 @@ a {
     }
 }
 
-
-
 ::selection {
   background: @red;
 }
diff --git a/transfersh-web/styles/includes/home.less b/transfersh-web/styles/includes/home.less
index 80ea9fe..e98cff5 100644
--- a/transfersh-web/styles/includes/home.less
+++ b/transfersh-web/styles/includes/home.less
@@ -1,14 +1,14 @@
 #home {
     text-align: center;
-    h2 {
+    .page-title {
         font-size: 30px;
     }
     @media (min-width: @screen-sm-min) {
         padding: 50px;
-        h2 {
+        .page-title {
             font-size: 45px;
             margin-top: -20px;
-            margin-bottom: 45px;
+            margin-bottom: 20px;
         }
     }
     .btn-home {
@@ -68,7 +68,12 @@
 }
 
 .terminal {
+    a {
+        color: #fff
+    }
+
      .border-top-radius (0);
+
     .border-bottom-radius (5px);
     background: @dark-blue;
  //   background: url(../images/terminal.svg);
@@ -93,6 +98,7 @@
     span {
         float: right;
     }
+    padding-top: 4px;
 }
 
 .all-files {
diff --git a/transfersh-web/styles/includes/pages.less b/transfersh-web/styles/includes/pages.less
index 7a81146..47d1b21 100644
--- a/transfersh-web/styles/includes/pages.less
+++ b/transfersh-web/styles/includes/pages.less
@@ -21,7 +21,7 @@
     h4 {
         margin-top: 30px;
     }
-    padding: 50px 0;
+    padding: 75px 0;
     text-align: center;
     .btn-cta {
         margin: 30px 0;
@@ -61,6 +61,26 @@
     }
 }
 
+#github {
+    text-align: center;
+    padding: 50px 0;
+
+}
+
+#tor {
+    text-align: center;
+    img {
+        max-width: 100px;
+        margin: 0 auto;
+        margin-bottom: 10px;
+    }
+    background: @light-gray;
+    padding: 50px 0;
+    a {
+        font-size: 20px;
+    }
+}
+
 
 footer {
     text-align: center;
diff --git a/transfersh-web/styles/includes/preview.less b/transfersh-web/styles/includes/preview.less
new file mode 100644
index 0000000..4be6ebe
--- /dev/null
+++ b/transfersh-web/styles/includes/preview.less
@@ -0,0 +1,200 @@
+.preview-wrapper {
+    padding-bottom: 30px;
+}
+
+html {
+  min-height:100%;
+}
+#download {
+position: static;
+    footer {
+        bottom: 0; 
+        left: 0;
+        width: 100%;
+        position: absolute;
+        z-index: -1;
+    }
+}
+
+.preview-image  {
+	img {
+		margin: 0 auto;
+		display:block;
+		max-width: 800px;
+		max-width: 100%;
+	}
+padding: 0;
+padding: 0px;
+}
+
+.overlay {
+  position: fixed;
+  z-index: 100;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: rgba(0,0,0,0.10);
+  visibility: hidden;
+  opacity: 0;
+  transition: opacity 0.2s ease;
+  .active & {
+    visibility: visible;
+    opacity: 1;
+  }
+}
+
+.copy-link-wrapper {
+  z-index: 200;
+  padding: 2em;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  width: 50%;
+  max-width: 500px;
+  min-width: 300px;
+  background-color: @blue;
+  border-radius: 2px;
+  transform: translateX(-50%) translateY(-50%);
+  opacity: 0;
+  transition: opacity 0.2s ease;
+	clip:rect(1px 1px 1px 1px);
+	opacity: 0;
+	top: -9999999px;
+	left: -9999999px;
+  .active & {
+    clip: auto;
+	  opacity: 1;
+	  top: 50%;
+	  left: 50%;
+  }
+	p {
+		font-size: 20px;
+		color: #fff;
+	}
+  input {
+    background-color: @light-gray;
+    color: @text-color;
+    border: 0;
+    font-size: 1em;
+    padding: 1em;
+    margin: 0;
+    width: 100%;
+    border-radius: 2px;
+    white-space: nowrap;
+    overflow: hidden;
+    text-overflow: ellipsis;
+  }
+  .error {
+    text-align: center;
+    color: #E7483B;
+    display: block;
+    padding: 0.5em;
+  }
+}
+
+#md-preview,{
+	padding-bottom: 30px;
+}
+
+
+video {
+  margin: 0 auto;
+  width: 100%;
+}
+
+
+.wrap {
+  width: 40%;
+  height: 40%;
+  margin: 20px auto;
+}
+
+video {
+  width: 100%;
+}
+
+video::-webkit-media-controls-enclosure {
+  padding: 0px;
+  height: 50px;
+}
+
+video::-webkit-media-controls-panel {
+  opacity: 1 !important;
+  display: -webkit-flex !important;
+  margin-top: 50px;
+  height: 50px;
+  background-color: @dark-blue;
+  border-radius: 0 0 10px 10px;
+}
+
+video::-webkit-media-controls-timeline {
+  height: 12px;
+  padding: 0px; 
+  border: 0px;
+}
+
+video::-webkit-media-controls-volume-slider, video::-webkit-media-controls-timeline {
+  height: 12px;
+  border-radius: 5px;
+  min-width: 15px;
+}
+
+video::-webkit-media-controls-volume-slider::-webkit-media-slider-container, video::-webkit-media-controls-timeline::-webkit-media-slider-container {
+  border: 0px;
+  border-radius: 5px;
+  background-color: @blue;
+  cursor: pointer;
+}
+
+::-webkit-media-slider-thumb {
+  -webkit-appearance: none;
+  background: red;
+}
+
+video::-webkit-media-controls-play-button {
+  cursor: pointer;
+
+}
+
+video::-webkit-media-controls-play-button:hover {
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
+  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
+  opacity: 0.7;
+}
+
+video::-webkit-media-controls-fullscreen-button {
+  -webkit-appearance: none;
+  background-color: transparent;
+  cursor: pointer;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAABACAYAAADF2C3zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3MDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3MTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQyQkE2QUZGNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQyQkE2QjAwNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1z7uaAAAAVhJREFUeNrsljFuAjEQRb3ACZByii2pECmgySFIGoiUGsEKiaQAimwTToCggSYSNUoJHSfgFJwhMt9oHBlj8Ga2SAqP9KQV7PPY4y1+9PDYEZ4agaHrj4Lwl5LHXFkvsOXKatt1jjykzrq2WeW+Jb6Bhp5BySOvQQLuaKEPYwYnOQLSkpTwBfbUqQam9hDVtieOyaoOGxDTAtNrV9UFqTEc/UGUQeXWmfSZB6BqXMc3aIFlFllY4hP49N2h66p2YJXly3HJ92ABihxZVRPM6BqvViSlFNwqiBwV5CAHOchBDnKQ/5/si4/iOUn5YX0+ec0X1mkBXljH1nlhncTfh3WIF2EdR/gJ677OKqwfdOqHmJ4Nsd17PwU5E/yWgJieY/Biv6MoUVjvOe61j+cGuuwpsLvDOl5KjeFkDusRtiSNKZ6FdXTlhXWIfxTWcf58YR0L3AzrRwEGAJoOgCMfh6hiAAAAAElFTkSuQmCC);
+  background-size: 16px 64px;
+  background-position: center 8px;
+  background-repeat: no-repeat;
+}
+
+video::-webkit-media-controls-mute-button {
+  -webkit-appearance: none;
+  background-color: transparent;
+  cursor: pointer;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABACAYAAAATffeWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3NDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3NTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY3RDUyMDcyNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY3RDUyMDczNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Gp0GRAAAATdJREFUeNpidIsuYMABwoF4BhCvB+IkXIqYcIj7APEiIBYA4jg0OREgLsJnQAgQrwJiNiifGU3eFIi7gDgPxGEBYnYg1gBiDqizQX5ixOEyCyDeC8SNQNwJxJtABuwHYksGwoAR6q3tQFwKxGlAnMtEpGYQ+A+1NROI+aDedGdiIA2sAWJWaDhcBGIVUg1ABqz4ohEXAMXQbyA+DcRaQHwHZMBxIjWDArEcmrg+AXEYEO8ExYIjUjRGQuOXEUcgghLVOahBoAQ1GWTAT2iAgMBJID4BxPOhBqIDkJwnENcDcQkQP8AWBiuAOBiIf0H5f9HkT0NdMAFfIG4D4gggfgtNPMjgDRD3wgPm////DJSAUQNGDRg1YNSAUQNGDRg1YNSA4WhAUnHraI9ltMcy2mMZDD0WgAADADYlybDQKXdAAAAAAElFTkSuQmCC);
+  background-size: 16px 64px;
+  background-position: center 8px;
+  background-repeat: no-repeat;
+}
+
+video::-webkit-media-controls-fullscreen-button:hover {
+  -webkit-appearance: none;
+  background-position: center -42px;
+}
+
+video::-webkit-media-controls-mute-button:hover {
+  -webkit-appearance: none;
+  background-position: center -43px;
+}
+
+video::-webkit-media-controls-current-time-display, video::-webkit-media-controls-time-remaining-display {
+
+  font-size: 13px;
+  font-weight: normal;
+}
\ No newline at end of file
diff --git a/transfersh-web/styles/includes/reviews.less b/transfersh-web/styles/includes/reviews.less
index ce860f8..bfff18b 100644
--- a/transfersh-web/styles/includes/reviews.less
+++ b/transfersh-web/styles/includes/reviews.less
@@ -23,7 +23,7 @@ blockquote.twitter-tweet {
     margin: 0 auto;
   }
     @media (max-width: @screen-xs) {
-      .twitter-profile {
+    .twitter-profile {
         display:none!important;
       }
   }
@@ -43,17 +43,19 @@ blockquote.twitter-tweet a {
   outline: 0 none;
 }
  
-blockquote.twitter-tweet a:hover,
-blockquote.twitter-tweet a:focus {
-  text-decoration: underline;
+blockquote.tweet-xl {
+   p {
+       font-size: 22px;
+       line-height: 25px;
+   }
+   a {
+       font-size: 22px;
+   }
+   @media (max-width: @screen-xs) {
+       p {
+           font-size: 17px;}
+       a {
+           font-size: 17px;
+       }
+   }
 }
- 
- blockquote.tweet-xl {
-     p {
-         font-size: 22px;
-         line-height: 25px;
-     }
-     a {
-         font-size: 22px;
-     }
- }
diff --git a/transfersh-web/styles/main.css b/transfersh-web/styles/main.css
index 9ea7308..e999f3f 100644
--- a/transfersh-web/styles/main.css
+++ b/transfersh-web/styles/main.css
@@ -622,7 +622,6 @@ address {
   font-style: normal;
   line-height: 1.42857143;
 }
-/* @import "../bower_components/bootstrap/less/code.less"; */
 .container {
   margin-right: auto;
   margin-left: auto;
@@ -1316,6 +1315,538 @@ address {
     margin-left: 0%;
   }
 }
+table {
+  max-width: 100%;
+  background-color: transparent;
+}
+th {
+  text-align: left;
+}
+.table {
+  width: 100%;
+  margin-bottom: 20px;
+}
+.table > thead > tr > th,
+.table > tbody > tr > th,
+.table > tfoot > tr > th,
+.table > thead > tr > td,
+.table > tbody > tr > td,
+.table > tfoot > tr > td {
+  padding: 8px;
+  line-height: 1.42857143;
+  vertical-align: top;
+  border-top: 1px solid #dddddd;
+}
+.table > thead > tr > th {
+  vertical-align: bottom;
+  border-bottom: 2px solid #dddddd;
+}
+.table > caption + thead > tr:first-child > th,
+.table > colgroup + thead > tr:first-child > th,
+.table > thead:first-child > tr:first-child > th,
+.table > caption + thead > tr:first-child > td,
+.table > colgroup + thead > tr:first-child > td,
+.table > thead:first-child > tr:first-child > td {
+  border-top: 0;
+}
+.table > tbody + tbody {
+  border-top: 2px solid #dddddd;
+}
+.table .table {
+  background-color: #ffffff;
+}
+.table-condensed > thead > tr > th,
+.table-condensed > tbody > tr > th,
+.table-condensed > tfoot > tr > th,
+.table-condensed > thead > tr > td,
+.table-condensed > tbody > tr > td,
+.table-condensed > tfoot > tr > td {
+  padding: 5px;
+}
+.table-bordered {
+  border: 1px solid #dddddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > tbody > tr > th,
+.table-bordered > tfoot > tr > th,
+.table-bordered > thead > tr > td,
+.table-bordered > tbody > tr > td,
+.table-bordered > tfoot > tr > td {
+  border: 1px solid #dddddd;
+}
+.table-bordered > thead > tr > th,
+.table-bordered > thead > tr > td {
+  border-bottom-width: 2px;
+}
+.table-striped > tbody > tr:nth-child(odd) > td,
+.table-striped > tbody > tr:nth-child(odd) > th {
+  background-color: #f9f9f9;
+}
+.table-hover > tbody > tr:hover > td,
+.table-hover > tbody > tr:hover > th {
+  background-color: #f5f5f5;
+}
+table col[class*="col-"] {
+  position: static;
+  float: none;
+  display: table-column;
+}
+table td[class*="col-"],
+table th[class*="col-"] {
+  float: none;
+  display: table-cell;
+}
+.table > thead > tr > .active,
+.table > tbody > tr > .active,
+.table > tfoot > tr > .active,
+.table > thead > .active > td,
+.table > tbody > .active > td,
+.table > tfoot > .active > td,
+.table > thead > .active > th,
+.table > tbody > .active > th,
+.table > tfoot > .active > th {
+  background-color: #f5f5f5;
+}
+.table-hover > tbody > tr > .active:hover,
+.table-hover > tbody > .active:hover > td,
+.table-hover > tbody > .active:hover > th {
+  background-color: #e8e8e8;
+}
+.table > thead > tr > .success,
+.table > tbody > tr > .success,
+.table > tfoot > tr > .success,
+.table > thead > .success > td,
+.table > tbody > .success > td,
+.table > tfoot > .success > td,
+.table > thead > .success > th,
+.table > tbody > .success > th,
+.table > tfoot > .success > th {
+  background-color: #dff0d8;
+}
+.table-hover > tbody > tr > .success:hover,
+.table-hover > tbody > .success:hover > td,
+.table-hover > tbody > .success:hover > th {
+  background-color: #d0e9c6;
+}
+.table > thead > tr > .danger,
+.table > tbody > tr > .danger,
+.table > tfoot > tr > .danger,
+.table > thead > .danger > td,
+.table > tbody > .danger > td,
+.table > tfoot > .danger > td,
+.table > thead > .danger > th,
+.table > tbody > .danger > th,
+.table > tfoot > .danger > th {
+  background-color: #f2dede;
+}
+.table-hover > tbody > tr > .danger:hover,
+.table-hover > tbody > .danger:hover > td,
+.table-hover > tbody > .danger:hover > th {
+  background-color: #ebcccc;
+}
+.table > thead > tr > .warning,
+.table > tbody > tr > .warning,
+.table > tfoot > tr > .warning,
+.table > thead > .warning > td,
+.table > tbody > .warning > td,
+.table > tfoot > .warning > td,
+.table > thead > .warning > th,
+.table > tbody > .warning > th,
+.table > tfoot > .warning > th {
+  background-color: #fcf8e3;
+}
+.table-hover > tbody > tr > .warning:hover,
+.table-hover > tbody > .warning:hover > td,
+.table-hover > tbody > .warning:hover > th {
+  background-color: #faf2cc;
+}
+@media (max-width: 767px) {
+  .table-responsive {
+    width: 100%;
+    margin-bottom: 15px;
+    overflow-y: hidden;
+    overflow-x: scroll;
+    -ms-overflow-style: -ms-autohiding-scrollbar;
+    border: 1px solid #dddddd;
+    -webkit-overflow-scrolling: touch;
+  }
+  .table-responsive > .table {
+    margin-bottom: 0;
+  }
+  .table-responsive > .table > thead > tr > th,
+  .table-responsive > .table > tbody > tr > th,
+  .table-responsive > .table > tfoot > tr > th,
+  .table-responsive > .table > thead > tr > td,
+  .table-responsive > .table > tbody > tr > td,
+  .table-responsive > .table > tfoot > tr > td {
+    white-space: nowrap;
+  }
+  .table-responsive > .table-bordered {
+    border: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:first-child,
+  .table-responsive > .table-bordered > tbody > tr > th:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
+  .table-responsive > .table-bordered > thead > tr > td:first-child,
+  .table-responsive > .table-bordered > tbody > tr > td:first-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
+    border-left: 0;
+  }
+  .table-responsive > .table-bordered > thead > tr > th:last-child,
+  .table-responsive > .table-bordered > tbody > tr > th:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
+  .table-responsive > .table-bordered > thead > tr > td:last-child,
+  .table-responsive > .table-bordered > tbody > tr > td:last-child,
+  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
+    border-right: 0;
+  }
+  .table-responsive > .table-bordered > tbody > tr:last-child > th,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
+  .table-responsive > .table-bordered > tbody > tr:last-child > td,
+  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
+    border-bottom: 0;
+  }
+}
+fieldset {
+  padding: 0;
+  margin: 0;
+  border: 0;
+}
+legend {
+  display: block;
+  width: 100%;
+  padding: 0;
+  margin-bottom: 20px;
+  font-size: 21px;
+  line-height: inherit;
+  color: #333333;
+  border: 0;
+  border-bottom: 1px solid #e5e5e5;
+}
+label {
+  display: inline-block;
+  margin-bottom: 5px;
+  font-weight: bold;
+}
+input[type="search"] {
+  -webkit-box-sizing: border-box;
+  -moz-box-sizing: border-box;
+  box-sizing: border-box;
+}
+input[type="radio"],
+input[type="checkbox"] {
+  margin: 4px 0 0;
+  margin-top: 1px \9;
+  /* IE8-9 */
+  line-height: normal;
+}
+input[type="file"] {
+  display: block;
+}
+select[multiple],
+select[size] {
+  height: auto;
+}
+select optgroup {
+  font-size: inherit;
+  font-style: inherit;
+  font-family: inherit;
+}
+input[type="file"]:focus,
+input[type="radio"]:focus,
+input[type="checkbox"]:focus {
+  outline: thin dotted;
+  outline: 5px auto -webkit-focus-ring-color;
+  outline-offset: -2px;
+}
+input[type="number"]::-webkit-outer-spin-button,
+input[type="number"]::-webkit-inner-spin-button {
+  height: auto;
+}
+output {
+  display: block;
+  padding-top: 7px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555555;
+  vertical-align: middle;
+}
+.form-control {
+  display: block;
+  width: 100%;
+  height: 34px;
+  padding: 6px 12px;
+  font-size: 14px;
+  line-height: 1.42857143;
+  color: #555555;
+  vertical-align: middle;
+  background-color: #ffffff;
+  background-image: none;
+  border: 1px solid #cccccc;
+  border-radius: 4px;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
+}
+.form-control:focus {
+  border-color: #66afe9;
+  outline: 0;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
+  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
+}
+.form-control:-moz-placeholder {
+  color: #999999;
+}
+.form-control::-moz-placeholder {
+  color: #999999;
+  opacity: 1;
+}
+.form-control:-ms-input-placeholder {
+  color: #999999;
+}
+.form-control::-webkit-input-placeholder {
+  color: #999999;
+}
+.form-control[disabled],
+.form-control[readonly],
+fieldset[disabled] .form-control {
+  cursor: not-allowed;
+  background-color: #eeeeee;
+}
+textarea.form-control {
+  height: auto;
+}
+.form-group {
+  margin-bottom: 15px;
+}
+.radio,
+.checkbox {
+  display: block;
+  min-height: 20px;
+  margin-top: 10px;
+  margin-bottom: 10px;
+  padding-left: 20px;
+  vertical-align: middle;
+}
+.radio label,
+.checkbox label {
+  display: inline;
+  margin-bottom: 0;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio input[type="radio"],
+.radio-inline input[type="radio"],
+.checkbox input[type="checkbox"],
+.checkbox-inline input[type="checkbox"] {
+  float: left;
+  margin-left: -20px;
+}
+.radio + .radio,
+.checkbox + .checkbox {
+  margin-top: -5px;
+}
+.radio-inline,
+.checkbox-inline {
+  display: inline-block;
+  padding-left: 20px;
+  margin-bottom: 0;
+  vertical-align: middle;
+  font-weight: normal;
+  cursor: pointer;
+}
+.radio-inline + .radio-inline,
+.checkbox-inline + .checkbox-inline {
+  margin-top: 0;
+  margin-left: 10px;
+}
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+.radio[disabled],
+.radio-inline[disabled],
+.checkbox[disabled],
+.checkbox-inline[disabled],
+fieldset[disabled] input[type="radio"],
+fieldset[disabled] input[type="checkbox"],
+fieldset[disabled] .radio,
+fieldset[disabled] .radio-inline,
+fieldset[disabled] .checkbox,
+fieldset[disabled] .checkbox-inline {
+  cursor: not-allowed;
+}
+.input-sm {
+  height: 30px;
+  padding: 5px 10px;
+  font-size: 12px;
+  line-height: 1.5;
+  border-radius: 3px;
+}
+select.input-sm {
+  height: 30px;
+  line-height: 30px;
+}
+textarea.input-sm {
+  height: auto;
+}
+.input-lg {
+  height: 46px;
+  padding: 10px 16px;
+  font-size: 18px;
+  line-height: 1.33;
+  border-radius: 6px;
+}
+select.input-lg {
+  height: 46px;
+  line-height: 46px;
+}
+textarea.input-lg {
+  height: auto;
+}
+.has-warning .help-block,
+.has-warning .control-label,
+.has-warning .radio,
+.has-warning .checkbox,
+.has-warning .radio-inline,
+.has-warning .checkbox-inline {
+  color: #8a6d3b;
+}
+.has-warning .form-control {
+  border-color: #8a6d3b;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-warning .form-control:focus {
+  border-color: #66512c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;
+}
+.has-warning .input-group-addon {
+  color: #8a6d3b;
+  border-color: #8a6d3b;
+  background-color: #fcf8e3;
+}
+.has-error .help-block,
+.has-error .control-label,
+.has-error .radio,
+.has-error .checkbox,
+.has-error .radio-inline,
+.has-error .checkbox-inline {
+  color: #a94442;
+}
+.has-error .form-control {
+  border-color: #a94442;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-error .form-control:focus {
+  border-color: #843534;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;
+}
+.has-error .input-group-addon {
+  color: #a94442;
+  border-color: #a94442;
+  background-color: #f2dede;
+}
+.has-success .help-block,
+.has-success .control-label,
+.has-success .radio,
+.has-success .checkbox,
+.has-success .radio-inline,
+.has-success .checkbox-inline {
+  color: #3c763d;
+}
+.has-success .form-control {
+  border-color: #3c763d;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
+}
+.has-success .form-control:focus {
+  border-color: #2b542c;
+  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;
+}
+.has-success .input-group-addon {
+  color: #3c763d;
+  border-color: #3c763d;
+  background-color: #dff0d8;
+}
+.form-control-static {
+  margin-bottom: 0;
+}
+.help-block {
+  display: block;
+  margin-top: 5px;
+  margin-bottom: 10px;
+  color: #7b7b7b;
+}
+@media (min-width: 768px) {
+  .form-inline .form-group {
+    display: inline-block;
+    margin-bottom: 0;
+    vertical-align: middle;
+  }
+  .form-inline .form-control {
+    display: inline-block;
+  }
+  .form-inline select.form-control {
+    width: auto;
+  }
+  .form-inline .radio,
+  .form-inline .checkbox {
+    display: inline-block;
+    margin-top: 0;
+    margin-bottom: 0;
+    padding-left: 0;
+  }
+  .form-inline .radio input[type="radio"],
+  .form-inline .checkbox input[type="checkbox"] {
+    float: none;
+    margin-left: 0;
+  }
+}
+.form-horizontal .control-label,
+.form-horizontal .radio,
+.form-horizontal .checkbox,
+.form-horizontal .radio-inline,
+.form-horizontal .checkbox-inline {
+  margin-top: 0;
+  margin-bottom: 0;
+  padding-top: 7px;
+}
+.form-horizontal .radio,
+.form-horizontal .checkbox {
+  min-height: 27px;
+}
+.form-horizontal .form-group {
+  margin-left: -35px;
+  margin-right: -35px;
+}
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after {
+  content: " ";
+  display: table;
+}
+.form-horizontal .form-group:after {
+  clear: both;
+}
+.form-horizontal .form-group:before,
+.form-horizontal .form-group:after {
+  content: " ";
+  display: table;
+}
+.form-horizontal .form-group:after {
+  clear: both;
+}
+.form-horizontal .form-control-static {
+  padding-top: 7px;
+}
+@media (min-width: 768px) {
+  .form-horizontal .control-label {
+    text-align: right;
+  }
+}
 .fade {
   opacity: 0;
   -webkit-transition: opacity 0.15s linear;
@@ -5358,6 +5889,10 @@ body {
   -o-animation-duration: 0.75s;
   animation-duration: 0.75s;
 }
+body {
+  max-width: 2000px;
+  margin: 0 auto;
+}
 .browsehappy {
   margin: 0.2em 0;
   background: orange;
@@ -5369,8 +5904,8 @@ body {
 }
 #navigation ul {
   list-style: none;
-  max-width: 300px;
-  margin: 0 auto;
+  max-width: 400px;
+  marghomein: 0 auto;
 }
 #navigation li {
   display: inline-block;
@@ -5397,12 +5932,12 @@ body {
   font-size: 15px;
   color: #3b3b3b;
 }
-h2 {
+.page-title {
   text-align: center;
   font-size: 35px;
 }
 @media (min-width: 768px) {
-  h2 {
+  .page-title {
     font-size: 50px;
   }
 }
@@ -5482,17 +6017,17 @@ a:hover {
 #home {
   text-align: center;
 }
-#home h2 {
+#home .page-title {
   font-size: 30px;
 }
 @media (min-width: 768px) {
   #home {
     padding: 50px;
   }
-  #home h2 {
+  #home .page-title {
     font-size: 45px;
     margin-top: -20px;
-    margin-bottom: 45px;
+    margin-bottom: 20px;
   }
 }
 #home .btn-home {
@@ -5561,6 +6096,9 @@ a:hover {
   backbground-repeat: no-repeat;
   background-size: cover;
 }
+.terminal a {
+  color: #ffffff;
+}
 .terminal-top {
   border-top-right-radius: 5px;
   border-top-left-radius: 5px;
@@ -5571,6 +6109,7 @@ a:hover {
 }
 .upload-progress {
   max-width: 80%;
+  padding-top: 4px;
 }
 .upload-progress .bar {
   word-wrap: normal;
@@ -5603,7 +6142,7 @@ a:hover {
   font-size: 100px;
 }
 #samples {
-  padding: 50px 0;
+  padding: 75px 0;
   text-align: center;
 }
 #samples h4 {
@@ -5643,6 +6182,23 @@ a:hover {
   color: #fff;
   text-decoration: none;
 }
+#github {
+  text-align: center;
+  padding: 50px 0;
+}
+#tor {
+  text-align: center;
+  background: #f6f8f8;
+  padding: 50px 0;
+}
+#tor img {
+  max-width: 100px;
+  margin: 0 auto;
+  margin-bottom: 10px;
+}
+#tor a {
+  font-size: 20px;
+}
 footer {
   text-align: center;
   background: #36535a;
@@ -5720,10 +6276,6 @@ blockquote.twitter-tweet a {
   text-decoration: none;
   outline: 0 none;
 }
-blockquote.twitter-tweet a:hover,
-blockquote.twitter-tweet a:focus {
-  text-decoration: underline;
-}
 blockquote.tweet-xl p {
   font-size: 22px;
   line-height: 25px;
@@ -5731,6 +6283,14 @@ blockquote.tweet-xl p {
 blockquote.tweet-xl a {
   font-size: 22px;
 }
+@media (max-width: 480px) {
+  blockquote.tweet-xl p {
+    font-size: 17px;
+  }
+  blockquote.tweet-xl a {
+    font-size: 17px;
+  }
+}
 @font-face {
   font-family: "transfersh";
   src: url("../fonts/transfersh.eot");
@@ -5807,4 +6367,181 @@ blockquote.tweet-xl a {
 .icon-gplus:before {
   content: "p";
 }
+.preview-wrapper {
+  padding-bottom: 30px;
+}
+html {
+  min-height: 100%;
+}
+#download {
+  position: static;
+}
+#download footer {
+  bottom: 0;
+  left: 0;
+  width: 100%;
+  position: absolute;
+  z-index: -1;
+}
+.preview-image {
+  padding: 0;
+  padding: 0px;
+}
+.preview-image img {
+  margin: 0 auto;
+  display: block;
+  max-width: 800px;
+  max-width: 100%;
+}
+.overlay {
+  position: fixed;
+  z-index: 100;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  background-color: rgba(0, 0, 0, 0.1);
+  visibility: hidden;
+  opacity: 0;
+  transition: opacity 0.2s ease;
+}
+.active .overlay {
+  visibility: visible;
+  opacity: 1;
+}
+.copy-link-wrapper {
+  z-index: 200;
+  padding: 2em;
+  position: fixed;
+  top: 50%;
+  left: 50%;
+  width: 50%;
+  max-width: 500px;
+  min-width: 300px;
+  background-color: #85b5bb;
+  border-radius: 2px;
+  transform: translateX(-50%) translateY(-50%);
+  transition: opacity 0.2s ease;
+  clip: rect(1px 1px 1px 1px);
+  opacity: 0;
+  top: -9999999px;
+  left: -9999999px;
+}
+.active .copy-link-wrapper {
+  clip: auto;
+  opacity: 1;
+  top: 50%;
+  left: 50%;
+}
+.copy-link-wrapper p {
+  font-size: 20px;
+  color: #fff;
+}
+.copy-link-wrapper input {
+  background-color: #f6f8f8;
+  color: #3b3b3b;
+  border: 0;
+  font-size: 1em;
+  padding: 1em;
+  margin: 0;
+  width: 100%;
+  border-radius: 2px;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+.copy-link-wrapper .error {
+  text-align: center;
+  color: #E7483B;
+  display: block;
+  padding: 0.5em;
+}
+#md-preview {
+  padding-bottom: 30px;
+}
+video {
+  margin: 0 auto;
+  width: 100%;
+}
+.wrap {
+  width: 40%;
+  height: 40%;
+  margin: 20px auto;
+}
+video {
+  width: 100%;
+}
+video::-webkit-media-controls-enclosure {
+  padding: 0px;
+  height: 50px;
+}
+video::-webkit-media-controls-panel {
+  opacity: 1 !important;
+  display: -webkit-flex !important;
+  margin-top: 50px;
+  height: 50px;
+  background-color: #36535a;
+  border-radius: 0 0 10px 10px;
+}
+video::-webkit-media-controls-timeline {
+  height: 12px;
+  padding: 0px;
+  border: 0px;
+}
+video::-webkit-media-controls-volume-slider,
+video::-webkit-media-controls-timeline {
+  height: 12px;
+  border-radius: 5px;
+  min-width: 15px;
+}
+video::-webkit-media-controls-volume-slider::-webkit-media-slider-container,
+video::-webkit-media-controls-timeline::-webkit-media-slider-container {
+  border: 0px;
+  border-radius: 5px;
+  background-color: #85b5bb;
+  cursor: pointer;
+}
+::-webkit-media-slider-thumb {
+  -webkit-appearance: none;
+  background: red;
+}
+video::-webkit-media-controls-play-button {
+  cursor: pointer;
+}
+video::-webkit-media-controls-play-button:hover {
+  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";
+  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
+  opacity: 0.7;
+}
+video::-webkit-media-controls-fullscreen-button {
+  -webkit-appearance: none;
+  background-color: transparent;
+  cursor: pointer;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAABACAYAAADF2C3zAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3MDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3MTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOkQyQkE2QUZGNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOkQyQkE2QjAwNzkzQjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+1z7uaAAAAVhJREFUeNrsljFuAjEQRb3ACZByii2pECmgySFIGoiUGsEKiaQAimwTToCggSYSNUoJHSfgFJwhMt9oHBlj8Ga2SAqP9KQV7PPY4y1+9PDYEZ4agaHrj4Lwl5LHXFkvsOXKatt1jjykzrq2WeW+Jb6Bhp5BySOvQQLuaKEPYwYnOQLSkpTwBfbUqQam9hDVtieOyaoOGxDTAtNrV9UFqTEc/UGUQeXWmfSZB6BqXMc3aIFlFllY4hP49N2h66p2YJXly3HJ92ABihxZVRPM6BqvViSlFNwqiBwV5CAHOchBDnKQ/5/si4/iOUn5YX0+ec0X1mkBXljH1nlhncTfh3WIF2EdR/gJ677OKqwfdOqHmJ4Nsd17PwU5E/yWgJieY/Biv6MoUVjvOe61j+cGuuwpsLvDOl5KjeFkDusRtiSNKZ6FdXTlhXWIfxTWcf58YR0L3AzrRwEGAJoOgCMfh6hiAAAAAElFTkSuQmCC);
+  background-size: 16px 64px;
+  background-position: center 8px;
+  background-repeat: no-repeat;
+}
+video::-webkit-media-controls-mute-button {
+  -webkit-appearance: none;
+  background-color: transparent;
+  cursor: pointer;
+  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAABACAYAAAATffeWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2N0Q1MjA3NDc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2N0Q1MjA3NTc5NjYxMUUyQjQzRjk5Mjc1MTU5Qjk0NSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjY3RDUyMDcyNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1IiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY3RDUyMDczNzk2NjExRTJCNDNGOTkyNzUxNTlCOTQ1Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Gp0GRAAAATdJREFUeNpidIsuYMABwoF4BhCvB+IkXIqYcIj7APEiIBYA4jg0OREgLsJnQAgQrwJiNiifGU3eFIi7gDgPxGEBYnYg1gBiDqizQX5ixOEyCyDeC8SNQNwJxJtABuwHYksGwoAR6q3tQFwKxGlAnMtEpGYQ+A+1NROI+aDedGdiIA2sAWJWaDhcBGIVUg1ABqz4ohEXAMXQbyA+DcRaQHwHZMBxIjWDArEcmrg+AXEYEO8ExYIjUjRGQuOXEUcgghLVOahBoAQ1GWTAT2iAgMBJID4BxPOhBqIDkJwnENcDcQkQP8AWBiuAOBiIf0H5f9HkT0NdMAFfIG4D4gggfgtNPMjgDRD3wgPm////DJSAUQNGDRg1YNSAUQNGDRg1YNSA4WhAUnHraI9ltMcy2mMZDD0WgAADADYlybDQKXdAAAAAAElFTkSuQmCC);
+  background-size: 16px 64px;
+  background-position: center 8px;
+  background-repeat: no-repeat;
+}
+video::-webkit-media-controls-fullscreen-button:hover {
+  -webkit-appearance: none;
+  background-position: center -42px;
+}
+video::-webkit-media-controls-mute-button:hover {
+  -webkit-appearance: none;
+  background-position: center -43px;
+}
+video::-webkit-media-controls-current-time-display,
+video::-webkit-media-controls-time-remaining-display {
+  font-size: 13px;
+  font-weight: normal;
+}
 /*# sourceMappingURL=/styles/main.css.map */
\ No newline at end of file
diff --git a/transfersh-web/styles/main.css.map b/transfersh-web/styles/main.css.map
index 67c75ae..ef732eb 100644
--- a/transfersh-web/styles/main.css.map
+++ b/transfersh-web/styles/main.css.map
@@ -1 +1 @@
-{"version":3,"sources":["/bower_components/animate.less/animate.less","/bower_components/bootstrap/less/normalize.less","/bower_components/bootstrap/less/print.less","/bower_components/bootstrap/less/scaffolding.less","/bower_components/bootstrap/less/mixins.less","/styles/config.less","/bower_components/bootstrap/less/type.less","/bower_components/bootstrap/less/grid.less","/bower_components/bootstrap/less/component-animations.less","/bower_components/bootstrap/less/progress-bars.less","/bower_components/bootstrap/less/utilities.less","/bower_components/bootstrap/less/responsive-utilities.less","/styles/includes/global.less","/styles/includes/home.less","/styles/includes/pages.less","/styles/includes/reviews.less","/styles/includes/transfersh-icons.less"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"sources":["/bower_components/animate.less/animate.less","/bower_components/bootstrap/less/normalize.less","/bower_components/bootstrap/less/print.less","/bower_components/bootstrap/less/scaffolding.less","/bower_components/bootstrap/less/mixins.less","/styles/config.less","/bower_components/bootstrap/less/type.less","/bower_components/bootstrap/less/grid.less","/bower_components/bootstrap/less/tables.less","/bower_components/bootstrap/less/forms.less","/bower_components/bootstrap/less/component-animations.less","/bower_components/bootstrap/less/progress-bars.less","/bower_components/bootstrap/less/utilities.less","/bower_components/bootstrap/less/responsive-utilities.less","/styles/includes/global.less","/styles/includes/home.less","/styles/includes/pages.less","/styles/includes/reviews.less","/styles/includes/transfersh-icons.less","/styles/includes/preview.less"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/transfersh-web/styles/main.less b/transfersh-web/styles/main.less
index d01cf5c..9822b3c 100644
--- a/transfersh-web/styles/main.less
+++ b/transfersh-web/styles/main.less
@@ -9,5 +9,6 @@
 @import "includes/pages";
 @import "includes/reviews";
 @import "includes/transfersh-icons";
+@import "includes/preview";
 
 
