~franz/f-a.nz

c0c1e2fd8323709345e5b1d495d9b0f8aff8c866 — Franz Geffke 4 years ago
Initial commit
308 files changed, 5779 insertions(+), 0 deletions(-)

A .gitignore
A Gemfile
A Gemfile.lock
A _clients/filtafry-deutschland.md
A _clients/fitaseal.md
A _clients/global-entrepreneurship-week.md
A _clients/malaysian-german-society.md
A _clients/on-air-audio-studios.md
A _clients/panther-mpc.md
A _clients/q-windows-malaysia.md
A _clients/sky-hype.md
A _config.yml
A _dev/.ssh-public-key-authentication.md
A _dev/app-is-damaged-and-cant-be-opened.md
A _dev/backup-remote-server-with-rsync-on-macos-and-linux.md
A _dev/expressionengine-mysql-5.7-this-is-incompatible-with-distinct.md
A _dev/update-macos-rsync-with-homebrew.md
A _gist/ethereum-gpu-mining-on-aws-ec2-in-2017.md
A _gist/install-these-two-privacy-enhancing-browser-plugins.md
A _gist/start-using-a-vpn.md
A _includes/client-projects.html
A _includes/client-testimonial.html
A _includes/footer.html
A _includes/gist-image.html
A _includes/header.html
A _includes/mobile-nav.html
A _includes/nav.html
A _includes/page-sidebar-nav.html
A _includes/project-image.html
A _includes/welcome_referral.html
A _layouts/default.html
A _layouts/index.html
A _layouts/page-clean.html
A _layouts/page-sidebar.html
A _layouts/page.html
A _layouts/post.html
A _posts/2017-01-01-welcome.markdown
A _testimonials/bruce-crews.md
A _testimonials/doris-hafner.md
A _testimonials/ewan-gaffney.md
A _work/.filtafry-erp.md
A _work/filtafry-franchisee-website.md
A _work/filtafry-website.md
A _work/fitaseal-website.md
A _work/gewuk-campaign-2014.md
A _work/malaysian-german-society.md
A _work/onair-website.md
A _work/panther-alpha-kickstarer.md
A _work/panther-alpha-website.md
A _work/q-windows-adwords.md
A _work/q-windows-website.md
A _work/sky-hype-real-estate-portal.md
A about.md
A assets/bg/_about.jpg
A assets/bg/about.jpg
A assets/bg/anthony-delanoix.jpg
A assets/bg/ben-dumond.jpg
A assets/bg/california-far.jpg
A assets/bg/california.jpg
A assets/bg/contact.jpg
A assets/bg/david-east.jpg
A assets/bg/ferdinand-stohr.jpg
A assets/bg/henning-witzel.jpg
A assets/bg/home.jpg
A assets/bg/index.jpg
A assets/bg/kimon-maritz.jpg
A assets/bg/malaysia.jpg
A assets/bg/mark-asthoff.jpg
A assets/bg/mark-asthoff_02.jpg
A assets/bg/molly-porter.jpg
A assets/bg/naphtali-marshall.jpg
A assets/bg/projects.jpg
A assets/bg/roman-kraft.jpg
A assets/bg/sindre-aalberg.jpg
A assets/bg/switzerland.jpg
A assets/bg/textbook.jpg
A assets/bg/thomas-brault.jpg
A assets/bg/trainstation.jpg
A assets/config.json
A assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_01.png
A assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_02.png
A assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_03.png
A assets/css/_bootstrap.scss
A assets/css/_custom.scss
A assets/css/_nprogress.scss
A assets/css/extra.scss
A assets/css/main.scss
A assets/icon/android-icon-144x144.png
A assets/icon/android-icon-192x192.png
A assets/icon/android-icon-36x36.png
A assets/icon/android-icon-48x48.png
A assets/icon/android-icon-72x72.png
A assets/icon/android-icon-96x96.png
A assets/icon/apple-icon-114x114.png
A assets/icon/apple-icon-120x120.png
A assets/icon/apple-icon-144x144.png
A assets/icon/apple-icon-152x152.png
A assets/icon/apple-icon-180x180.png
A assets/icon/apple-icon-57x57.png
A assets/icon/apple-icon-60x60.png
A assets/icon/apple-icon-72x72.png
A assets/icon/apple-icon-76x76.png
A assets/icon/apple-icon-precomposed.png
A assets/icon/apple-icon.png
A assets/icon/browserconfig.xml
A assets/icon/favicon-16x16.png
A assets/icon/favicon-32x32.png
A assets/icon/favicon-96x96.png
A assets/icon/favicon.ico
A assets/icon/manifest.json
A assets/icon/ms-icon-144x144.png
A assets/icon/ms-icon-150x150.png
A assets/icon/ms-icon-310x310.png
A assets/icon/ms-icon-70x70.png
A assets/images/clients/filtafry.png
A assets/images/clients/fitaseal.png
A assets/images/clients/gewuk.png
A assets/images/clients/mgs.png
A assets/images/clients/onair.png
A assets/images/clients/panther.png
A assets/images/clients/qwindows.png
A assets/images/clients/skyhype.png
A assets/images/clients/testimonial/bruce.jpg
A assets/images/clients/testimonial/doris.jpg
A assets/images/clients/testimonial/ewan.jpg
A assets/images/closequote.png
A assets/images/email-signature.png
A assets/images/franz-v.svg
A assets/images/franz-w.svg
A assets/images/franz.svg
A assets/images/gist/install-these-two-privacy-enhancing-browser-plugins_01.png
A assets/images/gist/install-these-two-privacy-enhancing-browser-plugins_02.png
A assets/images/map.png
A assets/images/openquote.png
A assets/images/projects/filtafry-01.jpg
A assets/images/projects/filtafry-02.jpg
A assets/images/projects/filtafry-03.jpg
A assets/images/projects/filtafry-04.jpg
A assets/images/projects/filtafry-05.jpg
A assets/images/projects/filtafry-06.jpg
A assets/images/projects/fitaseal-01.jpg
A assets/images/projects/fitaseal-02.jpg
A assets/images/projects/fitaseal-03.jpg
A assets/images/projects/fitaseal-04.jpg
A assets/images/projects/fitaseal-05.jpg
A assets/images/projects/fitaseal-06.jpg
A assets/images/projects/gew-uk-handshare-selfie-01.gif
A assets/images/projects/gew-uk-handshare-selfie-02.gif
A assets/images/projects/gew-uk-handshare-selfie-03.gif
A assets/images/projects/gew-uk-handshare-selfie-04.gif
A assets/images/projects/gew-uk-handshare-selfie-05.gif
A assets/images/projects/gew-uk-handshare-selfie-06.gif
A assets/images/projects/gew-uk-handshare-selfie-07.gif
A assets/images/projects/mgs-01.jpg
A assets/images/projects/mgs-02.jpg
A assets/images/projects/mgs-03.jpg
A assets/images/projects/mgs-04.jpg
A assets/images/projects/mgs-05.jpg
A assets/images/projects/mgs-06.jpg
A assets/images/projects/mgs-07.jpg
A assets/images/projects/onair-01.jpg
A assets/images/projects/onair-02.jpg
A assets/images/projects/onair-03.jpg
A assets/images/projects/onair-04.jpg
A assets/images/projects/onair-05.jpg
A assets/images/projects/onair-06.jpg
A assets/images/projects/original/filtafry-01.jpg
A assets/images/projects/original/filtafry-02.jpg
A assets/images/projects/original/filtafry-03.jpg
A assets/images/projects/original/filtafry-04.jpg
A assets/images/projects/original/filtafry-05.jpg
A assets/images/projects/original/filtafry-06.jpg
A assets/images/projects/original/fitaseal-01.jpg
A assets/images/projects/original/fitaseal-02.jpg
A assets/images/projects/original/fitaseal-03.jpg
A assets/images/projects/original/fitaseal-04.jpg
A assets/images/projects/original/fitaseal-05.jpg
A assets/images/projects/original/fitaseal-06.jpg
A assets/images/projects/original/gew-uk-handshare-selfie-01.gif
A assets/images/projects/original/gew-uk-handshare-selfie-02.gif
A assets/images/projects/original/gew-uk-handshare-selfie-03.gif
A assets/images/projects/original/gew-uk-handshare-selfie-04.gif
A assets/images/projects/original/gew-uk-handshare-selfie-05.gif
A assets/images/projects/original/gew-uk-handshare-selfie-06.gif
A assets/images/projects/original/gew-uk-handshare-selfie-07.gif
A assets/images/projects/original/mgs-01.jpg
A assets/images/projects/original/mgs-02.jpg
A assets/images/projects/original/mgs-03.jpg
A assets/images/projects/original/mgs-04.jpg
A assets/images/projects/original/mgs-05.jpg
A assets/images/projects/original/mgs-06.jpg
A assets/images/projects/original/mgs-07.jpg
A assets/images/projects/original/onair-01.jpg
A assets/images/projects/original/onair-02.jpg
A assets/images/projects/original/onair-03.jpg
A assets/images/projects/original/onair-04.jpg
A assets/images/projects/original/onair-05.jpg
A assets/images/projects/original/onair-06.jpg
A assets/images/projects/original/panther-mpc-01.jpg
A assets/images/projects/original/panther-mpc-02.jpg
A assets/images/projects/original/panther-mpc-03.jpg
A assets/images/projects/original/panther-mpc-04.jpg
A assets/images/projects/original/panther-mpc-05.jpg
A assets/images/projects/original/panther-mpc-06.jpg
A assets/images/projects/original/q-windows-01.jpg
A assets/images/projects/original/q-windows-02.jpg
A assets/images/projects/original/q-windows-03.jpg
A assets/images/projects/original/q-windows-04.jpg
A assets/images/projects/original/q-windows-05.jpg
A assets/images/projects/original/q-windows-06.jpg
A assets/images/projects/original/q-windows-07.png
A assets/images/projects/original/sky-hype-01.jpg
A assets/images/projects/original/sky-hype-02.jpg
A assets/images/projects/original/sky-hype-03.jpg
A assets/images/projects/original/sky-hype-04.jpg
A assets/images/projects/panther-mpc-01.jpg
A assets/images/projects/panther-mpc-02.jpg
A assets/images/projects/panther-mpc-03.jpg
A assets/images/projects/panther-mpc-04.jpg
A assets/images/projects/panther-mpc-05.jpg
A assets/images/projects/panther-mpc-06.jpg
A assets/images/projects/preview/filtafry-01.jpg
A assets/images/projects/preview/filtafry-02.jpg
A assets/images/projects/preview/filtafry-03.jpg
A assets/images/projects/preview/filtafry-04.jpg
A assets/images/projects/preview/filtafry-05.jpg
A assets/images/projects/preview/filtafry-06.jpg
A assets/images/projects/preview/fitaseal-01.jpg
A assets/images/projects/preview/fitaseal-02.jpg
A assets/images/projects/preview/fitaseal-03.jpg
A assets/images/projects/preview/fitaseal-04.jpg
A assets/images/projects/preview/fitaseal-05.jpg
A assets/images/projects/preview/fitaseal-06.jpg
A assets/images/projects/preview/mgs-01.jpg
A assets/images/projects/preview/mgs-02.jpg
A assets/images/projects/preview/mgs-03.jpg
A assets/images/projects/preview/mgs-04.jpg
A assets/images/projects/preview/mgs-05.jpg
A assets/images/projects/preview/mgs-06.jpg
A assets/images/projects/preview/mgs-07.jpg
A assets/images/projects/preview/onair-01.jpg
A assets/images/projects/preview/onair-02.jpg
A assets/images/projects/preview/onair-03.jpg
A assets/images/projects/preview/onair-04.jpg
A assets/images/projects/preview/onair-05.jpg
A assets/images/projects/preview/onair-06.jpg
A assets/images/projects/preview/panther-mpc-01.jpg
A assets/images/projects/preview/panther-mpc-02.jpg
A assets/images/projects/preview/panther-mpc-03.jpg
A assets/images/projects/preview/panther-mpc-04.jpg
A assets/images/projects/preview/panther-mpc-05.jpg
A assets/images/projects/preview/panther-mpc-06.jpg
A assets/images/projects/preview/q-windows-01.jpg
A assets/images/projects/preview/q-windows-02.jpg
A assets/images/projects/preview/q-windows-03.jpg
A assets/images/projects/preview/q-windows-04.jpg
A assets/images/projects/preview/q-windows-05.jpg
A assets/images/projects/preview/q-windows-06.jpg
A assets/images/projects/preview/q-windows-07.png
A assets/images/projects/preview/sky-hype-01.jpg
A assets/images/projects/preview/sky-hype-02.jpg
A assets/images/projects/preview/sky-hype-03.jpg
A assets/images/projects/preview/sky-hype-04.jpg
A assets/images/projects/q-windows-01.jpg
A assets/images/projects/q-windows-02.jpg
A assets/images/projects/q-windows-03.jpg
A assets/images/projects/q-windows-04.jpg
A assets/images/projects/q-windows-05.jpg
A assets/images/projects/q-windows-06.jpg
A assets/images/projects/q-windows-07.png
A assets/images/projects/sky-hype-01.jpg
A assets/images/projects/sky-hype-02.jpg
A assets/images/projects/sky-hype-03.jpg
A assets/images/projects/sky-hype-04.jpg
A assets/js/bitcoinprices.js
A assets/js/bitcoinprices.min.js
A assets/js/bootstrap.min.js
A assets/js/extra.js
A assets/js/jquery.exLink.min.js
A assets/js/jquery.min.js
A assets/js/jquery.simpleWeather.min.js
A assets/js/main.js
A assets/js/moment-timezone.min.js
A assets/js/moment.min.js
A assets/js/nprogress.js
A assets/js/nprogress.min.js
A assets/js/slideout.min.js
A assets/swipebox/css/_swipebox.scss
A assets/swipebox/css/swipebox.min.css
A assets/swipebox/img/icons.png
A assets/swipebox/img/icons.svg
A assets/swipebox/img/loader.gif
A assets/swipebox/js/jquery.swipebox.js
A assets/swipebox/js/jquery.swipebox.min.js
A bitcoin.md
A clients.html
A contact.html
A dev.html
A error.html
A gist.html
A humans.txt
A index.md
A keybase.txt
A portfolio.html
A privacy.md
A robots.txt
A thanks.html
A work.html
A  => .gitignore +6 -0
@@ 1,6 @@
_site
.sass-cache
.asset-cache
.jekyll-metadata
.DS_Store
s3_website.yml

A  => Gemfile +28 -0
@@ 1,28 @@
source "https://rubygems.org"
ruby RUBY_VERSION

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.

# Happy Jekylling!
gem "jekyll"

# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima"

# Asset pipeline https://github.com/jekyll/jekyll-assets
gem "jekyll-assets"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!
group :jekyll_plugins do
   gem "jekyll-feed", "~> 0.6"
end

A  => Gemfile.lock +73 -0
@@ 1,73 @@
GEM
  remote: https://rubygems.org/
  specs:
    addressable (2.5.0)
      public_suffix (~> 2.0, >= 2.0.2)
    colorator (1.1.0)
    concurrent-ruby (1.0.4)
    extras (0.1.0)
      forwardable-extended (~> 2.5)
    fastimage (2.0.1)
      addressable (~> 2)
    ffi (1.9.14)
    forwardable-extended (2.6.0)
    jekyll (3.3.1)
      addressable (~> 2.4)
      colorator (~> 1.0)
      jekyll-sass-converter (~> 1.0)
      jekyll-watch (~> 1.1)
      kramdown (~> 1.3)
      liquid (~> 3.0)
      mercenary (~> 0.3.3)
      pathutil (~> 0.9)
      rouge (~> 1.7)
      safe_yaml (~> 1.0)
    jekyll-assets (2.2.8)
      extras (~> 0.1)
      fastimage (~> 2.0, >= 1.8)
      jekyll (~> 3.1, >= 3.0)
      pathutil (>= 0.8)
      rack (> 1, < 2)
      sprockets (~> 3.3, < 3.7)
    jekyll-feed (0.8.0)
      jekyll (~> 3.3)
    jekyll-sass-converter (1.5.0)
      sass (~> 3.4)
    jekyll-watch (1.5.0)
      listen (~> 3.0, < 3.1)
    kramdown (1.13.1)
    liquid (3.0.6)
    listen (3.0.8)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    mercenary (0.3.6)
    minima (2.1.0)
      jekyll (~> 3.3)
    pathutil (0.14.0)
      forwardable-extended (~> 2.6)
    public_suffix (2.0.4)
    rack (1.6.5)
    rb-fsevent (0.9.8)
    rb-inotify (0.9.7)
      ffi (>= 0.5.0)
    rouge (1.11.1)
    safe_yaml (1.0.4)
    sass (3.4.23)
    sprockets (3.6.3)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)

PLATFORMS
  ruby

DEPENDENCIES
  jekyll
  jekyll-assets
  jekyll-feed (~> 0.6)
  minima

RUBY VERSION
   ruby 2.0.0p648

BUNDLED WITH
   1.13.7

A  => _clients/filtafry-deutschland.md +18 -0
@@ 1,18 @@
---
layout: page-sidebar
title:  "Filtafry Deutschland GmbH"
date:   2016-06-01 00:00:00 +0200
client: "filtafry"
introduction: "Filtafry is an innovative, new franchise specializing in cooking oil and micro-filtration service for restaurants and other food establishments in Germany."
city: Emsbüren
country: Germany
map: "7.1794796,52.4083766"
web: filtafry.de
categories: digital
since: 2016
color: "#009fc3"
cover: filtafry-01.jpg
bg: roman-kraft
---

Filtafry is a young, innovative franchise from Germany. I have been working with Filtafry from the very start, helping them develop their website, unified franchisee sub-sites with individual domains as well as a company-wide ERP (enterprise resource planning) system that helps coordinating efforts company wide.

A  => _clients/fitaseal.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "Fit-A-Seal GmbH"
date:   2016-06-01 00:00:00 +0200
client: "fitaseal"
introduction: "Fit-A-Seal is a new franchise, specializing in on-the-spot replacement service for commercial fridge and freezer door seals - a first in Germany."
city: Haan
country: Germany
map: "7.0024592,51.1799173"
web: fitaseal.de
categories: digital
since: 2016
color: "#1355A3"
cover: fitaseal-01.jpg
bg: roman-kraft
---

A  => _clients/global-entrepreneurship-week.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "GEW UK"
date:   2014-06-01 00:00:00 +0200
client: "gewuk"
introduction: "GEW is run as an independent charity in the UK, for the shared benefit of our communal ecosystem."
city: London
country: United Kingdom
map: "-0.1413097, 51.497385"
web: uk.gew.co
categories: print
since: 2014
color: "#DA332B"
cover:
bg: david-east
---

A  => _clients/malaysian-german-society.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "Malaysian German Society"
date:   2016-02-01 00:00:00 +0200
client: "mgs"
introduction: "The Malaysian-German Society Penang was established in 1962 by a handful of dedicated and far-sighted Malaysians and Germans residing in Penang. Over the years it has gained the respect and support of the State Government of Penang. Through its activities the Society has built up good Malaysian-German relations."
city: Penang
country: Malaysia
map: "100.303132,5.409984"
web: mgs.org.my
categories: digital
since: 2014
color: "#1068ac"
cover: mgs-01.jpg
bg: malaysia
---

A  => _clients/on-air-audio-studios.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "On Air Audio Studios Inc."
date:   2016-01-01 00:00:00 +0200
client: "onair"
introduction: "On Air is one of the premier voice recording studios in North America."
city: Calgary
country: Canada
map: "-114.081929,51.038174"
web: onair.ca
categories: digital
since: 2014
color: "#D63835"
cover: onair-04.jpg
bg: switzerland
---

A  => _clients/panther-mpc.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "Panther MPC, Inc."
date:   2016-08-01 00:00:00 +0200
client: "panther"
introduction: "Panther Alpha is the wallet sized computer designed to help protect yourself from internet surveillance, censoring, malware and spying corporations without compromising usability. Our open source operating system Panther OS is reliable, easy to use and backdoor free."
city: Palo Alto
country: USA
map: "-122.1703695,37.4256448"
web: www.panther-mpc.com
categories: digital
since: 2016
color: "#0097ca"
cover: panther-mpc-01.jpg
bg: california
---

A  => _clients/q-windows-malaysia.md +18 -0
@@ 1,18 @@
---
layout: page-sidebar
title:  "Q-Windows Malaysia"
date:   2017-01-01 00:00:00 +0200
client: "qwindows"
introduction: "Q-Windows Malaysia is the only manufacturer for German Soundproof, High-Security Windows in Malaysia and Singapore."
city: Kuala Lumpur
country: Malaysia
map: "101.611438,3.164855"
web: q-windows.com.my
categories: digital
since: 2012
color: "#ff530d"
cover: q-windows-01.jpg
bg: malaysia
---

Q-Windows Malaysia has been a client of mine for over 5 years. Since we've first started working together in 2011, Q-Windows has come a long way and has already won numerous awards and a recognition as regional leader.

A  => _clients/sky-hype.md +16 -0
@@ 1,16 @@
---
layout: page-sidebar
title:  "Sky-Hype AG"
date:   2016-01-01 00:00:00 +0200
client: "skyhype"
introduction: "Sky-Hype.com is the first, free international property portal with a powerful metasearch engine that already connects you to over 200 million properties and agents around the world."
city: Kirchberg
country: Switzerland
map: "9.376071,47.423811"
web: sky-hype.com
categories: digital
since: 2014
color: "#bd1b25"
cover: sky-hype-04.jpg
bg: switzerland
---

A  => _config.yml +46 -0
@@ 1,46 @@
title: Franz Geffke
description:
baseurl: ""
url: "https://f-a.nz"
bitcoin: 1MfbsSexrSb74ZDQPqMrKGzZhRubHZBkCB

# Build settings
markdown: kramdown
theme: minima
gems:
  - jekyll-feed
  - jekyll-assets

exclude:
  - Gemfile
  - Gemfile.lock

collections:
- gist
- dev
- projects
- clients
- testimonials

collections:
  gist:
    output: true
    permalink: /gist/:path/
  dev:
    output: true
    permalink: /dev/:path/
  work:
    output: true
    permalink: /work/:path/
  clients:
    output: true
    permalink: /client/:path/
  testimonials:
    output: false

assets:
  sources:
    - /assets/css
    - /assets/js
    - /assets/swipebox/css
    - /assets/swipebox/js

A  => _dev/.ssh-public-key-authentication.md +27 -0
@@ 1,27 @@
---
title: SSH Public Key Authentication
version:
os:
  - macOS
  - Linux
source:
date: 2017-01-01 00:00:00 +0200
categories: dev
---

https://unix.stackexchange.com/questions/26924/how-do-i-convert-a-ssh-keygen-public-key-into-a-format-that-openssl-pem-read-bio

`dsssss`

Macberry:.ssh franz$ ssh-keygen -t rsa -b 4096 -C "franzos"
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/franz/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):



Copy it to server
ssh-copy-id serverpilot@x.x.x.x

Convert public key to PKCS#1
ssh-keygen -f key.pub -e -m pem

A  => _dev/app-is-damaged-and-cant-be-opened.md +24 -0
@@ 1,24 @@
---
title: "... is damaged and can’t be opened. You should move it to the Trash."
layout: page
version: macOS 10.12 Sierra
os:
  - macOS
source:
date: 2017-01-01 00:00:00 +0200
categories: dev
---

If you've seen this error more frequently in recent months: Welcome to macOS Sierra and the future of personal computing. What's happening here is, that Gatekeeper, a security feature that's been around since Mac OS X 10.7.5, is a lot more aggressive since Sierra.

Luckily - if you know what you're doing - there's an easy way to disable

`sudo spctl --master-disable`

and enable

`sudo spctl --master-enable`

Gatekeeper.

Simply enter this into the Terminal and you'll be good to go. In any case, I suggest to re-enable Gatekeeper after you're done. Better to play by the rules on macOS or your Mac will punish you.

A  => _dev/backup-remote-server-with-rsync-on-macos-and-linux.md +24 -0
@@ 1,24 @@
---
title: Backup a remote server with Rsync on macOS or Linux
layout: page
version:
os:
  - macOS
  - Linux
source:
date: 2017-01-01 00:00:00 +0200
categories: dev
---

Rsync is perfect to incrementally backup a remote server on macOS or Linux:

`rsync -a user@128.138.148.15:/srv/users/username/apps/sync-this "/Volumes/Server Backup/"`

`rsync` The program we're using
<br>`-a` _archive mode_
<br>`user` The user we're using to connect to the server.
<br>`@128.138.148.15` The server we're connecting to.
<br>`:/srv/users/username/apps/sync-this` The folder you want to backup.
<br>`"/Volumes/Server Backup/"` The - local - backup destination.

The reason I'm using the quotation mark for `"/Volumes/Server Backup/"` is that there's a space between _Server_ and _Backup_.

A  => _dev/expressionengine-mysql-5.7-this-is-incompatible-with-distinct.md +25 -0
@@ 1,25 @@
---
title: "ExpressionEngine and MySQL 5.7: this is incompatible with DISTINCT"
layout: page
version: 2.9.2
os:
  - macOS
  - Linux
source:
date: 2017-01-01 00:00:00 +0200
categories: dev
---

If you've just tried running ExpressionEngine 2.9.2+ on MYSQL 5.7... This is what happened:

`Error Number: 3065
Expression #1 of ORDER BY clause is not in SELECT list, references column 'mgs.t.sticky' which is not in SELECT list; this is incompatible with DISTINCT
SELECT DISTINCT(t.entry_id) FROM exp_channel_titles AS t LEFT JOIN exp_channels ON t.channel_id = exp_channels.channel_id LEFT JOIN exp_members AS m ON m.member_id = t.author_id INNER JOIN exp_category_posts ON t.entry_id = exp_category_posts.entry_id INNER JOIN exp_categories ON exp_category_posts.cat_id = exp_categories.cat_id WHERE t.entry_id !='' AND t.site_id IN ('1') AND t.entry_date < 1485361752 AND (t.expiration_date = 0 OR t.expiration_date > 1485361752) AND t.channel_id IN (10) AND exp_categories.cat_id = '66' AND t.status = 'open' ORDER BY t.sticky desc, t.title asc, t.entry_id asc LIMIT 0, 20
Filename: modules/channel/mod.channel.php
Line Number: 2160`

The reason you're seeing this is, that a number of older apps are not compatible with strict SQL mode introduced in MYSQL 5.7. Fortunately there's something you can do about this:

__Option 1__: EllisLab has long fixed this. Simply download the latest version of ExpressionEngine and update everything. Just make sure that the plugins you're running are still compatible.

__Option 2__: You can simply disable strict SQL mode! There's a great guide on the DigitalOcean Community: [How To Prepare For Your MySQL 5.7 Upgrade](https://www.digitalocean.com/community/tutorials/how-to-prepare-for-your-mysql-5-7-upgrade). If you're on Serverpilot, check out [this](https://serverpilot.io/community/articles/how-to-disable-strict-mode-in-mysql-5-7.html) guide.

A  => _dev/update-macos-rsync-with-homebrew.md +49 -0
@@ 1,49 @@
---
title: "Update MacOS Sierra rsync with Homebrew"
layout: page
version: macOS 10.12.2 Sierra
os:
  - macOS
source: https://stackoverflow.com/questions/30842005/upgrading-rsync-on-os-x-using-homebrew
date: 2017-01-01 00:00:00 +0200
categories: dev
---

Here's a joke: Apple ships 10 year old software with macOS.

Unfortunately it's neither a joke nor it's funny... macOS Sierra, released in September 2016, came with rsync 2.6.9 Version 29, released in November 2006. That's close to 10 years! **Why?**.

Fortunately it's easy to update it yourself:

### 1) IF you have Homebrew installed:

`brew tap homebrew/dupes`
<br>`brew install rsync`

### 2) ELSEIF you have no idea what Homebrew is:

[Homebrew](http://brew.sh/) is sort of like a command line software manager for macOS. To install Homebrew, just copy paste this into your Terminal:

`/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"`

Once you're done with this, go back to 1).

### 3) ELSEIF you want to know more:

Here's what's happening:
<br>`brew tap homebrew/dupes`
<br>`brew` calls Homebrew
<br>`tab` instructs Homebrew to add a new package source
<br>`homebrew/dupes` that's the new source
<br>
<br>`brew install rsync`
<br>`install` instructs Homebrew to install a new package
<br>`rsync` that's the package - rsync

You can install other packages `brew install wget`, update installed packages `brew update wget` and even create your own packages. Check out [brew.sh](http://brew.sh/)

### 4) IFELSE

Check out two more macOS package managers:
- [MacPorts](https://www.macports.org/)
- [Fink](http://www.finkproject.org/)

A  => _gist/ethereum-gpu-mining-on-aws-ec2-in-2017.md +72 -0
@@ 1,72 @@
---
title: "Ethereum GPU mining on AWS EC2 in 2017"
layout: page
source:
date: 2017-01-01 00:00:00 +0200
categories:
- mining
- test
bg: ferdinand-stohr
bg-author: Ferdinand Stohr
---

Cryptocurrency mining is as popular as ever, as it in theory allows you to turn idle computing resources into a passive income. The problem is, that these days you require extremely powerful, specifically optimized hardware as well as access to very cheap or even free electricity.

## Testing on EC2

To determine just how difficult mining has become, I've decided to run a GPU miner on an Amazon AWS EC2 g2.8xlarge. This particular cloud instance is significantly faster than the hardware most people have at home, yet it is not specifically optimized for Cryptocurrency mining - the ideal candidate.

### Specs & Details

- High Frequency Intel Xeon E5-2670 (Sandy Bridge) Processors (32 vCPU)
- 4x NVIDIA GRID K520 (1,536 CUDA cores and 4GB of video memory)
- 60GB of Memory, 2x120GB of SSD Storage
- The Server costs $2.6 per hour ($62.4/day; $1860/month)
- 1 Ethereum sells for $10.76 (2017-02-03)

_Tip: With AWS EC2 spot pricing, you can get the server for around $0.4777 / hour, depending on time of day, region and availability zone. That's $343,94 / month._

### Results

![EC2 Hash Rate](/assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_01.png)

The hash rate of the EC2 server fluctuates between 23.3 MH/s and 47.7 MH/s. I suspect the performance varies based on what other users do on this shared, EC2 server. In any case, the results give us a good idea of what to expect when you run a miner on hardware that's not specifically designed for mining.

![EC2 Hash Rate](/assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_02.png)

Based on average hash rate of 28 MH/s, each EC server would generate around 0.0045 Ether ($0.05) in income per hour. That means, *over the course of a month you'd make $34.84 (3.25 Ether)*.

### Conclusion

Unless the USD - ETH exchange rate increases by at least 1000%, mining on AWS EC2 remains unprofitable.

<hr>

**Update: 2017-02-14**

After around a week of EC2 mining, I have now shut down all AWS server. The Spot pricing I've been pursuing helped keep cost down but remains too expensive to be profitable.

![EC2 Hash Rate](/assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_03.png)

| Paid On                   | From Block | To Block | Duration [h] | Amount      |
|---------------------------|------------|----------|--------------|-------------|
| 2017-02-13T18:08:44 | 3176203    | 3176833  | 2.6          | 0.09699 ETH |
| 2017-02-13T15:33:08 | 3175670    | 3176197  | 2.2          | 0.09554 ETH |
| 2017-02-13T13:18:20 | 3175075    | 3175662  | 2.2          | 0.09745 ETH |
| 2017-02-13T11:06:35 | 3174454    | 3175067  | 2.4          | 0.09614 ETH |
| 2017-02-13T08:42:46 | 3173879    | 3174450  | 2.3          | 0.1004 ETH  |
| 2017-02-13T06:27:19 | 3173352    | 3173865  | 2            | 0.09774 ETH |
| 2017-02-13T04:28:20 | 3172641    | 3173349  | 3.1          | 0.09724 ETH |
| 2017-02-13T01:24:22 | 3171962    | 3172630  | 2.7          | 0.0955 ETH  |
| 2017-02-12T22:43:51 | 3171360    | 3171955  | 2.4          | 0.0962 ETH  |
| 2017-02-12T20:18:45 | 3170701    | 3171333  | 2.4          | 0.09535 ETH |
| 2017-02-12T17:54:44 | 3170230    | 3170697  | 1.9          | 0.09745 ETH |
| 2017-02-12T15:59:33 | 3169628    | 3170216  | 2.5          | 0.09691 ETH |
| 2017-02-12T13:29:43 | 3169141    | 3169617  | 1.9          | 0.10045 ETH |
| 2017-02-12T11:34:53 | 3168562    | 3169138  | 2.3          | 0.10078 ETH |
| 2017-02-12T09:14:53 | 3168014    | 3168556  | 2.2          | 0.0972 ETH  |
| 2017-02-12T07:03:15 | 3167437    | 3167999  | 2.2          | 0.09754 ETH |
| 2017-02-12T04:48:24 | 3166852    | 3167434  | 2.4          | 0.09501 ETH |
| 2017-02-12T02:21:34 | 3166292    | 3166838  | 2.1          | 0.09638 ETH |
| 2017-02-12T00:14:57 | 3165750    | 3166277  | 2.1          | 0.09927 ETH |
| 2017-02-11T22:10:29 | 3165252    | 3165747  | 1.9          | 0.09592 ETH |

A  => _gist/install-these-two-privacy-enhancing-browser-plugins.md +31 -0
@@ 1,31 @@
---
title: "Install these two privacy enhancing browser plugins"
layout: page
source:
date: 2017-01-01 00:00:00 +0200
categories:
- privacy
- security
bg: thomas-brault
bg-author: Thomas Brault
---

There are two browser plugins which I consider must-have's. Not only do they eliminate advertising and cut down on unnecessary tracking, they also help reduce the website's size and speed-up your internet connection AND make your browser more responsive.

**How do they speed up my browsing experience?**

Easy: Most websites come with a lot of tracking software that monitor your browsing behavior, what you look at, click - where you came from. All these add to these size of the webpage you're looking at.

## Plugins

These plugins work on Chrome, Firefox and Safari (don't use Safari!)

### 1. uBlock
[www.ublock.org](https://www.ublock.org/): A fast, lightweight, and lean blocker.

{% include gist-image.html image="install-these-two-privacy-enhancing-browser-plugins_01.png" caption="uBlock on Chrome" %}

### 2. Privacy Badger
[www.eff.org/privacybadger](https://www.eff.org/privacybadger): Blocks spying ads and invisible trackers.

{% include gist-image.html image="install-these-two-privacy-enhancing-browser-plugins_02.png" caption="Privacy Badger on Chrome" %}

A  => _gist/start-using-a-vpn.md +56 -0
@@ 1,56 @@
---
title: "Start using a VPN (with IPv6 support)"
layout: page
source:
date: 2017-01-01 00:00:00 +0200
categories:
- privacy
- security
- test
bg: austin-neill
bg-author: Austin Neill
---

A VPN connection allows you to access region restricted content such as Netflix, helps circumvent government censorship ("The big firewall") and increases your security and privacy online. What's not to like?

Unfortunately the majority of VPN providers don't do a very good job but instead leave you hanging with a slow connection, frequent disconnects and a fatal compromise: They keep track of what you're doing online!

## Must-have's

Here's what you should be looking for:
- A strict no-logs policy
- OVPN Support (don't use PPTP)
- Support for IPv4 and IPv6 (optional but important!)
- They run their own DNS server
- Great support goes a long way
- Alternative payment methods (Bitcoin)
- Option but useful: Warrant Canary ([example](https://proxy.sh/canary.txt)))

## My provider

Fortunately, there are a number of exceptions which I have come to rely on over the past couple of years:

1. [ovpn.se](https://www.ovpn.se/en)
2. [proxy.sh](https://proxy.sh/) (no IPv6)

The first provider that truly served me well was proxy.sh. During my year in Tehran, they kept me connected almost 24/7 even though it was apparent that the government was trying to restrict access.

Unfortunately though proxy.sh does not yet support IPv6 and that's quite a big deal. If for example you're using an Android phone with an IPv4 only VPN, all IPv6 connections simply bypass the VPN unless you're willing to root your phone to fix this issue. While proxy.sh support told me that they are planing to add IPv6 support in the near future, I needed it now.

Since I was already paying for ovpn.se as a backup to proxy.sh, I simply made the switch and put my proxy.sh account on hold for the time being.

### Speed test

I'm quite satisfied with the speed of the VPN connection. Downloads and uploads are fast and Netflix HD streaming works without hiccups. Though I'm sure you're here to see some numbers:

Sweden: `69ms, 51.28Mbps down, 8.80mbps up` - [speedtest.net](http://beta.speedtest.net/result/5999087648)

Netherlands: `134ms, 88.02Mbps down, 8.33mbps up` - [speedtest.net](http://beta.speedtest.net/result/5999104320)

Canada: `248ms, 14.63Mbps down, 8mbps up` - [speedtest.net](http://beta.speedtest.net/result/5999104320)

_The speeds tests have been done connected to the ovpn.se VPN from Berlin, Germany via Tunnelblick App (macOS), using speedtest.net. I don't connect to the internet without VPN, hence I don't know the actual connection speed though it's safe to assume that it's at least 100Mbps down._

## Conclusion

A VPN does does not protect you 100% but it's a huge step in terms of what you can do to increase your privacy and security online.

A  => _includes/client-projects.html +8 -0
@@ 1,8 @@
<ul class="projects small clean">
{% for work in site.work reversed %}
{% if page.client == work.client %}
  <li class="project"><a href="{{ work.url }}"><intro>Open project</intro>
  <br>{{ work.title }}<country>{{ work.client }}</country></a></li>
{% endif %}
{% endfor %}
</ul>

A  => _includes/client-testimonial.html +9 -0
@@ 1,9 @@
{% for testimonial in site.testimonials reversed %}
{% if page.client == testimonial.client %}
  <h2>Testimonial</h2>
  <blockquote>
  <span>{{ testimonial.content }}</span>
  <footer>- {{ testimonial.title }} <cite title="Source Title">{{ testimonial.position }}</cite></footer>
  </blockquote>
{% endif %}
{% endfor %}

A  => _includes/footer.html +169 -0
@@ 1,169 @@
{% if page.url contains "/client/" or page.url contains "/work/" or page.url contains "/portfolio/" %}
<div class="footer">
    <div class="call-out-contact">
      <div class="container-fluid">
        <div class="row">
          <div class="col-sm-7 col-sm-offset-1 content-wrapper">
            <p><a href="/contact/">Have a project you'd like to discuss with me?</a></p>
          </div>
        </div>
      </div>
    </div>
</div>
{% endif %}

<script src="/assets/js/nprogress.min.js"></script>
<script>
NProgress.start();
</script>
{% js main %}
<script type="text/javascript">
  var _paq = _paq || [];
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="//stats.dkkma.com/";
    _paq.push(['setTrackerUrl', u+'piwik.php']);
    _paq.push(['setSiteId', '8']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'piwik.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<script>
  NProgress.set(0.2);
</script>
{% js extra async %}
<script>
  NProgress.set(0.4);
</script>
<script>
  var slideout = new Slideout({
    'panel': document.getElementById('panel'),
    'menu': document.getElementById('menu'),
    'padding': 256,
    'tolerance': 70
  });
  document.querySelector('.toggle-button').addEventListener('click', function() {
    slideout.toggle();
  });
</script>
<script>
$(window).load(function () {
  exLink.init({
    protocols: ['http', 'https'],
    filetypes: ['pdf', 'xls', 'docx', 'doc', 'ppt', 'pptx'],
    noFollow: true,
    linkWarning: false,
    gaTrackLabel: 'External Links'
  });
});
</script>
{% if page.url contains "/client/" %}
<script async src="https://api.mapbox.com/mapbox-gl-js/v0.31.0/mapbox-gl.js"></script>
<link async href="https://api.mapbox.com/mapbox-gl-js/v0.31.0/mapbox-gl.css" rel="stylesheet"/>
<script>
$(window).load(function () {
  mapboxgl.accessToken = "pk.eyJ1IjoiZGtrbWEiLCJhIjoiU05aOVdrRSJ9._Ahj-qQ5cCyLUCM2dp4tAw";
  var map = new mapboxgl.Map({
      container: 'map',
      style: 'mapbox://styles/mapbox/dark-v9',
      center: [{{ page.map }}],
      zoom: 6
  });
});
</script>
{% elsif page.url contains "/work/" %}
<script type="text/javascript">
$(window).load(function () {
  ;( function( $ ) {
    $( '.swipebox' ).swipebox();
  } )( jQuery );
});
</script>
{% elsif page.url contains "/gist/" %}
<script type="text/javascript">
$(window).load(function () {
  ;( function( $ ) {
    $( '.swipebox' ).swipebox();
  } )( jQuery );
});
</script>
{% elsif page.url contains "/contact/" %}
<script>
$(window).load(function () {
  (function()
  {
    var NowMoment = moment.utc().add(1, 'hours').format('LT');
    var eDisplayMoment = document.getElementById('time');
    eDisplayMoment.innerHTML = NowMoment;
  })();
});
</script>
<script>
$(window).load(function () {
  $.simpleWeather({
    location: 'Berlin',
    unit: 'c',
    success: function(weather) {
      html = ', '+weather.text+' and only '+weather.temp+'&deg;'+weather.units.temp+' outside.';
      $("#weather").html(html);
    },
    error: function(error) {}
  });
});
</script>
<script async src="https://api.mapbox.com/mapbox-gl-js/v0.31.0/mapbox-gl.js"></script>
<link async href="https://api.mapbox.com/mapbox-gl-js/v0.31.0/mapbox-gl.css" rel="stylesheet"/>
<script>
$(window).load(function () {
  mapboxgl.accessToken = "pk.eyJ1IjoiZGtrbWEiLCJhIjoiU05aOVdrRSJ9._Ahj-qQ5cCyLUCM2dp4tAw";
  var map = new mapboxgl.Map({
      container: 'map',
      style: 'mapbox://styles/mapbox/dark-v9',
      center: [{{ page.map }}],
      zoom: 2
  });
});
</script>
<script>
  $('#contact').collapse({
	  toggle: false
	})
</script>
{% endif %}
<script>
  NProgress.set(0.6);
</script>
<script type="text/javascript">
  var url = window.location.href;
  var msg = document.getElementById('welcome_referral');
  if( url.search( 'client_referral' ) > 0 ) {
      msg.style.display = "block";
  }
</script>
<script>
$(document).ready(function() {
  bitcoinprices.init({
    url: "https://api.bitcoinaverage.com/ticker/all",
    marketRateVariable: "24h_avg",
    currencies: ["USD", "EUR", "CNY"],
    symbols: {
        "BTC": "<i class='fa fa-btc'></i>"
    },
    defaultCurrency: "EUR",
    ux : {
        clickPrices : true,
        menu : true,
        clickableCurrencySymbol:  true
    },
    jQuery: jQuery,
    priceAttribute: "data-btc-price",
    priceOrignalCurrency: "BTC"
  });
});
</script>
<script>
  $(window).on("load", function() {
    NProgress.done();
  });
</script>

A  => _includes/gist-image.html +3 -0
@@ 1,3 @@
<div class="image-wrapper narrow">
  <a href="/assets/images/gist/{{ include.image }}" class="swipebox thumbnail" style="background-image:url(/assets/images/gist/{{ include.image }});" title="">{% if include.caption %}<p class="caption">{{ include.caption }}</p>{% endif %}</a>
</div>

A  => _includes/header.html +44 -0
@@ 1,44 @@
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title>

  <meta name="author" content="Franz Geffke">
  <meta name="description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
  <meta property="og:title" content="{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}">
  <meta property="og:description" content="{% if page.excerpt %}{{ page.excerpt | strip_html | strip_newlines | truncate: 160 }}{% else %}{{ site.description }}{% endif %}">
  <meta property="og:url" content="{{ site.url }}/{{ page.url }}">
  <meta property="og:site_name" content="{{ site.title | escape }}">
  {% if page.cover %}
  <meta property="og:image" content="{{ page.cover }}">
  <meta name="twitter:card" content="{{ page.cover }}">
  {% endif %}
  <link rel="apple-touch-icon" sizes="57x57" href="/assets/icon/apple-icon-57x57.png">
  <link rel="apple-touch-icon" sizes="60x60" href="/assets/icon/apple-icon-60x60.png">
  <link rel="apple-touch-icon" sizes="72x72" href="/assets/icon/apple-icon-72x72.png">
  <link rel="apple-touch-icon" sizes="76x76" href="/assets/icon/apple-icon-76x76.png">
  <link rel="apple-touch-icon" sizes="114x114" href="/assets/icon/apple-icon-114x114.png">
  <link rel="apple-touch-icon" sizes="120x120" href="/assets/icon/apple-icon-120x120.png">
  <link rel="apple-touch-icon" sizes="144x144" href="/assets/icon/apple-icon-144x144.png">
  <link rel="apple-touch-icon" sizes="152x152" href="/assets/icon/apple-icon-152x152.png">
  <link rel="apple-touch-icon" sizes="180x180" href="/assets/icon/apple-icon-180x180.png">
  <link rel="icon" type="image/png" sizes="192x192"  href="/assets/icon/android-icon-192x192.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/assets/icon/favicon-32x32.png">
  <link rel="icon" type="image/png" sizes="96x96" href="/assets/icon/favicon-96x96.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/assets/icon/favicon-16x16.png">
  <link rel="manifest" href="/assets/icon/manifest.json">
  <meta name="msapplication-TileColor" content="#ffffff">
  <meta name="msapplication-TileImage" content="/assets/icon/ms-icon-144x144.png">
  <meta name="theme-color" content="#ffffff">
  {% if page.bg %}
  <style>
  #menu {display: none;}
  @media (min-width: 750px) {#panel.bg {background-image: url(/assets/bg/{{ page.bg | remove: "bg-"}}.jpg);}}
  {% unless page.layout == "index" %}@media (max-width: 920px) {#menu {background-image: url(/assets/bg/{{ page.bg | remove: "bg-"}}.jpg);}}{% endunless %}
  </style>
  {% endif %}
  {% css main %}
  <link href="https://fonts.googleapis.com/css?family=Overpass:300,400,400i,700" rel="stylesheet">
</head>

A  => _includes/mobile-nav.html +13 -0
@@ 1,13 @@
<nav id="menu"{% if page.bg %} class="bg-{{ page.bg }}{% if page.layout == "index" %} index{% endif %}"{% endif %}>
  <header>
    <ul>
      <li class="logo"><a href="/"><img alt="Franz" src=/assets/images/franz.svg></a></li>
      <li><a href="/about/">about</a></li>
      <li><a href="/work/">work</a></li>
      <li><a href="/clients/">clients</a></li>
      <li><a href="/gist/">gist</a></li>
      <li><a href="/contact/">contact</a></li>
      <li class="nl bt">1 BTC: <span data-btc-price="1.0">000.00 EUR</span></li>
    </ul>
  </header>
</nav>

A  => _includes/nav.html +17 -0
@@ 1,17 @@
<div class="nav">
  <div class="container-fluid">
    <div class="row">
      <div class="col-sm-10 col-sm-offset-1">
        <ul>
          <li class="logo{% if page.bg == "home" %} visible-md visible-lg{% endif %}"><a href="/"><img alt="Franz" src=/assets/images/franz.svg></a></li>
          <li class="visible-xs visible-sm toggle"><a class="toggle-button">navigation</a></li>
          <li class="visible-md visible-lg"><a href="/about/">about</a></li>
          <li class="visible-md visible-lg"><a href="/portfolio/">portfolio</a></li>
          <li class="visible-md visible-lg"><a href="/gist/">gist</a></li>
          <li class="visible-md visible-lg"><a href="/contact/">contact</a></li>
          <li class="nl visible-md visible-lg">1 BTC: <span data-btc-price="1.0">000.00 EUR</span></li>
        </ul>
      </div>
    </div>
  </div>
</div>

A  => _includes/page-sidebar-nav.html +37 -0
@@ 1,37 @@
{% if page.url contains "/client/" %}

  <p class="title">Client</p>

  <img class="grayscale client-logo" src="/assets/images/clients/{{ page.client }}.png">

  <p><b>{{ page.title }}</b>
  <br><a href="http://{{ page.web }}" target="_blank">{{ page.web }}</a>
  <br>{{ page.city }}, {{ page.country }}</p>
  <div id="map"></div>
  <p>{{ page.introduction }}</p>
  <!--
    <div class="sidebar-nav">
      <p class="title second">Related</p>
      <ul>
      {% for project in site.projects reversed | sort: 'date' %}
        <li><a href="{{ project.url }}">{{ project.client }}</a></li>
      {% endfor %}
      </ul>
    </div>
  -->
{% elsif page.url contains "/contact/" %}
  <p class="title">My Details</p>
  <p><b>Franz Geffke</b>
  <br><a href="mailto:m@f-a.nz">m@f-a.nz</a></p>
  <p>It's <time id="time"></time><weather id="weather"></weather></p>
  <div id="map"></div>

  <div class="sidebar-nav">
    <p class="title second">Notes & Links</p>
    <ul>
      <li><a href="/bitcoin-payments/">Bitcoin payments</a></li>
      <li><a href="/dev/">Developer notes</a></li>
      <li><a href="/privacy/">Privacy</a></li>
    </ul>
  </div>
{% endif %}

A  => _includes/project-image.html +3 -0
@@ 1,3 @@
<div class="image-wrapper">
  <a href="/assets/images/projects/{{ include.image }}" class="swipebox thumbnail" style="background-image:url(/assets/images/projects/preview/{{ include.image }});" title="">{% if include.caption %}<p class="caption">{{ include.caption }}</p>{% endif %}</a>
</div>

A  => _includes/welcome_referral.html +23 -0
@@ 1,23 @@
{% if page.url contains "work" %}
<div id="welcome_referral">
  <div class="container-fluid">
    <p>Welcome, my name is Franz Geffke. I help organizations such as <b>{{ page.client }}</b> succeed online: Increase reach and revenue, sharpen customer focus and lower aquisition cost - If you think it's time to grow, <a href="/contact/">contact me</a>.</p>
    <p><small>You are here because you clicked on the referral link on my clients website: {{ page.web }}.</small></p>
  </div>
</div>
{% endif %}
{% if page.url contains "client" %}
<div id="welcome_referral">
  <div class="container-fluid">
    <p>Welcome, my name is Franz Geffke. I help organizations such as <b>{{ page.title }}</b> succeed online: Increase reach and revenue, sharpen customer focus and lower aquisition cost - If you think it's time to grow, <a href="/contact/">contact me</a>.</p>
    <p><small>You are here because you clicked on the referral link on my clients website: {{ page.web }}.</small></p>
  </div>
</div>
{% endif %}
{% if page.url contains "contact" %}
<div id="welcome_referral">
  <div class="container-fluid">
    <p>Welcome, you're here because you visited the contact page on my portfolio piece dkkma.com (DKKMA). If you're interested in working with me, please get in touch below.</p>
  </div>
</div>
{% endif %}

A  => _layouts/default.html +20 -0
@@ 1,20 @@
<!DOCTYPE html>
<html lang="en">

  {% include header.html %}

  <body>
    {% include mobile-nav.html %}
    {% if page.bg %}
    <main id="panel" class="bg{% if page.layout == "index" %} index{% endif %} bg-{{ page.bg }}">
    {% else %}
    <main id="panel" class="bg{% if page.layout == "index" %} index{% endif %}">
    {% endif %}
      <div class="wrapper">
        {% include nav.html %}
        {{ content }}
        {% include footer.html %}
      </div>
    </main>
  </body>
</html>

A  => _layouts/index.html +5 -0
@@ 1,5 @@
---
layout: default
---

<img class="franz" alt="Franz" src=/assets/images/franz.svg>

A  => _layouts/page-clean.html +14 -0
@@ 1,14 @@
---
layout: default
---

<div class="container-fluid">
  <div class="row">
    <div class="col-sm-11 col-sm-offset-1">
      <h1>{{ page.title }}</h1>
    </div>
  </div>
</div>

{% include welcome_referral.html %}
{{ content }}

A  => _layouts/page-sidebar.html +22 -0
@@ 1,22 @@
---
layout: page-clean
---

<div class="container-fluid">
  <div class="row">
    <div class="col-sm-7 col-sm-offset-1 content-wrapper">
      <div class="content">
        {% if page.url contains "client" %}
          {{ content }}
          {% include client-projects.html %}
          {% include client-testimonial.html %}
        {%  else %}
          {{ content }}
        {% endif %}
      </div>
    </div>
    <div class="col-sm-3 col-sm-offset-1 sidebar">
      {% include page-sidebar-nav.html %}
    </div>
  </div>
</div>

A  => _layouts/page.html +21 -0
@@ 1,21 @@
---
layout: default
---

<div class="container-fluid content-wrapper">
  <div class="row">
    <div class="col-sm-11 col-sm-offset-1">
      <h1>{{ page.title }}</h1>
      <div class="content">
        {{ content }}
        {% if page.url contains "work"%}
          {% for client in site.clients %}
          {% if page.client == client.client %}
            <a href="{{ client.url }}"><intro><- return to client profile</a>
          {% endif %}
          {% endfor %}
        {% endif %}
      </div>
    </div>
  </div>
</div>

A  => _layouts/post.html +5 -0
@@ 1,5 @@
---
layout: default
---

{{ content }}

A  => _posts/2017-01-01-welcome.markdown +9 -0
@@ 1,9 @@
---
layout: post
title:  "Welcome"
date:   2017-01-01 00:00:00 +0200
categories: jekyll update
---
There's noting [here][url].

[url]: https://domain.com

A  => _testimonials/bruce-crews.md +10 -0
@@ 1,10 @@
---
title:  "Bruce Crews"
date:   2016-06-01 00:00:00 +0200
client: "onair"
excerpt: the patience and knowledge to turn our vision into reality
position: OnAir Team
headshot: bruce
---

We were long overdue for a complete website overhaul and we found DKKMA through a local forum. Not only did the website need an entire rebuild but we also wanted to incorporate a new e-commerce element which is still fairly new for our industry. Franz and the DKKMA team were great to work with from start to finish. Customer service was very prompt and friendly, the work ethic was very high throughout, and we are very happy with our final product. We as a company knew specifically what we wanted (and didn’t want) and we thankfully had someone like Franz who had the patience and knowledge to turn our vision into reality. Being a business in Canada, we had our reservations on working with a company in the UK but with frequent Skype meetings and prompt email response, Franz made us feel like he could’ve been just down the street. Thank you DKKMA for all your great work!

A  => _testimonials/doris-hafner.md +20 -0
@@ 1,20 @@
---
title:  "Dr. Doris Hafner "
date:   2016-06-01 00:00:00 +0200
client: "mgs"
excerpt: It turns out that it was a fun-project
position: Director
headshot: doris
---

Starting with the first contact and quotation the fast and customer-orientated information we received from your side showed us that we can rely on Franz and you as experts. It was a relief to realise that you understood our ideas and concerns.

During the process of creating a new design, new features and solutions and working out all the small details, it was amazing how easy-going and smoothly running this process was, thanks to the special working platform too. For a simple user like me, I felt there was always a fully understanding or clear communication from your side.

Amazing that you had always a creative solution either regarding the design or the programming or features even without asking and it was exactly what we had in mind too.

The MGS website now is running smoothly and even updating of content and photos is easy to handle and very efficient. We received an extremely positive feedback from our members, German students and partners. And the website shows service-orientated features which are supportive for our office work too. Our mgs.org.my is definitely a website which is now state of the art and up to date. In general the performance was and is above what we expected.

It turns out that it was “a fun-project” and working with fun usually shows the best results.

A big thank you!

A  => _testimonials/ewan-gaffney.md +10 -0
@@ 1,10 @@
---
title:  "Ewan Gaffney"
date:   2016-06-01 00:00:00 +0200
client: "gewuk"
excerpt: a campaign that includes more than 3,000 events and 300,000 participants
position: Project Management
headshot: ewan
---

Franz helped Youth Business International shape messaging and design engaging visual content for Global Entrepreneurship Week in the UK, a campaign that includes more than 3,000 events and 300,000 participants. Franz was great to work with, keen to test new ideas and push the work into new and exciting areas. The content he produced was central to a social campaign that was really innovative and effective in generating engagement from diverse audiences across multiple platforms. Looking forward to working with Franz on future campaigns.

A  => _work/.filtafry-erp.md +8 -0
@@ 1,8 @@
---
layout: page
title:  "Filtafry ERP"
date:   2016-06-01 00:00:00 +0200
client: "filtafry"
cover: filtafry-01.jpg
bg: roman-kraft
---

A  => _work/filtafry-franchisee-website.md +18 -0
@@ 1,18 @@
---
layout: page
title:  "Filtafry Frenchisee Website"
date:   2016-06-01 00:00:00 +0200
client: "filtafry"
cover: filtafry-01.jpg
bg: roman-kraft
---

{% include project-image.html image="filtafry-06.jpg" %}

Filtafry franchisee websites are a powered by a homegrown system based on Jekyll and maintained trough a central repository. All sites look identical, though feature unique contact details and run on a custom domain. It's a cost-effective, no-brainer web solution for Filtafry franchisees.

- filtafry-dortmund.de
- filtafry-muenster.de
- filtafrysuedwest.de
- filtafry-osnabrueck.de
- ecofry.de

A  => _work/filtafry-website.md +23 -0
@@ 1,23 @@
---
layout: page
title:  "Filtafry Website"
date:   2016-06-01 00:00:00 +0200
client: "filtafry"
cover: filtafry-01.jpg
bg: roman-kraft
---

{% include project-image.html image="filtafry-01.jpg" %}
{% include project-image.html image="filtafry-02.jpg" %}
{% include project-image.html image="filtafry-03.jpg" %}
{% include project-image.html image="filtafry-04.jpg" %}
{% include project-image.html image="filtafry-05.jpg" %}

### Website Technology

The website is completely static.

- Completely static (no PHP, no MYSQL, no RUBY)
- Hosted trough AWS CloudFront CDN (99,99999% uptime)
- Mobile-first design
- Secured by SSL Certificate

A  => _work/fitaseal-website.md +24 -0
@@ 1,24 @@
---
layout: page
title:  "Fit-A-Seal Website"
date:   2016-06-01 00:00:00 +0200
client: "fitaseal"
cover: fitaseal-01.jpg
bg: roman-kraft
---

{% include project-image.html image="fitaseal-01.jpg" %}
{% include project-image.html image="fitaseal-02.jpg" %}
{% include project-image.html image="fitaseal-03.jpg" %}
{% include project-image.html image="fitaseal-04.jpg" %}
{% include project-image.html image="fitaseal-05.jpg" %}
{% include project-image.html image="fitaseal-06.jpg" %}

### Website Technology

The website is completely static.

- Completely static (no PHP, no MYSQL, no RUBY)
- Hosted trough AWS CloudFront CDN (99,99999% uptime)
- Mobile-first design
- Secured by SSL Certificate

A  => _work/gewuk-campaign-2014.md +18 -0
@@ 1,18 @@
---
layout: page
title:  "GEW UK Campaign"
date:   2014-06-01 00:00:00 +0200
client: "gewuk"
cover: gewuk-01.jpg
bg: david-east
---

The 2014 Global Entrepreneurship Week campaign engaged hundreds of thousands of people in the possibilities of entrepreneurship. The campaign was hosted by Youth Business International, in partnership with Barclays, under the theme of “Get Connected”.

<img src="/assets/images/projects/gew-uk-handshare-selfie-01.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-02.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-03.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-04.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-05.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-06.gif" class="image-wrapper inline mb">
<img src="/assets/images/projects/gew-uk-handshare-selfie-07.gif" class="image-wrapper inline">

A  => _work/malaysian-german-society.md +46 -0
@@ 1,46 @@
---
layout: page
title:  "Malaysian German Society Website"
date:   2016-02-01 00:00:00 +0200
client: "mgs"
cover: mgs-01.jpg
bg: malaysia
---

{% include project-image.html image="mgs-01.jpg" %}

### Features

- Section for news and announcements
- Focused event section with upcoming and past events
- Past events feature image galleries with 100's of images
- Register for MGS German Language Course online
- Search entire library online
- Mobile ready

{% include project-image.html image="mgs-07.jpg" %}

The section of the German Language Center not only features a list of all available courses online but also allows for easy online-registration, minimizing paperwork and hours spend copying.

{% include project-image.html image="mgs-03.jpg" %}

The Malaysian-German Society hosts hundreds of events throughout the year. It is important for the society to communicate these dates with members and the public to ensure high interest and attendance. The new website makes it even easier for MGS Staff to add new events publicly - so it's not only easier to find them but large events such as the yearly German Octoberfest are often shared on social media or other sites, linking back to MGS.

{% include project-image.html image="mgs-04.jpg" %}

Event category pages list all upcoming and recent past events. Past events often feature image galleries with hundreds of amazing shots.

{% include project-image.html image="mgs-05.jpg" %}
{% include project-image.html image="mgs-06.jpg" %}

The new website features a state of the art library. Visitors can check for the availability of all of the societies books online. Previously the only way to find out whether a book was available or even part of the library was only possible on-site or via phone.

### Website Technology

The MGS Website is powered by EllisLab ExpressionEngine 2 Core.

- ExpressionEngine 2 Core
- Running on PHP/Apache trough a NGINX Proxy
- Dynamic, Javascript based translation
- Responsive design
- Secured by SSL Certificate

A  => _work/onair-website.md +32 -0
@@ 1,32 @@
---
layout: page
title:  "On Air Website & Backend"
date:   2016-07-01 00:00:00 +0200
client: "onair"
cover: onair-01.jpg
bg: california
---

{% include project-image.html image="onair-01.jpg" %}

### Features

- Section for news and announcements
- Message On Hold Online Order Form
- Stripe payment / credit card processing integration
- User accounts, online order processing, past order archive
- Mobile ready

{% include project-image.html image="onair-02.jpg" %}
{% include project-image.html image="onair-03.jpg" %}
{% include project-image.html image="onair-04.jpg" %}
{% include project-image.html image="onair-05.jpg" %}
{% include project-image.html image="onair-06.jpg" %}

### Website Technology

The MGS Website is powered by EllisLab ExpressionEngine 2.

- ExpressionEngine 2
- Responsive design
- Secured by SSL Certificate

A  => _work/panther-alpha-kickstarer.md +11 -0
@@ 1,11 @@
---
layout: page
title:  "Panther Alpha Kickstarter"
date:   2016-07-01 00:00:00 +0200
client: "panther"
bg: california
---

{% include project-image.html caption="Kickstarter" image="panther-mpc-06.jpg" %}

A Kickstarter campaign in November 2016 had raised a total of $43,858 before we've decided to cancel and postpone it till spring 2017. A new launch date is pending.

A  => _work/panther-alpha-website.md +22 -0
@@ 1,22 @@
---
layout: page
title:  "Panther Alpha Website"
date:   2016-07-01 00:00:00 +0200
client: "panther"
cover: panther-mpc-01.jpg
bg: california
---

{% include project-image.html caption="Homepage" image="panther-mpc-01.jpg" %}
{% include project-image.html image="panther-mpc-02.jpg" %}
{% include project-image.html image="panther-mpc-03.jpg" %}
{% include project-image.html image="panther-mpc-05.jpg" %}

### Website Technology

The website is completely static.

- Completely static (no PHP, no MYSQL, no RUBY)
- Hosted trough AWS CloudFront CDN (99,99999% uptime)
- Mobile-first design
- Secured by SSL Certificate

A  => _work/q-windows-adwords.md +27 -0
@@ 1,27 @@
---
layout: page
title:  "Q-Windows Adwords"
date:   2017-01-01 00:00:00 +0200
client: "qwindows"
bg: malaysia
---

## The challenge

Google Adwords has allowed Q-Windows Malaysia to actively pursue new clients and drive more traffic to their new, mobile-ready website but only few visitors got in touch and ad expenses kept rising.

## What I did

{% include project-image.html image="q-windows-06.jpg" %}

In an effort to capture leads from Google Adwords and Facebook ads, I have come up with a custom landing page. To maximize efficiency, we're A/B testing the landing page to maximize conversion rate and thus maximize our ROI on ads.

## The effects

We've seen improvements across the board:
- Ad expenditure is down by 60% without impact on number of enquiries
- Exit rate is down 21% (89% to 68%)
- Average visit duration is up by 1.47 minutes
- Conversion rate is at 7.2% for new visitors

<img src="/assets/images/projects/q-windows-07.png" class="image-wrapper inline">

A  => _work/q-windows-website.md +44 -0
@@ 1,44 @@
---
layout: page
title:  "Q-Windows Website"
date:   2017-01-01 00:00:00 +0200
client: "qwindows"
cover: q-windows-01.jpg
bg: malaysia
---

## The challenge

The Q-Windows Website has long been suffering under high exit rates, broken links and a imperfect mobile layout.

## What I did

The latest 2017 website refresh turned the Q-Windows website not only completely static but mobile-first. Unlike the already fast, previous site, the new website is no longer powered by a CMS (content management system) but just plain .html files.

## The effects

The website is not only a lot easier to maintain, but also a lot faster. Page load time is down by 65% and time spend browsing is up by 25%.

{% include project-image.html image="q-windows-01.jpg" %}

{% include project-image.html image="q-windows-02.jpg" %}

A modern, mobile-friendly audio player allows desktop visitors to compare the noise level of various Q-Windows glazing solutions under different environmental conditions.

{% include project-image.html image="q-windows-03.jpg" %}
{% include project-image.html image="q-windows-04.jpg" %}

This section works like a technical catalog: All window and door types are listed with their individual configuration options.

{% include project-image.html image="q-windows-05.jpg" %}

The contact form connects directly to the Q-Windows insightly.com CRM account. All submissions automatically show up on their internal dashboard and a custom tracking plugin allows Q-Windows staff understand where leads came from and what pages they looked at.

### Website Technology

The website is completely static.

- Completely static (no PHP, no MYSQL, no RUBY)
- Hosted trough AWS CloudFront CDN (99,99999% uptime)
- Mobile-first design
- Secured by SSL Certificate

A  => _work/sky-hype-real-estate-portal.md +66 -0
@@ 1,66 @@
---
layout: page
title:  "Sky-Hype AG Real Estate Portal"
date:   2016-01-01 00:00:00 +0200
client: "skyhype"
cover: sky-hype-01.jpg
bg: switzerland
---

## The challenge

Sky-Hype AG approached me with the vision to plan, design, develop and maintain the largest, free property portal in the world. With a powerful metasearch engine and over 100 planned source portals, a huge project!

{% include project-image.html image="sky-hype-01.jpg" %}

## What I did

### Features

- Free real estate listings in over 100 countries
- Private account area, user profiles, messaging system
- Listings with up to 10 high-resolution images, drafts
- Translated in 4 languages, 48 more planned
- Metasearch engine with 8 sources, more planned
- Mobile ready

{% include project-image.html image="sky-hype-04.jpg" %}

#### Real estate listings

Sky-Hype allows for easy and free real estate listings in over 100 countries all around the world. It takes less than 3 minutes to register and create the first listing.

#### Multi-language

The site's translation is centrally managed and allows for unlimited flexibility. At the moment we're supporting 3 languages with over 48 planned.

- German
- English
- Russian

{% include project-image.html image="sky-hype-03.jpg" %}

#### Metasearch engine

The custom, PHP based metasearch engine already connects to 8 sources with over 100 more planned.

- Germany; immobilienscout24.de
- Spain; idealista.com
- France; seloger.com
- Portugal; idealista.com
- Russia; cian.ru
- UK; zoopla.co.uk
- Sweden; booli.com
- Switzerland; homegate.ch

### Website Technology

Initially developed on EE 2, Sky-Hype is now powered by EllisLab ExpressionEngine 3.

- ExpressionEngine 3
- Running on PHP/Apache trough a NGINX Proxy
- Dynamic, Javascript based translation
- Unlimited image storage on Amazon AWS S3 in Ireland
- Custom PHP metasearch engine with over 100 connections
- Responsive design
- Secured by SSL Certificate

A  => about.md +44 -0
@@ 1,44 @@
---
title: About Me
layout: page
bg: california-far
permalink: /about/
---

My Name is Franz Geffke - I was born and raised in Germany but today my home is anywhere between Europe, the Middle-East and Southeast-Asia. New experiences and culture draw me to travel to, and to live in different countries all around the world - With stronger foreign ties come a different, new perspective on all aspects of life and business which I continue to embrace.

Aside from my travels, I'm a big privacy advocate and strong supporter of technologies and ideas that help promote personal freedom, decentralize certain aspects of power, and are easily accessible to everyone - now or in the near future.

Whenever I'm not working, I like to disconnect and return to the lifestyle of a different era - with crackling vinyls, glowing amplifiers and a glass of scotch - no ice.

## Work

My work covers a variety of aspects but to summarize, __I help organizations increase their reach and revenue by optimizing their product, online presence and backend-end processes__. I have clients ranging from startup and small business to international powerhouses and charities.

- GEW, UK
- Filtafry, Germany
- Fit-A-Seal, Germany
- Sky-Hype, Switzerland
- Malaysian-German Society, Malaysia
- Q-Windows, Malaysia
- Panther MPC, USA
- AEE, Germany
- On Air, Canada
- DKKMA, UK
- The Running Awards, UK


<blockquote>
<span>Franz helped shape messaging and design engaging visual content for Global Entrepreneurship Week in the UK, a campaign that includes more than 3,000 events and 300,000 participants. Franz was great to work with, keen to test new ideas and push the work into new and exciting areas. The content he produced was central to a social campaign that was really innovative and effective in generating engagement from diverse audiences across multiple platforms.</span>
<footer>- Ewan Gaffney</footer>
</blockquote>

__Here's some of what I do:__

- Execute complex development projects from start to finish
- Optimize backend processes to reduce staff hours and error rate
- Increase product awareness, conversion rate, customer base
- Marketing Automation, ERP and CRM implementation for SME
- Investor pitch, seed funding advice, product placement

Check out my [ongoing and past work](/work/).

A  => assets/bg/_about.jpg +0 -0
A  => assets/bg/about.jpg +0 -0
A  => assets/bg/anthony-delanoix.jpg +0 -0
A  => assets/bg/ben-dumond.jpg +0 -0
A  => assets/bg/california-far.jpg +0 -0
A  => assets/bg/california.jpg +0 -0
A  => assets/bg/contact.jpg +0 -0
A  => assets/bg/david-east.jpg +0 -0
A  => assets/bg/ferdinand-stohr.jpg +0 -0
A  => assets/bg/henning-witzel.jpg +0 -0
A  => assets/bg/home.jpg +0 -0
A  => assets/bg/index.jpg +0 -0
A  => assets/bg/kimon-maritz.jpg +0 -0
A  => assets/bg/malaysia.jpg +0 -0
A  => assets/bg/mark-asthoff.jpg +0 -0
A  => assets/bg/mark-asthoff_02.jpg +0 -0
A  => assets/bg/molly-porter.jpg +0 -0
A  => assets/bg/naphtali-marshall.jpg +0 -0
A  => assets/bg/projects.jpg +0 -0
A  => assets/bg/roman-kraft.jpg +0 -0
A  => assets/bg/sindre-aalberg.jpg +0 -0
A  => assets/bg/switzerland.jpg +0 -0
A  => assets/bg/textbook.jpg +0 -0
A  => assets/bg/thomas-brault.jpg +0 -0
A  => assets/bg/trainstation.jpg +0 -0
A  => assets/config.json +393 -0
@@ 1,393 @@
{
  "vars": {
    "@gray-base": "#000",
    "@gray-darker": "lighten(@gray-base, 13.5%)",
    "@gray-dark": "lighten(@gray-base, 20%)",
    "@gray": "lighten(@gray-base, 33.5%)",
    "@gray-light": "lighten(@gray-base, 46.7%)",
    "@gray-lighter": "lighten(@gray-base, 93.5%)",
    "@brand-primary": "darken(#428bca, 6.5%)",
    "@brand-success": "#5cb85c",
    "@brand-info": "#5bc0de",
    "@brand-warning": "#f0ad4e",
    "@brand-danger": "#d9534f",
    "@body-bg": "#fff",
    "@text-color": "@gray-dark",
    "@link-color": "@brand-primary",
    "@link-hover-color": "darken(@link-color, 15%)",
    "@link-hover-decoration": "underline",
    "@font-family-sans-serif": "\"Helvetica Neue\", Helvetica, Arial, sans-serif",
    "@font-family-serif": "Georgia, \"Times New Roman\", Times, serif",
    "@font-family-monospace": "Menlo, Monaco, Consolas, \"Courier New\", monospace",
    "@font-family-base": "@font-family-sans-serif",
    "@font-size-base": "14px",
    "@font-size-large": "ceil((@font-size-base * 1.25))",
    "@font-size-small": "ceil((@font-size-base * 0.85))",
    "@font-size-h1": "floor((@font-size-base * 2.6))",
    "@font-size-h2": "floor((@font-size-base * 2.15))",
    "@font-size-h3": "ceil((@font-size-base * 1.7))",
    "@font-size-h4": "ceil((@font-size-base * 1.25))",
    "@font-size-h5": "@font-size-base",
    "@font-size-h6": "ceil((@font-size-base * 0.85))",
    "@line-height-base": "1.428571429",
    "@line-height-computed": "floor((@font-size-base * @line-height-base))",
    "@headings-font-family": "inherit",
    "@headings-font-weight": "500",
    "@headings-line-height": "1.1",
    "@headings-color": "inherit",
    "@icon-font-path": "\"../fonts/\"",
    "@icon-font-name": "\"glyphicons-halflings-regular\"",
    "@icon-font-svg-id": "\"glyphicons_halflingsregular\"",
    "@padding-base-vertical": "6px",
    "@padding-base-horizontal": "12px",
    "@padding-large-vertical": "10px",
    "@padding-large-horizontal": "16px",
    "@padding-small-vertical": "5px",
    "@padding-small-horizontal": "10px",
    "@padding-xs-vertical": "1px",
    "@padding-xs-horizontal": "5px",
    "@line-height-large": "1.3333333",
    "@line-height-small": "1.5",
    "@border-radius-base": "4px",
    "@border-radius-large": "6px",
    "@border-radius-small": "3px",
    "@component-active-color": "#fff",
    "@component-active-bg": "@brand-primary",
    "@caret-width-base": "4px",
    "@caret-width-large": "5px",
    "@table-cell-padding": "8px",
    "@table-condensed-cell-padding": "5px",
    "@table-bg": "transparent",
    "@table-bg-accent": "#f9f9f9",
    "@table-bg-hover": "#f5f5f5",
    "@table-bg-active": "@table-bg-hover",
    "@table-border-color": "#ddd",
    "@btn-font-weight": "normal",
    "@btn-default-color": "#333",
    "@btn-default-bg": "#fff",
    "@btn-default-border": "#ccc",
    "@btn-primary-color": "#fff",
    "@btn-primary-bg": "@brand-primary",
    "@btn-primary-border": "darken(@btn-primary-bg, 5%)",
    "@btn-success-color": "#fff",
    "@btn-success-bg": "@brand-success",
    "@btn-success-border": "darken(@btn-success-bg, 5%)",
    "@btn-info-color": "#fff",
    "@btn-info-bg": "@brand-info",
    "@btn-info-border": "darken(@btn-info-bg, 5%)",
    "@btn-warning-color": "#fff",
    "@btn-warning-bg": "@brand-warning",
    "@btn-warning-border": "darken(@btn-warning-bg, 5%)",
    "@btn-danger-color": "#fff",
    "@btn-danger-bg": "@brand-danger",
    "@btn-danger-border": "darken(@btn-danger-bg, 5%)",
    "@btn-link-disabled-color": "@gray-light",
    "@btn-border-radius-base": "@border-radius-base",
    "@btn-border-radius-large": "@border-radius-large",
    "@btn-border-radius-small": "@border-radius-small",
    "@input-bg": "#fff",
    "@input-bg-disabled": "@gray-lighter",
    "@input-color": "@gray",
    "@input-border": "#ccc",
    "@input-border-radius": "@border-radius-base",
    "@input-border-radius-large": "@border-radius-large",
    "@input-border-radius-small": "@border-radius-small",
    "@input-border-focus": "#66afe9",
    "@input-color-placeholder": "#999",
    "@input-height-base": "(@line-height-computed + (@padding-base-vertical * 2) + 2)",
    "@input-height-large": "(ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2)",
    "@input-height-small": "(floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2)",
    "@form-group-margin-bottom": "15px",
    "@legend-color": "@gray-dark",
    "@legend-border-color": "#e5e5e5",
    "@input-group-addon-bg": "@gray-lighter",
    "@input-group-addon-border-color": "@input-border",
    "@cursor-disabled": "not-allowed",
    "@dropdown-bg": "#fff",
    "@dropdown-border": "rgba(0,0,0,.15)",
    "@dropdown-fallback-border": "#ccc",
    "@dropdown-divider-bg": "#e5e5e5",
    "@dropdown-link-color": "@gray-dark",
    "@dropdown-link-hover-color": "darken(@gray-dark, 5%)",
    "@dropdown-link-hover-bg": "#f5f5f5",
    "@dropdown-link-active-color": "@component-active-color",
    "@dropdown-link-active-bg": "@component-active-bg",
    "@dropdown-link-disabled-color": "@gray-light",
    "@dropdown-header-color": "@gray-light",
    "@dropdown-caret-color": "#000",
    "@screen-xs": "480px",
    "@screen-xs-min": "@screen-xs",
    "@screen-phone": "@screen-xs-min",
    "@screen-sm": "768px",
    "@screen-sm-min": "@screen-sm",
    "@screen-tablet": "@screen-sm-min",
    "@screen-md": "992px",
    "@screen-md-min": "@screen-md",
    "@screen-desktop": "@screen-md-min",
    "@screen-lg": "1200px",
    "@screen-lg-min": "@screen-lg",
    "@screen-lg-desktop": "@screen-lg-min",
    "@screen-xs-max": "(@screen-sm-min - 1)",
    "@screen-sm-max": "(@screen-md-min - 1)",
    "@screen-md-max": "(@screen-lg-min - 1)",
    "@grid-columns": "12",
    "@grid-gutter-width": "30px",
    "@grid-float-breakpoint": "@screen-sm-min",
    "@grid-float-breakpoint-max": "(@grid-float-breakpoint - 1)",
    "@container-tablet": "(720px + @grid-gutter-width)",
    "@container-sm": "@container-tablet",
    "@container-desktop": "(940px + @grid-gutter-width)",
    "@container-md": "@container-desktop",
    "@container-large-desktop": "(1140px + @grid-gutter-width)",
    "@container-lg": "@container-large-desktop",
    "@navbar-height": "50px",
    "@navbar-margin-bottom": "@line-height-computed",
    "@navbar-border-radius": "@border-radius-base",
    "@navbar-padding-horizontal": "floor((@grid-gutter-width / 2))",
    "@navbar-padding-vertical": "((@navbar-height - @line-height-computed) / 2)",
    "@navbar-collapse-max-height": "340px",
    "@navbar-default-color": "#777",
    "@navbar-default-bg": "#f8f8f8",
    "@navbar-default-border": "darken(@navbar-default-bg, 6.5%)",
    "@navbar-default-link-color": "#777",
    "@navbar-default-link-hover-color": "#333",
    "@navbar-default-link-hover-bg": "transparent",
    "@navbar-default-link-active-color": "#555",
    "@navbar-default-link-active-bg": "darken(@navbar-default-bg, 6.5%)",
    "@navbar-default-link-disabled-color": "#ccc",
    "@navbar-default-link-disabled-bg": "transparent",
    "@navbar-default-brand-color": "@navbar-default-link-color",
    "@navbar-default-brand-hover-color": "darken(@navbar-default-brand-color, 10%)",
    "@navbar-default-brand-hover-bg": "transparent",
    "@navbar-default-toggle-hover-bg": "#ddd",
    "@navbar-default-toggle-icon-bar-bg": "#888",
    "@navbar-default-toggle-border-color": "#ddd",
    "@navbar-inverse-color": "lighten(@gray-light, 15%)",
    "@navbar-inverse-bg": "#222",
    "@navbar-inverse-border": "darken(@navbar-inverse-bg, 10%)",
    "@navbar-inverse-link-color": "lighten(@gray-light, 15%)",
    "@navbar-inverse-link-hover-color": "#fff",
    "@navbar-inverse-link-hover-bg": "transparent",
    "@navbar-inverse-link-active-color": "@navbar-inverse-link-hover-color",
    "@navbar-inverse-link-active-bg": "darken(@navbar-inverse-bg, 10%)",
    "@navbar-inverse-link-disabled-color": "#444",
    "@navbar-inverse-link-disabled-bg": "transparent",
    "@navbar-inverse-brand-color": "@navbar-inverse-link-color",
    "@navbar-inverse-brand-hover-color": "#fff",
    "@navbar-inverse-brand-hover-bg": "transparent",
    "@navbar-inverse-toggle-hover-bg": "#333",
    "@navbar-inverse-toggle-icon-bar-bg": "#fff",
    "@navbar-inverse-toggle-border-color": "#333",
    "@nav-link-padding": "10px 15px",
    "@nav-link-hover-bg": "@gray-lighter",
    "@nav-disabled-link-color": "@gray-light",
    "@nav-disabled-link-hover-color": "@gray-light",
    "@nav-tabs-border-color": "#ddd",
    "@nav-tabs-link-hover-border-color": "@gray-lighter",
    "@nav-tabs-active-link-hover-bg": "@body-bg",
    "@nav-tabs-active-link-hover-color": "@gray",
    "@nav-tabs-active-link-hover-border-color": "#ddd",
    "@nav-tabs-justified-link-border-color": "#ddd",
    "@nav-tabs-justified-active-link-border-color": "@body-bg",
    "@nav-pills-border-radius": "@border-radius-base",
    "@nav-pills-active-link-hover-bg": "@component-active-bg",
    "@nav-pills-active-link-hover-color": "@component-active-color",
    "@pagination-color": "@link-color",
    "@pagination-bg": "#fff",
    "@pagination-border": "#ddd",
    "@pagination-hover-color": "@link-hover-color",
    "@pagination-hover-bg": "@gray-lighter",
    "@pagination-hover-border": "#ddd",
    "@pagination-active-color": "#fff",
    "@pagination-active-bg": "@brand-primary",
    "@pagination-active-border": "@brand-primary",
    "@pagination-disabled-color": "@gray-light",
    "@pagination-disabled-bg": "#fff",
    "@pagination-disabled-border": "#ddd",
    "@pager-bg": "@pagination-bg",
    "@pager-border": "@pagination-border",
    "@pager-border-radius": "15px",
    "@pager-hover-bg": "@pagination-hover-bg",
    "@pager-active-bg": "@pagination-active-bg",
    "@pager-active-color": "@pagination-active-color",
    "@pager-disabled-color": "@pagination-disabled-color",
    "@jumbotron-padding": "30px",
    "@jumbotron-color": "inherit",
    "@jumbotron-bg": "@gray-lighter",
    "@jumbotron-heading-color": "inherit",
    "@jumbotron-font-size": "ceil((@font-size-base * 1.5))",
    "@jumbotron-heading-font-size": "ceil((@font-size-base * 4.5))",
    "@state-success-text": "#3c763d",
    "@state-success-bg": "#dff0d8",
    "@state-success-border": "darken(spin(@state-success-bg, -10), 5%)",
    "@state-info-text": "#31708f",
    "@state-info-bg": "#d9edf7",
    "@state-info-border": "darken(spin(@state-info-bg, -10), 7%)",
    "@state-warning-text": "#8a6d3b",
    "@state-warning-bg": "#fcf8e3",
    "@state-warning-border": "darken(spin(@state-warning-bg, -10), 5%)",
    "@state-danger-text": "#a94442",
    "@state-danger-bg": "#f2dede",
    "@state-danger-border": "darken(spin(@state-danger-bg, -10), 5%)",
    "@tooltip-max-width": "200px",
    "@tooltip-color": "#fff",
    "@tooltip-bg": "#000",
    "@tooltip-opacity": ".9",
    "@tooltip-arrow-width": "5px",
    "@tooltip-arrow-color": "@tooltip-bg",
    "@popover-bg": "#fff",
    "@popover-max-width": "276px",
    "@popover-border-color": "rgba(0,0,0,.2)",
    "@popover-fallback-border-color": "#ccc",
    "@popover-title-bg": "darken(@popover-bg, 3%)",
    "@popover-arrow-width": "10px",
    "@popover-arrow-color": "@popover-bg",
    "@popover-arrow-outer-width": "(@popover-arrow-width + 1)",
    "@popover-arrow-outer-color": "fadein(@popover-border-color, 5%)",
    "@popover-arrow-outer-fallback-color": "darken(@popover-fallback-border-color, 20%)",
    "@label-default-bg": "@gray-light",
    "@label-primary-bg": "@brand-primary",
    "@label-success-bg": "@brand-success",
    "@label-info-bg": "@brand-info",
    "@label-warning-bg": "@brand-warning",
    "@label-danger-bg": "@brand-danger",
    "@label-color": "#fff",
    "@label-link-hover-color": "#fff",
    "@modal-inner-padding": "15px",
    "@modal-title-padding": "15px",
    "@modal-title-line-height": "@line-height-base",
    "@modal-content-bg": "#fff",
    "@modal-content-border-color": "rgba(0,0,0,.2)",
    "@modal-content-fallback-border-color": "#999",
    "@modal-backdrop-bg": "#000",
    "@modal-backdrop-opacity": ".5",
    "@modal-header-border-color": "#e5e5e5",
    "@modal-footer-border-color": "@modal-header-border-color",
    "@modal-lg": "900px",
    "@modal-md": "600px",
    "@modal-sm": "300px",
    "@alert-padding": "15px",
    "@alert-border-radius": "@border-radius-base",
    "@alert-link-font-weight": "bold",
    "@alert-success-bg": "@state-success-bg",
    "@alert-success-text": "@state-success-text",
    "@alert-success-border": "@state-success-border",
    "@alert-info-bg": "@state-info-bg",
    "@alert-info-text": "@state-info-text",
    "@alert-info-border": "@state-info-border",
    "@alert-warning-bg": "@state-warning-bg",
    "@alert-warning-text": "@state-warning-text",
    "@alert-warning-border": "@state-warning-border",
    "@alert-danger-bg": "@state-danger-bg",
    "@alert-danger-text": "@state-danger-text",
    "@alert-danger-border": "@state-danger-border",
    "@progress-bg": "#f5f5f5",
    "@progress-bar-color": "#fff",
    "@progress-border-radius": "@border-radius-base",
    "@progress-bar-bg": "@brand-primary",
    "@progress-bar-success-bg": "@brand-success",
    "@progress-bar-warning-bg": "@brand-warning",
    "@progress-bar-danger-bg": "@brand-danger",
    "@progress-bar-info-bg": "@brand-info",
    "@list-group-bg": "#fff",
    "@list-group-border": "#ddd",
    "@list-group-border-radius": "@border-radius-base",
    "@list-group-hover-bg": "#f5f5f5",
    "@list-group-active-color": "@component-active-color",
    "@list-group-active-bg": "@component-active-bg",
    "@list-group-active-border": "@list-group-active-bg",
    "@list-group-active-text-color": "lighten(@list-group-active-bg, 40%)",
    "@list-group-disabled-color": "@gray-light",
    "@list-group-disabled-bg": "@gray-lighter",
    "@list-group-disabled-text-color": "@list-group-disabled-color",
    "@list-group-link-color": "#555",
    "@list-group-link-hover-color": "@list-group-link-color",
    "@list-group-link-heading-color": "#333",
    "@panel-bg": "#fff",
    "@panel-body-padding": "15px",
    "@panel-heading-padding": "10px 15px",
    "@panel-footer-padding": "@panel-heading-padding",
    "@panel-border-radius": "@border-radius-base",
    "@panel-inner-border": "#ddd",
    "@panel-footer-bg": "#f5f5f5",
    "@panel-default-text": "@gray-dark",
    "@panel-default-border": "#ddd",
    "@panel-default-heading-bg": "#f5f5f5",
    "@panel-primary-text": "#fff",
    "@panel-primary-border": "@brand-primary",
    "@panel-primary-heading-bg": "@brand-primary",
    "@panel-success-text": "@state-success-text",
    "@panel-success-border": "@state-success-border",
    "@panel-success-heading-bg": "@state-success-bg",
    "@panel-info-text": "@state-info-text",
    "@panel-info-border": "@state-info-border",
    "@panel-info-heading-bg": "@state-info-bg",
    "@panel-warning-text": "@state-warning-text",
    "@panel-warning-border": "@state-warning-border",
    "@panel-warning-heading-bg": "@state-warning-bg",
    "@panel-danger-text": "@state-danger-text",
    "@panel-danger-border": "@state-danger-border",
    "@panel-danger-heading-bg": "@state-danger-bg",
    "@thumbnail-padding": "4px",
    "@thumbnail-bg": "@body-bg",
    "@thumbnail-border": "#ddd",
    "@thumbnail-border-radius": "@border-radius-base",
    "@thumbnail-caption-color": "@text-color",
    "@thumbnail-caption-padding": "9px",
    "@well-bg": "#f5f5f5",
    "@well-border": "darken(@well-bg, 7%)",
    "@badge-color": "#fff",
    "@badge-link-hover-color": "#fff",
    "@badge-bg": "@gray-light",
    "@badge-active-color": "@link-color",
    "@badge-active-bg": "#fff",
    "@badge-font-weight": "bold",
    "@badge-line-height": "1",
    "@badge-border-radius": "10px",
    "@breadcrumb-padding-vertical": "8px",
    "@breadcrumb-padding-horizontal": "15px",
    "@breadcrumb-bg": "#f5f5f5",
    "@breadcrumb-color": "#ccc",
    "@breadcrumb-active-color": "@gray-light",
    "@breadcrumb-separator": "\"/\"",
    "@carousel-text-shadow": "0 1px 2px rgba(0,0,0,.6)",
    "@carousel-control-color": "#fff",
    "@carousel-control-width": "15%",
    "@carousel-control-opacity": ".5",
    "@carousel-control-font-size": "20px",
    "@carousel-indicator-active-bg": "#fff",
    "@carousel-indicator-border-color": "#fff",
    "@carousel-caption-color": "#fff",
    "@close-font-weight": "bold",
    "@close-color": "#000",
    "@close-text-shadow": "0 1px 0 #fff",
    "@code-color": "#c7254e",
    "@code-bg": "#f9f2f4",
    "@kbd-color": "#fff",
    "@kbd-bg": "#333",
    "@pre-bg": "#f5f5f5",
    "@pre-color": "@gray-dark",
    "@pre-border-color": "#ccc",
    "@pre-scrollable-max-height": "340px",
    "@component-offset-horizontal": "180px",
    "@text-muted": "@gray-light",
    "@abbr-border-color": "@gray-light",
    "@headings-small-color": "@gray-light",
    "@blockquote-small-color": "@gray-light",
    "@blockquote-font-size": "(@font-size-base * 1.25)",
    "@blockquote-border-color": "@gray-lighter",
    "@page-header-border-color": "@gray-lighter",
    "@dl-horizontal-offset": "@component-offset-horizontal",
    "@dl-horizontal-breakpoint": "@grid-float-breakpoint",
    "@hr-border": "@gray-lighter"
  },
  "css": [
    "grid.less",
    "responsive-utilities.less",
    "component-animations.less"
  ],
  "js": [
    "collapse.js"
  ],
  "customizerUrl": "https://getbootstrap.com/customize/?id=e61b3156dd0b278fbb8a320b4d49cb53"
}
\ No newline at end of file

A  => assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_01.png +0 -0
A  => assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_02.png +0 -0
A  => assets/content/ethereum-gpu-mining-on-aws-ec2-in-2017_03.png +0 -0
A  => assets/css/_bootstrap.scss +14 -0
@@ 1,14 @@
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/customize/?id=e61b3156dd0b278fbb8a320b4d49cb53)
 * Config saved to config.json and https://gist.github.com/e61b3156dd0b278fbb8a320b4d49cb53
 *//*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2016 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}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;-o-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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.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:auto}.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:auto}.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-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.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:auto}.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:auto}.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-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.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:auto}.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:auto}.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-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.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:auto}.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:auto}.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;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height, visibility;-o-transition-property:height, visibility;transition-property:height, visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row: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}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none !important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none !important}@media (max-width:767px){.visible-xs{display:block !important}table.visible-xs{display:table !important}tr.visible-xs{display:table-row !important}th.visible-xs,td.visible-xs{display:table-cell !important}}@media (max-width:767px){.visible-xs-block{display:block !important}}@media (max-width:767px){.visible-xs-inline{display:inline !important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}table.visible-sm{display:table !important}tr.visible-sm{display:table-row !important}th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline !important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}table.visible-md{display:table !important}tr.visible-md{display:table-row !important}th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline !important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block !important}}@media (min-width:1200px){.visible-lg{display:block !important}table.visible-lg{display:table !important}tr.visible-lg{display:table-row !important}th.visible-lg,td.visible-lg{display:table-cell !important}}@media (min-width:1200px){.visible-lg-block{display:block !important}}@media (min-width:1200px){.visible-lg-inline{display:inline !important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block !important}}@media (max-width:767px){.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-lg{display:none !important}}.visible-print{display:none !important}@media print{.visible-print{display:block !important}table.visible-print{display:table !important}tr.visible-print{display:table-row !important}th.visible-print,td.visible-print{display:table-cell !important}}.visible-print-block{display:none !important}@media print{.visible-print-block{display:block !important}}.visible-print-inline{display:none !important}@media print{.visible-print-inline{display:inline !important}}.visible-print-inline-block{display:none !important}@media print{.visible-print-inline-block{display:inline-block !important}}@media print{.hidden-print{display:none !important}}
\ No newline at end of file

A  => assets/css/_custom.scss +752 -0
@@ 1,752 @@
html {
  overflow-y: scroll;
}

body {
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
  min-height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-family: 'Overpass', sans-serif;
  color: #000;
}

body.bright {
  color: #000;
  background-color: #ffffff;
}

body.dark {
  color: #fff;
  background-color: #424242;
}

.container-fluid {
  max-width: 1200px;
}

.content, .sidebar {
  padding-bottom: 80px;
}

.content p, .content a, .content h1, .content h2, .content h3, .content h4, .content table, .content ul, .content ol {
  max-width:600px;
}

h1, h2, h3, h4, h5 {

}

p, a, li, {

}

a:hover {
  color: #fff;
  background-color: #550092;
  text-decoration: none;
}

h1 {
  font-size: 3.8em;
}

h2 {
  font-size: 2.4em;
}

h3 {
  font-size: 2em;
}

h4 {
  font-size: 1.6em;
  font-weight: bold;
}

p, li {
  font-size: 1.1em;
  line-height: 1.5em;
}

ul {
  margin-bottom:1em;
}

a {
  color: #550092;
  padding:0px 2px 0px 2px;
  margin: 0px -2px 0px -2px;
}

.footer {
  bottom: 0;
  position: absolute;
  width: 100%;
}

.grayscale {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
}

a.thumbnail {
  background-size: cover;
  background-position: top center;
  border-radius: 4px;
  height: 326px;
  display: block;
}

.image-wrapper.narrow a.thumbnail {
  height:200px;
}

a.thumbnail:hover {
}

.image-wrapper {
  position: relative;
  margin: 40px 60px 0px 0px;
  border-radius: 4px;
  border: 1px solid #bbb;
  padding: 0px;
  -webkit-box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.5);
  -moz-box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.5);
  box-shadow: 0px 0px 10px 0px rgba(50, 50, 50, 0.5);
}

.image-wrapper a.thumbnail {
  background-size: cover;
  background-position: top center;
  border-radius: 3px;
  height: 326px;
  display: block;
  padding:0px;
  margin:0px;
}

.image-wrapper:hover {
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
	filter: grayscale(0%);
}

.image-wrapper p.caption {
  margin: 0px;
  font-size: 0.8em;
  font-weight: 700;
  background-color: #000;
  padding: 4px;
  color: #fff;
  width: 180px;
  bottom: 0px;
  left: 0px;
  position: absolute;
}

.image-wrapper:hover p.caption {
  display: none;
}

.image-wrapper.inline {
  margin-top: 0px;
}

.image-wrapper.inline.mb {
  margin-bottom:40px;
}

caption {

}

.magicsauce {
  color: #550092;
}

img.franz {
  vertical-align: middle;
  max-width: 400px;
  padding:1em;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
}

.logo img {
  width: 90px;
  margin-top: -10px;
}

.client-logo {
  width: 100%;
  border: 1px solid #000;
  padding: 20px 40px 20px 40px;
}

.nav ul {
  padding:0px;
  list-style: none;
}

.nav ul li {
  float:left;
}

.nav ul li a, .nav ul li.nl {
  display: block;
  color: #000;
  text-transform: uppercase;
  line-height: 1.5em;
}

.nav ul li a {
  font-size:0.8em;
  margin: 18px 20px 5px 5px;
}

.nav ul li.nl {
  font-size:0.9em;
  padding: 20px;
}

.nav ul li a:hover, .nav ul li.nl:hover {
  color:#fff;
  background-color: #550092;
}

.nav ul li.logo a {
  padding-left: 0px;
  padding-top: 0px;
  margin-left: 0px;
  margin-top: 18px;
}

.nav ul li.logo a:hover {
  background-color: transparent;
}

.form-group {
    margin: 10px 0px 10px 0px;
}

.form-group .form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  font-size: 1em;
  font-weight:700;
  line-height: 1.42857143;
  color: #550092;
  background-color: #fff;
  background-image: none;
  border: 2px solid #d8d8d8;
  border-radius: 2px;
  -webkit-transition: border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.form-control:focus {
    border-color: #000;
    outline: 0;
    -webkit-box-shadow: inset 0 14px 1px rgba(0, 0, 0, 0.02), 0 0 6px rgba(0, 0, 0, 0.3);
    box-shadow: inset 0 14px 1px rgba(0, 0, 0, 0.02), 0 0 6px rgba(0, 0, 0, 0.3);
}

.form-group textarea.form-control {
    height: auto;
    overflow: auto;
}

.btn {
  display: inline-block;
  padding: 6px 12px;
  margin-bottom: 0;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  background-color: #fff;
}

.btn:hover {
  background-color: #550092;
  color: #fff;
}

.contact-form {
  max-width: 400px;
}

label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: 700;
}

#panel {
  background-color: #FFF;
}

#panel.bg-home .content {
  color: #fff;
}

#nprogress .spinner-icon {
  border-top-color: #550092;
  border-left-color: #550092;
}

#nprogress .bar {
  background: #550092;
}

.slideout-open #menu {
  display: block;
}

#menu ul {
  padding:0px;
  margin: 0px;
  list-style: none;
}

#menu ul li {

}

#menu ul li a, #menu ul li.nl {
  display: block;
  padding: 14px;
  color: #000;
  text-transform: uppercase;
  background-color: rgba(255, 255, 255, 0.8);
}

#menu ul li a:hover {
  background-color: #fff;
}

#menu ul li.logo a {
  padding-top: 2em;
}

#menu ul li.nl.bt {
  padding-bottom: 2em;
}

.slideout-open .wrapper li.logo {
  height: 58px;
  width: 110px;
}

.slideout-open .wrapper li.logo img {
  display: none;
}

.slideout-menu {
  position: fixed;
  top: 0;
  bottom: 0;
  width: 256px;
  min-height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  z-index: 0;
  display: none;
}

.slideout-menu-left {
  left: 0;
}

.slideout-menu-right {
  right: 0;
}

.slideout-panel {
  position: relative;
  z-index: 1;
  will-change: transform;
  min-height: 100vh;
}

.slideout-open,
.slideout-open body,
.slideout-open .slideout-panel {
  overflow: hidden;
}

.slideout-open .slideout-menu {
  display: block;
}

ul.projects {
  list-style: none;
  padding: 0px;
}

ul.projects li {

}

ul.projects li a {
  color: #fff;
  background-color: #bbb;
  font-size:1.2em;
  font-weight: 700;
  text-transform: uppercase;
  display: block;
  width: 100%;
  margin:0px;
  margin-bottom: 40px;
}

ul.projects li a:hover {
  color: #000;
  background-color: #000;
}

ul.projects li a country {
  float: right;
  color: #d4d4d4;
}

ul.projects.clean li a intro {
  color: #bbb;
}

ul.projects li a:hover country {
  color: #550092;
}

ul.projects li a:hover intro {
  color: #fff;
}

ul.projects li a intro {
  color: #d4d4d4;
}

.sidebar {
  overflow-wrap: break-word;
}

.sidebar p.title {
  font-weight: 700;
  padding-bottom: 6px;
  border-bottom: 3px solid #000;
}

.sidebar p.title.second {
  margin-top:40px;
}

#map {
  height:100px;
}

.map {
  height:100px;
}

.sidebar-nav ul {
  list-style: none;
  padding:0px;
}

.sidebar-nav ul li {

}

.sidebar-nav ul li a {
  color: #000;
  margin: 1px 0px 1px 0px;
}

.sidebar-nav ul li a:hover {
  color: #fff;
  background-color: #550092;
}

.call-out-contact {
  background-color: #000;
  color: #fff;
  bottom: 0;
  left: 0;
  width: 100%;
}

.call-out-contact a {
  color: #fff;
}

code, kbd, pre, samp {
  background-color: #000;
  padding-left: 2px;
  padding-right: 2px;
  color: #fff;
}

.content img {
  max-width: 100%;
}

#welcome_referral {
  background-color: #000;
  color: #fff;
  font-weight: bold;
  padding: 10px;
  margin-bottom: 30px;
  max-width: 800px;
  display: none;
}

#welcome_referral a {
  color: #fff;
}

#welcome_referral small {
  color: #550092;
}

.clients {
  height: 88px;
  padding-left: 36px;
  overflow-x: hidden;
  overflow-y: hidden;
  white-space: nowrap;
}

.clients .logo-wrapper {
  padding: 8px;
  margin: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  display: inline-block;
  vertical-align: top;
}

.clients .logo-wrapper a.logo {
  width: 100px;
  height: 42px;
  padding: 0px;
  margin: 0px;
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
	filter: grayscale(100%);
	filter: gray;
  display: block;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.clients .logo-wrapper a.logo:hover {
  background-color: #fff;
  -webkit-filter: grayscale(0%);
  -moz-filter: grayscale(0%);
	filter: grayscale(0%);
}

table {
  width: 100%;
}

table thead {
  text-align: left;
}

table td, table th {
  padding: 4px;
  vertical-align: bottom;
  border-bottom: 1px solid #f1f1f1;
}


blockquote {
  padding: 8px;
  margin: 5px;
  background-image: url(../assets/images/openquote.png);
  background-position: top left;
  background-repeat: no-repeat;
  background-size: 24px;
  text-indent: 23px;
}
blockquote span {
	display: block;
	background-image: url(../assets/images/closequote.png);
	background-repeat: no-repeat;
	background-position: bottom right;
  background-size: 24px;
}

blockquote footer {
  text-indent: 0px;
  margin-top: 16px;
}

::-moz-selection {
  color: #fff;
  background: #000;
}
::selection {
  color: #fff;
  background: #000;
}

a::-moz-selection {
  color: #fff;
  background: #550092;
}
a::selection {
  color: #fff;
  background: #550092;
}

@media (min-width: 750px) {
  .wrapper {
    min-height:100vh;
    margin-right: 160px;
    background-color: #fff;
    position: relative;
  }
  #panel {
    background-color: #000;
  }
  #panel.bg {
    background-size: 320px;
    background-position: top right;
    background-repeat: no-repeat;
    background-attachment: fixed;
  }
  #panel.bg-home .wrapper {
    background-color: transparent;
  }
  #panel.bg.index {
    background-size: cover;
  }
}
@media (max-width:786px) {
  .image-wrapper a.thumbnail {
    height:160px;
  }
}
@media (max-width: 920px) {
  h1 {
    line-height: 1em;
  }
  .nav ul li.toggle {
    float:right;
  }
  #menu {
    background-color: #000;
  }
  #menu.index {
    background-color: #fff;
  }
  #menu.bg-home .wrapper {
    background-color: transparent;
  }
  #menu.bg-home {
    background-color: #fff;
  }
  #panel.bg.index {
    background-image:url(../assets/bg/home.jpg);
    background-size: cover;
  }
  ul.projects li a {
    font-size: 1em;
    padding: 20px;
    margin-bottom: 20px;
  }
  ul.projects li a country {
    margin-left: 8px;
  }
  .image-wrapper {
    margin: 20px 10px 20px 10px;
  }
  a.thumbnail {
    height: 200px;
  }
  .sidebar {
    margin-top:20px;
  }
  img.franz {
    padding: 3em;
  }
  ul.projects li a:hover {
    color: #550092;
  }
}
@media (min-width: 920px) {
  .nav ul li a, .nav ul li.nl {
    padding: 0px 2px 0px 2px;
    margin: 20px 18px 20px 18px;
  }
  ul.projects li a {
    padding: 60px 20px 20px 96px;
  }
  ul.projects.small li a {
    padding: 60px 20px 20px 20px;
  }
  .content img, .content .image-wrapper, .content a {
    max-width:640px;
  }
}
@media (min-width: 1100px) {
  .wrapper {
    margin-right: 220px;
  }
  .content img, .content .image-wrapper, .content a {
    max-width:700px;
  }
}
@media (min-width: 1200px) {
  .wrapper {
    margin-right: 320px;
  }
  .image-wrapper {
    margin-top: 80px;
    margin-bottom: 20px;
  }
  .image-wrapper a.thumbnail {
    height:400px;
  }
}
@media (min-width: 1400px) {
  .content img, .content .image-wrapper, .content a {
    max-width:1000px;
  }
  .image-wrapper a.thumbnail {
    height:500px;
  }
}

.image-wrapper.narrow {
  max-width: 200px;
  margin: 40px 60px 0px 0px;
}

#swipebox-prev, #swipebox-next, #swipebox-close {
  background-image: url(/assets/swipebox/img/icons.png);
}

A  => assets/css/_nprogress.scss +74 -0
@@ 1,74 @@
/* Make clicks pass-through */
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  background: #29d;

  position: fixed;
  z-index: 1031;
  top: 0;
  left: 0;

  width: 100%;
  height: 2px;
}

/* Fancy blur effect */
#nprogress .peg {
  display: block;
  position: absolute;
  right: 0px;
  width: 100px;
  height: 100%;
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
  opacity: 1.0;

  -webkit-transform: rotate(3deg) translate(0px, -4px);
      -ms-transform: rotate(3deg) translate(0px, -4px);
          transform: rotate(3deg) translate(0px, -4px);
}

/* Remove these to get rid of the spinner */
#nprogress .spinner {
  display: block;
  position: fixed;
  z-index: 1031;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  width: 18px;
  height: 18px;
  box-sizing: border-box;

  border: solid 2px transparent;
  border-top-color: #29d;
  border-left-color: #29d;
  border-radius: 50%;

  -webkit-animation: nprogress-spinner 400ms linear infinite;
          animation: nprogress-spinner 400ms linear infinite;
}

.nprogress-custom-parent {
  overflow: hidden;
  position: relative;
}

.nprogress-custom-parent #nprogress .spinner,
.nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@-webkit-keyframes nprogress-spinner {
  0%   { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}
@keyframes nprogress-spinner {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}


A  => assets/css/extra.scss +0 -0
A  => assets/css/main.scss +5 -0
@@ 1,5 @@
@import 'bootstrap';
@import 'nprogress';
@import 'swipebox';
@import 'custom';
// ...

A  => assets/icon/android-icon-144x144.png +0 -0
A  => assets/icon/android-icon-192x192.png +0 -0
A  => assets/icon/android-icon-36x36.png +0 -0
A  => assets/icon/android-icon-48x48.png +0 -0
A  => assets/icon/android-icon-72x72.png +0 -0
A  => assets/icon/android-icon-96x96.png +0 -0
A  => assets/icon/apple-icon-114x114.png +0 -0
A  => assets/icon/apple-icon-120x120.png +0 -0
A  => assets/icon/apple-icon-144x144.png +0 -0
A  => assets/icon/apple-icon-152x152.png +0 -0
A  => assets/icon/apple-icon-180x180.png +0 -0
A  => assets/icon/apple-icon-57x57.png +0 -0
A  => assets/icon/apple-icon-60x60.png +0 -0
A  => assets/icon/apple-icon-72x72.png +0 -0
A  => assets/icon/apple-icon-76x76.png +0 -0
A  => assets/icon/apple-icon-precomposed.png +0 -0
A  => assets/icon/apple-icon.png +0 -0
A  => assets/icon/browserconfig.xml +2 -0
@@ 1,2 @@
<?xml version="1.0" encoding="utf-8"?>
<browserconfig><msapplication><tile><square70x70logo src="/ms-icon-70x70.png"/><square150x150logo src="/ms-icon-150x150.png"/><square310x310logo src="/ms-icon-310x310.png"/><TileColor>#ffffff</TileColor></tile></msapplication></browserconfig>
\ No newline at end of file

A  => assets/icon/favicon-16x16.png +0 -0
A  => assets/icon/favicon-32x32.png +0 -0
A  => assets/icon/favicon-96x96.png +0 -0
A  => assets/icon/favicon.ico +0 -0
A  => assets/icon/manifest.json +41 -0
@@ 1,41 @@
{
 "name": "App",
 "icons": [
  {
   "src": "\/android-icon-36x36.png",
   "sizes": "36x36",
   "type": "image\/png",
   "density": "0.75"
  },
  {
   "src": "\/android-icon-48x48.png",
   "sizes": "48x48",
   "type": "image\/png",
   "density": "1.0"
  },
  {
   "src": "\/android-icon-72x72.png",
   "sizes": "72x72",
   "type": "image\/png",
   "density": "1.5"
  },
  {
   "src": "\/android-icon-96x96.png",
   "sizes": "96x96",
   "type": "image\/png",
   "density": "2.0"
  },
  {
   "src": "\/android-icon-144x144.png",
   "sizes": "144x144",
   "type": "image\/png",
   "density": "3.0"
  },
  {
   "src": "\/android-icon-192x192.png",
   "sizes": "192x192",
   "type": "image\/png",
   "density": "4.0"
  }
 ]
}
\ No newline at end of file

A  => assets/icon/ms-icon-144x144.png +0 -0
A  => assets/icon/ms-icon-150x150.png +0 -0
A  => assets/icon/ms-icon-310x310.png +0 -0
A  => assets/icon/ms-icon-70x70.png +0 -0
A  => assets/images/clients/filtafry.png +0 -0
A  => assets/images/clients/fitaseal.png +0 -0
A  => assets/images/clients/gewuk.png +0 -0
A  => assets/images/clients/mgs.png +0 -0
A  => assets/images/clients/onair.png +0 -0
A  => assets/images/clients/panther.png +0 -0
A  => assets/images/clients/qwindows.png +0 -0
A  => assets/images/clients/skyhype.png +0 -0
A  => assets/images/clients/testimonial/bruce.jpg +0 -0
A  => assets/images/clients/testimonial/doris.jpg +0 -0
A  => assets/images/clients/testimonial/ewan.jpg +0 -0
A  => assets/images/closequote.png +0 -0
A  => assets/images/email-signature.png +0 -0
A  => assets/images/franz-v.svg +14 -0
@@ 1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="446px" height="219px" viewBox="0 0 446 219" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
    <title>franz</title>
    <desc>Created with Sketch.</desc>
    <defs></defs>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="franz">
            <path d="M68.96875,77 C68.96875,80.7500187 69.1093736,83.7265515 69.390625,85.9296875 L66.0859375,85.9296875 C65.5703099,80.5859108 64.6679752,76.3906402 63.3789062,73.34375 C62.0898373,70.2968598 60.2382933,68.1054754 57.8242188,66.7695312 C55.4101442,65.4335871 52.2109574,64.765625 48.2265625,64.765625 L37.6796875,64.765625 C34.2109202,64.765625 31.6914141,65.0351536 30.1210938,65.5742188 C28.5507734,66.1132839 27.4726592,67.2031168 26.8867188,68.84375 C26.3007783,70.4843832 26.0078125,73.109357 26.0078125,76.71875 L26.0078125,103.507812 L37.9609375,103.507812 C41.0078277,103.507812 43.3632729,102.722664 45.0273438,101.152344 C46.6914146,99.5820234 47.8046847,97.8476657 48.3671875,95.9492188 C48.9296903,94.0507718 49.4453102,91.6718893 49.9140625,88.8125 L53.21875,88.8125 C52.8906234,92.5625187 52.7265625,96.1249831 52.7265625,99.5 L52.796875,104.914062 C52.796875,108.757832 53.1015595,114.148403 53.7109375,121.085938 L50.3359375,121.085938 C49.9609356,118.132798 49.4335971,115.62501 48.7539062,113.5625 C48.0742154,111.49999 46.8789148,109.789069 45.1679688,108.429688 C43.4570227,107.070306 41.054703,106.390625 37.9609375,106.390625 L26.0078125,106.390625 L26.0078125,133.742188 C26.0078125,137.351581 26.3828087,139.976554 27.1328125,141.617188 C27.8828163,143.257821 29.2421777,144.382809 31.2109375,144.992188 C33.1796973,145.601566 36.2968537,145.976562 40.5625,146.117188 L40.5625,149 C35.5937252,148.718749 28.5391082,148.578125 19.3984375,148.578125 C11.1483963,148.578125 5.00783266,148.718749 0.9765625,149 L0.9765625,146.117188 C4.44532984,145.976562 6.9648359,145.601566 8.53515625,144.992188 C10.1054766,144.382809 11.1835908,143.257821 11.7695312,141.617188 C12.3554717,139.976554 12.6484375,137.351581 12.6484375,133.742188 L12.6484375,76.71875 C12.6484375,73.109357 12.3554717,70.4843832 11.7695312,68.84375 C11.1835908,67.2031168 10.1054766,66.078128 8.53515625,65.46875 C6.9648359,64.859372 4.44532984,64.4843757 0.9765625,64.34375 L0.9765625,61.4609375 C10.1172332,61.7421889 23.5467864,61.8828125 41.265625,61.8828125 C54.7188173,61.8828125 64.2812216,61.7421889 69.953125,61.4609375 C69.2968717,67.2265913 68.96875,72.406227 68.96875,77 Z M235.1875,146.117188 L235.1875,149 C231.24998,148.718749 226.117219,148.578125 219.789062,148.578125 C211.539021,148.578125 205.37502,148.718749 201.296875,149 L201.296875,146.117188 C204.906268,145.976562 207.531242,145.531254 209.171875,144.78125 C210.812508,144.031246 211.632812,142.718759 211.632812,140.84375 C211.632812,139.109366 210.976569,136.835952 209.664062,134.023438 L202.421875,117.640625 L167.265625,117.640625 L162.414062,128.398438 C160.820305,132.101581 160.023438,135.171863 160.023438,137.609375 C160.023438,142.6719 163.749963,145.507809 171.203125,146.117188 L171.203125,149 C168.343736,148.718749 163.984404,148.578125 158.125,148.578125 C152.265596,148.578125 148.093762,148.718749 145.609375,149 L145.609375,146.117188 C148.140638,145.460934 150.343741,143.996105 152.21875,141.722656 C154.093759,139.449207 155.828117,136.460956 157.421875,132.757812 L189.203125,60.7578125 L191.523438,60.7578125 L225.203125,136.90625 C227.828138,142.859405 231.15623,145.929687 235.1875,146.117188 Z M184.914062,78.125 L168.53125,114.757812 L201.15625,114.757812 L184.914062,78.125 Z M257.441406,133.847656 C258.871101,134.667973 259.99609,135.792962 260.816406,137.222656 C261.636723,138.652351 262.046875,140.187492 262.046875,141.828125 C262.046875,143.468758 261.636723,144.99218 260.816406,146.398438 C259.99609,147.804695 258.871101,148.929683 257.441406,149.773438 C256.011712,150.617192 254.476571,151.039062 252.835938,151.039062 C251.195304,151.039062 249.660163,150.617192 248.230469,149.773438 C246.800774,148.929683 245.675785,147.804695 244.855469,146.398438 C244.035152,144.99218 243.625,143.468758 243.625,141.828125 C243.625,140.187492 244.035152,138.652351 244.855469,137.222656 C245.675785,135.792962 246.800774,134.667973 248.230469,133.847656 C249.660163,133.02734 251.195304,132.617188 252.835938,132.617188 C254.476571,132.617188 256.011712,133.02734 257.441406,133.847656 Z M357.144531,65.7851562 C355.527336,66.6054729 354.414066,67.9531156 353.804688,69.828125 C353.195309,71.7031344 352.890625,74.4687317 352.890625,78.125 L352.890625,149.703125 L349.585938,149.703125 L292,69.96875 L292,132.265625 C292,135.968769 292.328122,138.757803 292.984375,140.632812 C293.640628,142.507822 294.871085,143.855465 296.675781,144.675781 C298.480478,145.496098 301.281231,145.976562 305.078125,146.117188 L305.078125,149 C301.656233,148.718749 296.757844,148.578125 290.382812,148.578125 C284.664034,148.578125 280.210953,148.718749 277.023438,149 L277.023438,146.117188 C280.351579,145.976562 282.824211,145.496098 284.441406,144.675781 C286.058602,143.855465 287.171872,142.507822 287.78125,140.632812 C288.390628,138.757803 288.695312,135.968769 288.695312,132.265625 L288.695312,76.71875 C288.695312,73.109357 288.402347,70.4843832 287.816406,68.84375 C287.230466,67.2031168 286.152352,66.078128 284.582031,65.46875 C283.011711,64.859372 280.492205,64.4843757 277.023438,64.34375 L277.023438,61.4609375 C280.164078,61.7421889 284.617159,61.8828125 290.382812,61.8828125 C295.679714,61.8828125 300.109357,61.7421889 303.671875,61.4609375 L349.585938,125.375 L349.585938,78.125 C349.585938,74.4218565 349.269534,71.6445405 348.636719,69.7929688 C348.003903,67.941397 346.773447,66.6054729 344.945312,65.7851562 C343.117178,64.9648396 340.304706,64.4843757 336.507812,64.34375 L336.507812,61.4609375 C339.929705,61.7421889 344.828093,61.8828125 351.203125,61.8828125 C356.968779,61.8828125 361.421859,61.7421889 364.5625,61.4609375 L364.5625,64.34375 C361.234358,64.4843757 358.761727,64.9648396 357.144531,65.7851562 Z M393.109375,145.695312 L424.75,145.695312 C428.125017,145.695312 430.914051,144.933601 433.117188,143.410156 C435.320324,141.886711 437.089837,139.367205 438.425781,135.851562 C439.761725,132.33592 440.687497,127.601592 441.203125,121.648438 L444.507812,121.648438 C444.226561,124.648453 444.085938,128.585913 444.085938,133.460938 C444.085938,138.05471 444.414059,143.234346 445.070312,149 C438.273404,148.718749 426.812581,148.578125 410.6875,148.578125 C395.312423,148.578125 384.10941,148.718749 377.078125,149 L377.078125,146.117188 L427.914062,64.765625 L397.679688,64.765625 C394.351546,64.765625 391.57423,65.5273361 389.347656,67.0507812 C387.121083,68.5742264 385.351569,71.0937324 384.039062,74.609375 C382.726556,78.1250176 381.812503,82.8593452 381.296875,88.8125 L377.992188,88.8125 C378.273439,85.7656098 378.414062,81.8281491 378.414062,77 C378.414062,72.406227 378.085941,67.2265913 377.429688,61.4609375 C384.226596,61.7421889 395.687419,61.8828125 411.8125,61.8828125 C426.484448,61.8828125 437.195279,61.7421889 443.945312,61.4609375 L443.945312,64.34375 L393.109375,145.695312 Z" id="f-a.nz" fill="#000000"></path>
            <polygon id="/" fill="#000000" points="70 212.0625 148.328125 0 157.75 0 79.421875 212.0625"></polygon>
            <path d="M249.026,212 L244.81,196.159 L247.972,196.159 L250.204,206.017 C250.348667,206.637003 250.452,207.174331 250.514,207.629 C250.576,207.236331 250.689666,206.699003 250.855,206.017 L253.49,196.159 L256.466,196.159 L259.101,206.017 C259.266334,206.699003 259.38,207.236331 259.442,207.629 C259.504,207.174331 259.607333,206.637003 259.752,206.017 L261.984,196.159 L265.146,196.159 L260.93,212 L258.078,212 L255.443,202.793 C255.194999,201.945662 255.029667,201.284336 254.947,200.809 C254.843666,201.470337 254.688668,202.141997 254.482,202.824 L251.878,212 L249.026,212 Z M271.532,212 L267.316,196.159 L270.478,196.159 L272.71,206.017 C272.854667,206.637003 272.958,207.174331 273.02,207.629 C273.082,207.236331 273.195666,206.699003 273.361,206.017 L275.996,196.159 L278.972,196.159 L281.607,206.017 C281.772334,206.699003 281.886,207.236331 281.948,207.629 C282.01,207.174331 282.113333,206.637003 282.258,206.017 L284.49,196.159 L287.652,196.159 L283.436,212 L280.584,212 L277.949,202.793 C277.700999,201.945662 277.535667,201.284336 277.453,200.809 C277.349666,201.470337 277.194668,202.141997 276.988,202.824 L274.384,212 L271.532,212 Z M294.038,212 L289.822,196.159 L292.984,196.159 L295.216,206.017 C295.360667,206.637003 295.464,207.174331 295.526,207.629 C295.588,207.236331 295.701666,206.699003 295.867,206.017 L298.502,196.159 L301.478,196.159 L304.113,206.017 C304.278334,206.699003 304.392,207.236331 304.454,207.629 C304.516,207.174331 304.619333,206.637003 304.764,206.017 L306.996,196.159 L310.158,196.159 L305.942,212 L303.09,212 L300.455,202.793 C300.206999,201.945662 300.041667,201.284336 299.959,200.809 C299.855666,201.470337 299.700668,202.141997 299.494,202.824 L296.89,212 L294.038,212 Z M325.255,212 L319.458,196.159 L322.682,196.159 L326.34,206.544 C326.567334,207.226003 326.712,207.690999 326.774,207.939 C326.836,207.690999 326.980666,207.226003 327.208,206.544 L330.835,196.159 L334.059,196.159 L328.262,212 L325.255,212 Z M338.802,193.679 C338.264664,193.679 337.804835,193.487835 337.4225,193.1055 C337.040165,192.723165 336.849,192.263336 336.849,191.726 C336.849,191.188664 337.040165,190.728835 337.4225,190.3465 C337.804835,189.964165 338.264664,189.773 338.802,189.773 C339.339336,189.773 339.799165,189.964165 340.1815,190.3465 C340.563835,190.728835 340.755,191.188664 340.755,191.726 C340.755,192.263336 340.563835,192.723165 340.1815,193.1055 C339.799165,193.487835 339.339336,193.679 338.802,193.679 Z M337.19,212 L337.19,196.159 L340.414,196.159 L340.414,212 L337.19,212 Z M349.993,212.372 C348.752994,212.372 347.585339,212.139502 346.49,211.6745 C345.394661,211.209498 344.568003,210.584337 344.01,209.799 L346.304,207.846 C347.440672,208.920672 348.64966,209.458 349.931,209.458 C351.791009,209.458 352.721,208.889672 352.721,207.753 C352.721,207.360331 352.545335,206.998668 352.194,206.668 C351.842665,206.337332 351.491335,206.094501 351.14,205.9395 C350.788665,205.784499 350.220337,205.552002 349.435,205.242 C347.698991,204.66333 346.422837,203.981337 345.6065,203.196 C344.790163,202.410663 344.382,201.398006 344.382,200.158 C344.382,198.793993 344.903828,197.724504 345.9475,196.9495 C346.991172,196.174496 348.308659,195.787 349.9,195.787 C352.276679,195.787 354.126327,196.582659 355.449,198.174 L353.124,200.034 C352.276662,199.145329 351.202007,198.701 349.9,198.701 C349.217997,198.701 348.675502,198.830165 348.2725,199.0885 C347.869498,199.346835 347.668,199.703331 347.668,200.158 C347.668,200.633336 347.910831,201.020832 348.3965,201.3205 C348.882169,201.620168 349.662328,201.976665 350.737,202.39 C352.535009,202.989336 353.852496,203.691996 354.6895,204.498 C355.526504,205.304004 355.945,206.388993 355.945,207.753 C355.945,209.241007 355.412839,210.382829 354.3485,211.1785 C353.284161,211.974171 351.832343,212.372 349.993,212.372 Z M361.463,193.679 C360.925664,193.679 360.465835,193.487835 360.0835,193.1055 C359.701165,192.723165 359.51,192.263336 359.51,191.726 C359.51,191.188664 359.701165,190.728835 360.0835,190.3465 C360.465835,189.964165 360.925664,189.773 361.463,189.773 C362.000336,189.773 362.460165,189.964165 362.8425,190.3465 C363.224835,190.728835 363.416,191.188664 363.416,191.726 C363.416,192.263336 363.224835,192.723165 362.8425,193.1055 C362.460165,193.487835 362.000336,193.679 361.463,193.679 Z M359.851,212 L359.851,196.159 L363.075,196.159 L363.075,212 L359.851,212 Z M374.204,212.372 C371.971989,212.372 370.210173,211.638341 368.9185,210.171 C367.626827,208.703659 366.981,206.678346 366.981,204.095 C366.981,201.511654 367.626827,199.481174 368.9185,198.0035 C370.210173,196.525826 371.971989,195.787 374.204,195.787 C376.436011,195.787 378.202993,196.525826 379.505,198.0035 C380.807007,199.481174 381.458,201.511654 381.458,204.095 C381.458,206.678346 380.807007,208.703659 379.505,210.171 C378.202993,211.638341 376.436011,212.372 374.204,212.372 Z M374.204,209.334 C375.444006,209.334 376.425663,208.869005 377.149,207.939 C377.872337,207.008995 378.234,205.727675 378.234,204.095 C378.234,202.462325 377.872337,201.175838 377.149,200.2355 C376.425663,199.295162 375.444006,198.825 374.204,198.825 C372.984661,198.825 372.013337,199.295162 371.29,200.2355 C370.566663,201.175838 370.205,202.462325 370.205,204.095 C370.205,205.707008 370.566663,206.983162 371.29,207.9235 C372.013337,208.863838 372.984661,209.334 374.204,209.334 Z M395.129,212 L395.129,202.545 C395.129,201.284327 394.83967,200.34917 394.261,199.7395 C393.68233,199.12983 392.917671,198.825 391.967,198.825 C389.693655,198.825 388.557,200.044321 388.557,202.483 L388.557,212 L385.333,212 L385.333,196.159 L388.557,196.159 L388.557,197.678 C389.549005,196.417327 390.912991,195.787 392.649,195.787 C396.451686,195.787 398.353,198.039644 398.353,202.545 L398.353,212 L395.129,212 Z M411.9,212 L411.9,210.636 C410.783994,211.793339 409.337342,212.372 407.56,212.372 C405.885992,212.372 404.527172,211.912171 403.4835,210.9925 C402.439828,210.072829 401.918,208.765675 401.918,207.071 C401.918,205.355658 402.506994,204.053671 403.685,203.165 C404.863006,202.276329 406.299325,201.832 407.994,201.832 C409.544008,201.832 410.845995,202.141997 411.9,202.762 L411.9,201.894 C411.9,200.715994 411.631336,199.879002 411.094,199.383 C410.556664,198.886998 409.699006,198.639 408.521,198.639 C406.784991,198.639 405.27634,199.114329 403.995,200.065 L403.034,197.43 C404.625341,196.334661 406.598988,195.787 408.955,195.787 C409.740337,195.787 410.442997,195.854166 411.063,195.9885 C411.683003,196.122834 412.31333,196.381165 412.954,196.7635 C413.59467,197.145835 414.095832,197.760662 414.4575,198.608 C414.819168,199.455338 415,200.498994 415,201.739 L415,212 L411.9,212 Z M408.149,209.52 C409.637007,209.52 410.887328,208.951672 411.9,207.815 L411.9,205.397 C410.928662,204.880331 409.80234,204.622 408.521,204.622 C407.487662,204.622 406.645503,204.823498 405.9945,205.2265 C405.343497,205.629502 405.018,206.244329 405.018,207.071 C405.018,207.83567 405.286664,208.434998 405.824,208.869 C406.361336,209.303002 407.136328,209.52 408.149,209.52 Z M419.34,212 L419.34,196.159 L422.564,196.159 L422.564,198.081 C423.26667,196.551659 424.444658,195.787 426.098,195.787 C427.131338,195.787 428.019996,196.10733 428.764,196.748 L428.299,199.724 C427.53433,199.207331 426.697338,198.949 425.788,198.949 C424.919996,198.949 424.16567,199.274497 423.525,199.9255 C422.88433,200.576503 422.564,201.635659 422.564,203.103 L422.564,212 L419.34,212 Z M433.569,218.014 L436.018,211.721 L430.097,196.159 L433.29,196.159 L437.196,206.513 C437.382001,206.988336 437.526666,207.453331 437.63,207.908 C437.733334,207.453331 437.877999,206.988336 438.064,206.513 L442.001,196.159 L445.225,196.159 L436.855,218.014 L433.569,218.014 Z" id="www-visionary" fill="#D0D0D0"></path>
        </g>
    </g>
</svg>
\ No newline at end of file

A  => assets/images/franz-w.svg +13 -0
@@ 1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="446px" height="213px" viewBox="0 0 446 213" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
    <title>franz</title>
    <desc>Created with Sketch.</desc>
    <defs></defs>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="franz" fill="#FFFFFF">
            <path d="M68.96875,77 C68.96875,80.7500187 69.1093736,83.7265515 69.390625,85.9296875 L66.0859375,85.9296875 C65.5703099,80.5859108 64.6679752,76.3906402 63.3789062,73.34375 C62.0898373,70.2968598 60.2382933,68.1054754 57.8242188,66.7695312 C55.4101442,65.4335871 52.2109574,64.765625 48.2265625,64.765625 L37.6796875,64.765625 C34.2109202,64.765625 31.6914141,65.0351536 30.1210938,65.5742188 C28.5507734,66.1132839 27.4726592,67.2031168 26.8867188,68.84375 C26.3007783,70.4843832 26.0078125,73.109357 26.0078125,76.71875 L26.0078125,103.507812 L37.9609375,103.507812 C41.0078277,103.507812 43.3632729,102.722664 45.0273438,101.152344 C46.6914146,99.5820234 47.8046847,97.8476657 48.3671875,95.9492188 C48.9296903,94.0507718 49.4453102,91.6718893 49.9140625,88.8125 L53.21875,88.8125 C52.8906234,92.5625187 52.7265625,96.1249831 52.7265625,99.5 L52.796875,104.914062 C52.796875,108.757832 53.1015595,114.148403 53.7109375,121.085938 L50.3359375,121.085938 C49.9609356,118.132798 49.4335971,115.62501 48.7539062,113.5625 C48.0742154,111.49999 46.8789148,109.789069 45.1679688,108.429688 C43.4570227,107.070306 41.054703,106.390625 37.9609375,106.390625 L26.0078125,106.390625 L26.0078125,133.742188 C26.0078125,137.351581 26.3828087,139.976554 27.1328125,141.617188 C27.8828163,143.257821 29.2421777,144.382809 31.2109375,144.992188 C33.1796973,145.601566 36.2968537,145.976562 40.5625,146.117188 L40.5625,149 C35.5937252,148.718749 28.5391082,148.578125 19.3984375,148.578125 C11.1483963,148.578125 5.00783266,148.718749 0.9765625,149 L0.9765625,146.117188 C4.44532984,145.976562 6.9648359,145.601566 8.53515625,144.992188 C10.1054766,144.382809 11.1835908,143.257821 11.7695312,141.617188 C12.3554717,139.976554 12.6484375,137.351581 12.6484375,133.742188 L12.6484375,76.71875 C12.6484375,73.109357 12.3554717,70.4843832 11.7695312,68.84375 C11.1835908,67.2031168 10.1054766,66.078128 8.53515625,65.46875 C6.9648359,64.859372 4.44532984,64.4843757 0.9765625,64.34375 L0.9765625,61.4609375 C10.1172332,61.7421889 23.5467864,61.8828125 41.265625,61.8828125 C54.7188173,61.8828125 64.2812216,61.7421889 69.953125,61.4609375 C69.2968717,67.2265913 68.96875,72.406227 68.96875,77 Z M235.1875,146.117188 L235.1875,149 C231.24998,148.718749 226.117219,148.578125 219.789062,148.578125 C211.539021,148.578125 205.37502,148.718749 201.296875,149 L201.296875,146.117188 C204.906268,145.976562 207.531242,145.531254 209.171875,144.78125 C210.812508,144.031246 211.632812,142.718759 211.632812,140.84375 C211.632812,139.109366 210.976569,136.835952 209.664062,134.023438 L202.421875,117.640625 L167.265625,117.640625 L162.414062,128.398438 C160.820305,132.101581 160.023438,135.171863 160.023438,137.609375 C160.023438,142.6719 163.749963,145.507809 171.203125,146.117188 L171.203125,149 C168.343736,148.718749 163.984404,148.578125 158.125,148.578125 C152.265596,148.578125 148.093762,148.718749 145.609375,149 L145.609375,146.117188 C148.140638,145.460934 150.343741,143.996105 152.21875,141.722656 C154.093759,139.449207 155.828117,136.460956 157.421875,132.757812 L189.203125,60.7578125 L191.523438,60.7578125 L225.203125,136.90625 C227.828138,142.859405 231.15623,145.929687 235.1875,146.117188 Z M184.914062,78.125 L168.53125,114.757812 L201.15625,114.757812 L184.914062,78.125 Z M257.441406,133.847656 C258.871101,134.667973 259.99609,135.792962 260.816406,137.222656 C261.636723,138.652351 262.046875,140.187492 262.046875,141.828125 C262.046875,143.468758 261.636723,144.99218 260.816406,146.398438 C259.99609,147.804695 258.871101,148.929683 257.441406,149.773438 C256.011712,150.617192 254.476571,151.039062 252.835938,151.039062 C251.195304,151.039062 249.660163,150.617192 248.230469,149.773438 C246.800774,148.929683 245.675785,147.804695 244.855469,146.398438 C244.035152,144.99218 243.625,143.468758 243.625,141.828125 C243.625,140.187492 244.035152,138.652351 244.855469,137.222656 C245.675785,135.792962 246.800774,134.667973 248.230469,133.847656 C249.660163,133.02734 251.195304,132.617188 252.835938,132.617188 C254.476571,132.617188 256.011712,133.02734 257.441406,133.847656 Z M357.144531,65.7851562 C355.527336,66.6054729 354.414066,67.9531156 353.804688,69.828125 C353.195309,71.7031344 352.890625,74.4687317 352.890625,78.125 L352.890625,149.703125 L349.585938,149.703125 L292,69.96875 L292,132.265625 C292,135.968769 292.328122,138.757803 292.984375,140.632812 C293.640628,142.507822 294.871085,143.855465 296.675781,144.675781 C298.480478,145.496098 301.281231,145.976562 305.078125,146.117188 L305.078125,149 C301.656233,148.718749 296.757844,148.578125 290.382812,148.578125 C284.664034,148.578125 280.210953,148.718749 277.023438,149 L277.023438,146.117188 C280.351579,145.976562 282.824211,145.496098 284.441406,144.675781 C286.058602,143.855465 287.171872,142.507822 287.78125,140.632812 C288.390628,138.757803 288.695312,135.968769 288.695312,132.265625 L288.695312,76.71875 C288.695312,73.109357 288.402347,70.4843832 287.816406,68.84375 C287.230466,67.2031168 286.152352,66.078128 284.582031,65.46875 C283.011711,64.859372 280.492205,64.4843757 277.023438,64.34375 L277.023438,61.4609375 C280.164078,61.7421889 284.617159,61.8828125 290.382812,61.8828125 C295.679714,61.8828125 300.109357,61.7421889 303.671875,61.4609375 L349.585938,125.375 L349.585938,78.125 C349.585938,74.4218565 349.269534,71.6445405 348.636719,69.7929688 C348.003903,67.941397 346.773447,66.6054729 344.945312,65.7851562 C343.117178,64.9648396 340.304706,64.4843757 336.507812,64.34375 L336.507812,61.4609375 C339.929705,61.7421889 344.828093,61.8828125 351.203125,61.8828125 C356.968779,61.8828125 361.421859,61.7421889 364.5625,61.4609375 L364.5625,64.34375 C361.234358,64.4843757 358.761727,64.9648396 357.144531,65.7851562 Z M393.109375,145.695312 L424.75,145.695312 C428.125017,145.695312 430.914051,144.933601 433.117188,143.410156 C435.320324,141.886711 437.089837,139.367205 438.425781,135.851562 C439.761725,132.33592 440.687497,127.601592 441.203125,121.648438 L444.507812,121.648438 C444.226561,124.648453 444.085938,128.585913 444.085938,133.460938 C444.085938,138.05471 444.414059,143.234346 445.070312,149 C438.273404,148.718749 426.812581,148.578125 410.6875,148.578125 C395.312423,148.578125 384.10941,148.718749 377.078125,149 L377.078125,146.117188 L427.914062,64.765625 L397.679688,64.765625 C394.351546,64.765625 391.57423,65.5273361 389.347656,67.0507812 C387.121083,68.5742264 385.351569,71.0937324 384.039062,74.609375 C382.726556,78.1250176 381.812503,82.8593452 381.296875,88.8125 L377.992188,88.8125 C378.273439,85.7656098 378.414062,81.8281491 378.414062,77 C378.414062,72.406227 378.085941,67.2265913 377.429688,61.4609375 C384.226596,61.7421889 395.687419,61.8828125 411.8125,61.8828125 C426.484448,61.8828125 437.195279,61.7421889 443.945312,61.4609375 L443.945312,64.34375 L393.109375,145.695312 Z" id="f-a.nz"></path>
            <polygon id="/" points="70 212.0625 148.328125 0 157.75 0 79.421875 212.0625"></polygon>
        </g>
    </g>
</svg>
\ No newline at end of file

A  => assets/images/franz.svg +13 -0
@@ 1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="446px" height="213px" viewBox="0 0 446 213" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
    <!-- Generator: Sketch 41 (35326) - http://www.bohemiancoding.com/sketch -->
    <title>franz</title>
    <desc>Created with Sketch.</desc>
    <defs></defs>
    <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
        <g id="franz" fill="#000000">
            <path d="M68.96875,77 C68.96875,80.7500187 69.1093736,83.7265515 69.390625,85.9296875 L66.0859375,85.9296875 C65.5703099,80.5859108 64.6679752,76.3906402 63.3789062,73.34375 C62.0898373,70.2968598 60.2382933,68.1054754 57.8242188,66.7695312 C55.4101442,65.4335871 52.2109574,64.765625 48.2265625,64.765625 L37.6796875,64.765625 C34.2109202,64.765625 31.6914141,65.0351536 30.1210938,65.5742188 C28.5507734,66.1132839 27.4726592,67.2031168 26.8867188,68.84375 C26.3007783,70.4843832 26.0078125,73.109357 26.0078125,76.71875 L26.0078125,103.507812 L37.9609375,103.507812 C41.0078277,103.507812 43.3632729,102.722664 45.0273438,101.152344 C46.6914146,99.5820234 47.8046847,97.8476657 48.3671875,95.9492188 C48.9296903,94.0507718 49.4453102,91.6718893 49.9140625,88.8125 L53.21875,88.8125 C52.8906234,92.5625187 52.7265625,96.1249831 52.7265625,99.5 L52.796875,104.914062 C52.796875,108.757832 53.1015595,114.148403 53.7109375,121.085938 L50.3359375,121.085938 C49.9609356,118.132798 49.4335971,115.62501 48.7539062,113.5625 C48.0742154,111.49999 46.8789148,109.789069 45.1679688,108.429688 C43.4570227,107.070306 41.054703,106.390625 37.9609375,106.390625 L26.0078125,106.390625 L26.0078125,133.742188 C26.0078125,137.351581 26.3828087,139.976554 27.1328125,141.617188 C27.8828163,143.257821 29.2421777,144.382809 31.2109375,144.992188 C33.1796973,145.601566 36.2968537,145.976562 40.5625,146.117188 L40.5625,149 C35.5937252,148.718749 28.5391082,148.578125 19.3984375,148.578125 C11.1483963,148.578125 5.00783266,148.718749 0.9765625,149 L0.9765625,146.117188 C4.44532984,145.976562 6.9648359,145.601566 8.53515625,144.992188 C10.1054766,144.382809 11.1835908,143.257821 11.7695312,141.617188 C12.3554717,139.976554 12.6484375,137.351581 12.6484375,133.742188 L12.6484375,76.71875 C12.6484375,73.109357 12.3554717,70.4843832 11.7695312,68.84375 C11.1835908,67.2031168 10.1054766,66.078128 8.53515625,65.46875 C6.9648359,64.859372 4.44532984,64.4843757 0.9765625,64.34375 L0.9765625,61.4609375 C10.1172332,61.7421889 23.5467864,61.8828125 41.265625,61.8828125 C54.7188173,61.8828125 64.2812216,61.7421889 69.953125,61.4609375 C69.2968717,67.2265913 68.96875,72.406227 68.96875,77 Z M235.1875,146.117188 L235.1875,149 C231.24998,148.718749 226.117219,148.578125 219.789062,148.578125 C211.539021,148.578125 205.37502,148.718749 201.296875,149 L201.296875,146.117188 C204.906268,145.976562 207.531242,145.531254 209.171875,144.78125 C210.812508,144.031246 211.632812,142.718759 211.632812,140.84375 C211.632812,139.109366 210.976569,136.835952 209.664062,134.023438 L202.421875,117.640625 L167.265625,117.640625 L162.414062,128.398438 C160.820305,132.101581 160.023438,135.171863 160.023438,137.609375 C160.023438,142.6719 163.749963,145.507809 171.203125,146.117188 L171.203125,149 C168.343736,148.718749 163.984404,148.578125 158.125,148.578125 C152.265596,148.578125 148.093762,148.718749 145.609375,149 L145.609375,146.117188 C148.140638,145.460934 150.343741,143.996105 152.21875,141.722656 C154.093759,139.449207 155.828117,136.460956 157.421875,132.757812 L189.203125,60.7578125 L191.523438,60.7578125 L225.203125,136.90625 C227.828138,142.859405 231.15623,145.929687 235.1875,146.117188 Z M184.914062,78.125 L168.53125,114.757812 L201.15625,114.757812 L184.914062,78.125 Z M257.441406,133.847656 C258.871101,134.667973 259.99609,135.792962 260.816406,137.222656 C261.636723,138.652351 262.046875,140.187492 262.046875,141.828125 C262.046875,143.468758 261.636723,144.99218 260.816406,146.398438 C259.99609,147.804695 258.871101,148.929683 257.441406,149.773438 C256.011712,150.617192 254.476571,151.039062 252.835938,151.039062 C251.195304,151.039062 249.660163,150.617192 248.230469,149.773438 C246.800774,148.929683 245.675785,147.804695 244.855469,146.398438 C244.035152,144.99218 243.625,143.468758 243.625,141.828125 C243.625,140.187492 244.035152,138.652351 244.855469,137.222656 C245.675785,135.792962 246.800774,134.667973 248.230469,133.847656 C249.660163,133.02734 251.195304,132.617188 252.835938,132.617188 C254.476571,132.617188 256.011712,133.02734 257.441406,133.847656 Z M357.144531,65.7851562 C355.527336,66.6054729 354.414066,67.9531156 353.804688,69.828125 C353.195309,71.7031344 352.890625,74.4687317 352.890625,78.125 L352.890625,149.703125 L349.585938,149.703125 L292,69.96875 L292,132.265625 C292,135.968769 292.328122,138.757803 292.984375,140.632812 C293.640628,142.507822 294.871085,143.855465 296.675781,144.675781 C298.480478,145.496098 301.281231,145.976562 305.078125,146.117188 L305.078125,149 C301.656233,148.718749 296.757844,148.578125 290.382812,148.578125 C284.664034,148.578125 280.210953,148.718749 277.023438,149 L277.023438,146.117188 C280.351579,145.976562 282.824211,145.496098 284.441406,144.675781 C286.058602,143.855465 287.171872,142.507822 287.78125,140.632812 C288.390628,138.757803 288.695312,135.968769 288.695312,132.265625 L288.695312,76.71875 C288.695312,73.109357 288.402347,70.4843832 287.816406,68.84375 C287.230466,67.2031168 286.152352,66.078128 284.582031,65.46875 C283.011711,64.859372 280.492205,64.4843757 277.023438,64.34375 L277.023438,61.4609375 C280.164078,61.7421889 284.617159,61.8828125 290.382812,61.8828125 C295.679714,61.8828125 300.109357,61.7421889 303.671875,61.4609375 L349.585938,125.375 L349.585938,78.125 C349.585938,74.4218565 349.269534,71.6445405 348.636719,69.7929688 C348.003903,67.941397 346.773447,66.6054729 344.945312,65.7851562 C343.117178,64.9648396 340.304706,64.4843757 336.507812,64.34375 L336.507812,61.4609375 C339.929705,61.7421889 344.828093,61.8828125 351.203125,61.8828125 C356.968779,61.8828125 361.421859,61.7421889 364.5625,61.4609375 L364.5625,64.34375 C361.234358,64.4843757 358.761727,64.9648396 357.144531,65.7851562 Z M393.109375,145.695312 L424.75,145.695312 C428.125017,145.695312 430.914051,144.933601 433.117188,143.410156 C435.320324,141.886711 437.089837,139.367205 438.425781,135.851562 C439.761725,132.33592 440.687497,127.601592 441.203125,121.648438 L444.507812,121.648438 C444.226561,124.648453 444.085938,128.585913 444.085938,133.460938 C444.085938,138.05471 444.414059,143.234346 445.070312,149 C438.273404,148.718749 426.812581,148.578125 410.6875,148.578125 C395.312423,148.578125 384.10941,148.718749 377.078125,149 L377.078125,146.117188 L427.914062,64.765625 L397.679688,64.765625 C394.351546,64.765625 391.57423,65.5273361 389.347656,67.0507812 C387.121083,68.5742264 385.351569,71.0937324 384.039062,74.609375 C382.726556,78.1250176 381.812503,82.8593452 381.296875,88.8125 L377.992188,88.8125 C378.273439,85.7656098 378.414062,81.8281491 378.414062,77 C378.414062,72.406227 378.085941,67.2265913 377.429688,61.4609375 C384.226596,61.7421889 395.687419,61.8828125 411.8125,61.8828125 C426.484448,61.8828125 437.195279,61.7421889 443.945312,61.4609375 L443.945312,64.34375 L393.109375,145.695312 Z" id="f-a.nz"></path>
            <polygon id="/" points="70 212.0625 148.328125 0 157.75 0 79.421875 212.0625"></polygon>
        </g>
    </g>
</svg>
\ No newline at end of file

A  => assets/images/gist/install-these-two-privacy-enhancing-browser-plugins_01.png +0 -0
A  => assets/images/gist/install-these-two-privacy-enhancing-browser-plugins_02.png +0 -0
A  => assets/images/map.png +0 -0
A  => assets/images/openquote.png +0 -0
A  => assets/images/projects/filtafry-01.jpg +0 -0
A  => assets/images/projects/filtafry-02.jpg +0 -0
A  => assets/images/projects/filtafry-03.jpg +0 -0
A  => assets/images/projects/filtafry-04.jpg +0 -0
A  => assets/images/projects/filtafry-05.jpg +0 -0
A  => assets/images/projects/filtafry-06.jpg +0 -0
A  => assets/images/projects/fitaseal-01.jpg +0 -0
A  => assets/images/projects/fitaseal-02.jpg +0 -0
A  => assets/images/projects/fitaseal-03.jpg +0 -0
A  => assets/images/projects/fitaseal-04.jpg +0 -0
A  => assets/images/projects/fitaseal-05.jpg +0 -0
A  => assets/images/projects/fitaseal-06.jpg +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-01.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-02.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-03.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-04.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-05.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-06.gif +0 -0
A  => assets/images/projects/gew-uk-handshare-selfie-07.gif +0 -0
A  => assets/images/projects/mgs-01.jpg +0 -0
A  => assets/images/projects/mgs-02.jpg +0 -0
A  => assets/images/projects/mgs-03.jpg +0 -0
A  => assets/images/projects/mgs-04.jpg +0 -0
A  => assets/images/projects/mgs-05.jpg +0 -0
A  => assets/images/projects/mgs-06.jpg +0 -0
A  => assets/images/projects/mgs-07.jpg +0 -0
A  => assets/images/projects/onair-01.jpg +0 -0
A  => assets/images/projects/onair-02.jpg +0 -0
A  => assets/images/projects/onair-03.jpg +0 -0
A  => assets/images/projects/onair-04.jpg +0 -0
A  => assets/images/projects/onair-05.jpg +0 -0
A  => assets/images/projects/onair-06.jpg +0 -0
A  => assets/images/projects/original/filtafry-01.jpg +0 -0
A  => assets/images/projects/original/filtafry-02.jpg +0 -0
A  => assets/images/projects/original/filtafry-03.jpg +0 -0
A  => assets/images/projects/original/filtafry-04.jpg +0 -0
A  => assets/images/projects/original/filtafry-05.jpg +0 -0
A  => assets/images/projects/original/filtafry-06.jpg +0 -0
A  => assets/images/projects/original/fitaseal-01.jpg +0 -0
A  => assets/images/projects/original/fitaseal-02.jpg +0 -0
A  => assets/images/projects/original/fitaseal-03.jpg +0 -0
A  => assets/images/projects/original/fitaseal-04.jpg +0 -0
A  => assets/images/projects/original/fitaseal-05.jpg +0 -0
A  => assets/images/projects/original/fitaseal-06.jpg +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-01.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-02.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-03.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-04.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-05.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-06.gif +0 -0
A  => assets/images/projects/original/gew-uk-handshare-selfie-07.gif +0 -0
A  => assets/images/projects/original/mgs-01.jpg +0 -0
A  => assets/images/projects/original/mgs-02.jpg +0 -0
A  => assets/images/projects/original/mgs-03.jpg +0 -0
A  => assets/images/projects/original/mgs-04.jpg +0 -0
A  => assets/images/projects/original/mgs-05.jpg +0 -0
A  => assets/images/projects/original/mgs-06.jpg +0 -0
A  => assets/images/projects/original/mgs-07.jpg +0 -0
A  => assets/images/projects/original/onair-01.jpg +0 -0
A  => assets/images/projects/original/onair-02.jpg +0 -0
A  => assets/images/projects/original/onair-03.jpg +0 -0
A  => assets/images/projects/original/onair-04.jpg +0 -0
A  => assets/images/projects/original/onair-05.jpg +0 -0
A  => assets/images/projects/original/onair-06.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-01.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-02.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-03.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-04.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-05.jpg +0 -0
A  => assets/images/projects/original/panther-mpc-06.jpg +0 -0
A  => assets/images/projects/original/q-windows-01.jpg +0 -0
A  => assets/images/projects/original/q-windows-02.jpg +0 -0
A  => assets/images/projects/original/q-windows-03.jpg +0 -0
A  => assets/images/projects/original/q-windows-04.jpg +0 -0
A  => assets/images/projects/original/q-windows-05.jpg +0 -0
A  => assets/images/projects/original/q-windows-06.jpg +0 -0
A  => assets/images/projects/original/q-windows-07.png +0 -0
A  => assets/images/projects/original/sky-hype-01.jpg +0 -0
A  => assets/images/projects/original/sky-hype-02.jpg +0 -0
A  => assets/images/projects/original/sky-hype-03.jpg +0 -0
A  => assets/images/projects/original/sky-hype-04.jpg +0 -0
A  => assets/images/projects/panther-mpc-01.jpg +0 -0
A  => assets/images/projects/panther-mpc-02.jpg +0 -0
A  => assets/images/projects/panther-mpc-03.jpg +0 -0
A  => assets/images/projects/panther-mpc-04.jpg +0 -0
A  => assets/images/projects/panther-mpc-05.jpg +0 -0
A  => assets/images/projects/panther-mpc-06.jpg +0 -0
A  => assets/images/projects/preview/filtafry-01.jpg +0 -0
A  => assets/images/projects/preview/filtafry-02.jpg +0 -0
A  => assets/images/projects/preview/filtafry-03.jpg +0 -0
A  => assets/images/projects/preview/filtafry-04.jpg +0 -0
A  => assets/images/projects/preview/filtafry-05.jpg +0 -0
A  => assets/images/projects/preview/filtafry-06.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-01.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-02.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-03.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-04.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-05.jpg +0 -0
A  => assets/images/projects/preview/fitaseal-06.jpg +0 -0
A  => assets/images/projects/preview/mgs-01.jpg +0 -0
A  => assets/images/projects/preview/mgs-02.jpg +0 -0
A  => assets/images/projects/preview/mgs-03.jpg +0 -0
A  => assets/images/projects/preview/mgs-04.jpg +0 -0
A  => assets/images/projects/preview/mgs-05.jpg +0 -0
A  => assets/images/projects/preview/mgs-06.jpg +0 -0
A  => assets/images/projects/preview/mgs-07.jpg +0 -0
A  => assets/images/projects/preview/onair-01.jpg +0 -0
A  => assets/images/projects/preview/onair-02.jpg +0 -0
A  => assets/images/projects/preview/onair-03.jpg +0 -0
A  => assets/images/projects/preview/onair-04.jpg +0 -0
A  => assets/images/projects/preview/onair-05.jpg +0 -0
A  => assets/images/projects/preview/onair-06.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-01.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-02.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-03.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-04.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-05.jpg +0 -0
A  => assets/images/projects/preview/panther-mpc-06.jpg +0 -0
A  => assets/images/projects/preview/q-windows-01.jpg +0 -0
A  => assets/images/projects/preview/q-windows-02.jpg +0 -0
A  => assets/images/projects/preview/q-windows-03.jpg +0 -0
A  => assets/images/projects/preview/q-windows-04.jpg +0 -0
A  => assets/images/projects/preview/q-windows-05.jpg +0 -0
A  => assets/images/projects/preview/q-windows-06.jpg +0 -0
A  => assets/images/projects/preview/q-windows-07.png +0 -0
A  => assets/images/projects/preview/sky-hype-01.jpg +0 -0
A  => assets/images/projects/preview/sky-hype-02.jpg +0 -0
A  => assets/images/projects/preview/sky-hype-03.jpg +0 -0
A  => assets/images/projects/preview/sky-hype-04.jpg +0 -0
A  => assets/images/projects/q-windows-01.jpg +0 -0
A  => assets/images/projects/q-windows-02.jpg +0 -0
A  => assets/images/projects/q-windows-03.jpg +0 -0
A  => assets/images/projects/q-windows-04.jpg +0 -0
A  => assets/images/projects/q-windows-05.jpg +0 -0
A  => assets/images/projects/q-windows-06.jpg +0 -0
A  => assets/images/projects/q-windows-07.png +0 -0
A  => assets/images/projects/sky-hype-01.jpg +0 -0
A  => assets/images/projects/sky-hype-02.jpg +0 -0
A  => assets/images/projects/sky-hype-03.jpg +0 -0
A  => assets/images/projects/sky-hype-04.jpg +0 -0
A  => assets/js/bitcoinprices.js +413 -0
@@ 1,413 @@
/**
 * bitcoinprices.js
 *
 * Display human-friendly bitcoin prices, both desktop and mobile.
 *
 * Copyright 2013 Mikko Ohtamaa http://opensourcehacker.com
 *
 * Licensed under MIT license.
 */

/* global define */

// UMD boilerplate
// https://github.com/umdjs/umd/blob/master/returnExports.js
(function (root, factory) {

    if (typeof define === 'function' && define.amd) {
        // AMD. Register as an anonymous module.
        define(['jQuery'], factory);
    } else if (typeof exports === 'object') {
        // Node. Does not work with strict CommonJS, but
        // only CommonJS-like enviroments that support module.exports,
        // like Node.
        // jQuery(window) is jQuery 2.1+
        module.exports = factory(require('jquery/dist/jquery')(window));
    } else {
        // Browser globals (root is window)
        root.bitcoinprices = factory(root.jQuery);
    }
}(this, function (jQuery) {

    "use strict";

    // Store jQuery locally, so we can override it
    // with an external option
    var $ = jQuery;

    // Defaults
    var defaultConfig = {

        // Where we get bitcoinaverage data
        // or null if we run headless (not in browser)
        url: "https://api.bitcoinaverage.com/ticker/all",

        // Which of bitcoinaverages value we use to present prices
        marketRateVariable: "24h_avg",

        // Which currencies are in shown to the user
        currencies: ["BTC", "USD", "EUR", "CNY"],

        // Special currency symbol artwork
        symbols: {},

        // CSS selector Which prices we make clickable on the page
        // If null defaults to [data-btc-price] (attribute match)
        clickablePriceSelector: null,

        // Which currency we show user by the default if
        // no currency is selected
        defaultCurrency: "BTC",

        // How the user is able to interact with the prices
        ux : {
            // Make everything with data-btc-price HTML attribute clickable
            clickPrices : true,

            // Build Bootstrap dropdown menu for currency switching
            menu : true,

            // Allow user to cycle through currency choices in Currency: USD quick menu
            clickableCurrencySymbol:  true
        },

        // Price source data attribute
        priceAttribute: "data-btc-price",

        // Price source currency
        priceOrignalCurrency: "BTC"
    };

    return {

        /** Store exchange rate data as returned by bitcoinaverages.com */
        data : null,

        /** Our configuration options */
        config : null,

        /**
         * Update market rate data from the server using JSON AJAX request.
         *
         * Assumes the server sets proper cache headers, so we are not bombing
         * the server.
         */
        loadData : function () {

            var self = this;

            $.getJSON(self.config.url, function(resp) {
                self.data = resp;
                $(document).trigger("marketdataavailable");
            }).error(function() {
                throw new Error("Could not load exchage rate data from:" + self.config.url);
            });
        },

        /**
         * Convert between BTC and fiat currecy.
         *
         * @param  {Number} amount Currency amount to convert
         * @param  {String} source Three-letter currency code
         * @param  {String} target Three-letter currency code
         * @return {Number}        Amount in other currency
         */
        convert : function(amount, source, target)  {

            var inverse;

            if(!$.isNumeric(amount)) {
                throw new Error("Amount must be numeric");
            }

            if(!source || !target) {
                throw new Error("You need to give both source and target currency:" + source + " " + target);
            }

            // No conversion
            if(source == "BTC" && target == "BTC") {
                return amount;
            }

            if(!(source == "BTC" || target == "BTC")) {
                // Convert through BTC
                return this.convert(this.convert(amount, source, "BTC"), "BTC", target);
            }

            if(source == "BTC") {
                inverse = true;
                // http://stackoverflow.com/a/16201730/315168
                target = [source, source = target][0];
            } else {
                inverse = false;
            }

            if(!this.data) {
                throw new Error("Exchange rate data not available");
            }

            var currencyData = this.data[source];
            if(!currencyData) {
                throw new Error("We do not have market data for currency: " + source);
            }

            var rate = currencyData[this.config.marketRateVariable];

            if(!rate) {
                throw new Error("Cannot parse bitcoinaverage data for " + source + " " + this.config.url);
            }

            if(inverse) {
                return amount*rate;
            } else {
                return amount/rate;
            }
        },

        /**
         * Format a price for a currency.
         *
         * Fills in currency symbols we have configured.
         *
         * @param  {Number} amount
         * @param  {String} currency Three letter currency code
         * @param  {Boolean} symbol Add currency symbol
         * @return {String} HTML snippet
         */
        formatPrice : function (amount, currency, symbol) {

            var decimals;

            if(currency == "BTC") {
                decimals = 8;
            } else {
                decimals = 2;
            }

            var formatted = amount.toFixed(decimals);

            if(symbol) {
                formatted += " " + this.getCurrencySymbol(currency);
            }

            return formatted;
        },

        /**
         * Get HTML for a currency symbol
         * @param  {String} currency Three-letter currency code
         */
        getCurrencySymbol : function(currency) {
            var symbols = this.config.symbols || {};
            var symbol = this.config.symbols[currency] || currency;
            return symbol;
        },

        /**
         * Assume we have market data available.
         *
         * Update the prices to reflect the current state of selected
         * currency and market price.
         */
        updatePrices : function() {

            var self = this;
            var currentCurrency = this.getActiveCurrency();
            var config = this.config;

            // Find all elements which declare themselves to present BTC prices
            $("[" + config.priceAttribute + "]").each(function() {
                var elem = $(this);
                var btcPrice = elem.attr(config.priceAttribute);
                try {
                    btcPrice = parseFloat(btcPrice, 10);
                } catch(e) {
                    // On invalid price keep going forward
                    // silently ignoring this
                    return;
                }

                var priceSymbol = elem.attr("data-price-symbol") != "off";
                var inCurrentCurrency = self.convert(btcPrice, config.priceOrignalCurrency, currentCurrency);

                elem.html(self.formatPrice(inCurrentCurrency, currentCurrency, priceSymbol));

            });
        },

        /**
         * Update currency symbols on the page which are not directly associated with a price.
         */
        updateCurrencySymbols : function() {
            $(".current-currency-symbol").html(this.getCurrencySymbol(this.getActiveCurrency()));
        },

        /**
         * Get the currency selected by the user.
         */
        getActiveCurrency : function() {
            return window.localStorage["bitcoinprices.currency"] || this.config.defaultCurrency || "BTC";
        },

        /**
         * If we have an active currency which is not provided by current data return to BTC;
         */
        resetCurrency : function() {
            var currency = this.getActiveCurrency();
            var idx = $.inArray(currency, this.config.currencies);
            if(idx < 0) {
                window.localStorage["bitcoinprices.currency"] = "BTC";
            }
        },

        /**
         * Loop available currencies, select next one.
         *
         * @return {String} user-selected next three-letter currency code
         */
        toggleNextActiveCurrency : function() {

            var currency = this.getActiveCurrency();
            var idx = $.inArray(currency, this.config.currencies);
            if(idx < 0) {
                idx = 0;
            }
            idx = (++idx) % this.config.currencies.length;

            currency = window.localStorage["bitcoinprices.currency"] = this.config.currencies[idx];

            return currency;
        },

        /**
         * User changes the default currency through clicking a price.
         */
        installClicker : function() {
            var self = this;
            function onclick(e) {
                e.preventDefault();
                self.toggleNextActiveCurrency();
                $(document).trigger("activecurrencychange");
            }

            // We have now market data available,
            // decoreate elements so the user knows there is interaction
            var clickablePriceSelector = this.config.clickablePriceSelector || "[" + this.config.priceAttribute + "]";
            $(clickablePriceSelector).addClass("clickable-price");

            if(this.config.ux.clickableCurrencySymbol) {
                $(".current-currency-symbol").addClass("clickable-price");
            }

            $(".clickable-price").click(onclick);
        },

        /**
         * Populate Bootstrap dropdown menu "currency-dropdown" with available currency choices.
         *
         * Automatically toggle the currently activated currency.
         */
        installCurrencyMenu : function() {
            var self = this;
            var menu = $(".currency-dropdown");

            function updateCurrencyInMenu(currency) {
                var symbol = self.getCurrencySymbol(currency);
                menu.find(".currency-symbol").html(symbol);
                menu.find("li[data-currency]").removeClass("active");
                menu.find("li[data-currency=" + currency + "]").addClass("active");
            }

            function buildMenu() {

                $.each(self.config.currencies, function() {
                    var symbol = self.getCurrencySymbol(this);
                    var template = [
                        "<li class='currency-menu-entry' data-currency='",
                        this,
                        "'><a role='menuitem'>",
                        symbol,
                        "</a></li>"
                    ];

                    var html = template.join("");
                    menu.find("ul").append(html);
                });
            }

            buildMenu();

            $(document).on("activecurrencychange", function() {
                var active = self.getActiveCurrency();
                updateCurrencyInMenu(active);
            });

            menu.on("click", ".currency-menu-entry", function(e) {
                var currency = $(this).attr("data-currency");
                window.localStorage["bitcoinprices.currency"] = currency;
                $(document).trigger("activecurrencychange");
            });

            // Initialize the currency from what the user had on the last page load
            var active = this.getActiveCurrency();
            updateCurrencyInMenu(active);
        },

        /**
         * Make prices clickable and tooltippable.
         *
         * Assume we have market data available.
         */
        installUX : function() {
            var self = this;

            if(self.config.ux.clickPrices) {
                this.installClicker();
            }

            if(self.config.ux.menu) {
                this.installCurrencyMenu();
            }

            // Whenever some UX element updates the active currency then refresh the page
            $(document).bind("activecurrencychange", function() {
                self.updatePrices();
                self.updateCurrencySymbols();
            });

        },


        /**
         * Call to initialize the detault bitcoinprices UI.
         */
        init : function(_config) {

            if(!_config) {
                throw new Error("You must give config object");
            }

            var self = this;

            // Allow jQuery override
            // (solves many problems with require() jQuery includes)
            if(_config.jQuery) {
                $ = _config.jQuery;
            }

            this.config = $.extend({}, defaultConfig, _config);

            if(this.config.url) {
                // Chec we are not running headless testing mode
                $(document).bind("marketdataavailable", function() {
                    self.updatePrices();
                    self.updateCurrencySymbols();
                    self.installUX();
                });

                this.loadData();
            }

        }
    };
}));

A  => assets/js/bitcoinprices.min.js +1 -0
@@ 1,1 @@
!function(r,e){"function"==typeof define&&define.amd?define(["jQuery"],e):"object"==typeof exports?module.exports=e(require("jquery/dist/jquery")(window)):r.bitcoinprices=e(r.jQuery)}(this,function(r){"use strict";var e=r,t={url:"https://api.bitcoinaverage.com/ticker/all",marketRateVariable:"24h_avg",currencies:["BTC","USD","EUR","CNY"],symbols:{},clickablePriceSelector:null,defaultCurrency:"BTC",ux:{clickPrices:!0,menu:!0,clickableCurrencySymbol:!0},priceAttribute:"data-btc-price",priceOrignalCurrency:"BTC"};return{data:null,config:null,loadData:function(){var r=this;e.getJSON(r.config.url,function(t){r.data=t,e(document).trigger("marketdataavailable")}).error(function(){throw new Error("Could not load exchage rate data from:"+r.config.url)})},convert:function(r,t,c){var i;if(!e.isNumeric(r))throw new Error("Amount must be numeric");if(!t||!c)throw new Error("You need to give both source and target currency:"+t+" "+c);if("BTC"==t&&"BTC"==c)return r;if("BTC"!=t&&"BTC"!=c)return this.convert(this.convert(r,t,"BTC"),"BTC",c);if("BTC"==t?(i=!0,c=[t,t=c][0]):i=!1,!this.data)throw new Error("Exchange rate data not available");var n=this.data[t];if(!n)throw new Error("We do not have market data for currency: "+t);var a=n[this.config.marketRateVariable];if(!a)throw new Error("Cannot parse bitcoinaverage data for "+t+" "+this.config.url);return i?r*a:r/a},formatPrice:function(r,e,t){var c;c="BTC"==e?8:2;var i=r.toFixed(c);return t&&(i+=" "+this.getCurrencySymbol(e)),i},getCurrencySymbol:function(r){var e=(this.config.symbols||{},this.config.symbols[r]||r);return e},updatePrices:function(){var r=this,t=this.getActiveCurrency(),c=this.config;e("["+c.priceAttribute+"]").each(function(){var i=e(this),n=i.attr(c.priceAttribute);try{n=parseFloat(n,10)}catch(a){return}var o="off"!=i.attr("data-price-symbol"),u=r.convert(n,c.priceOrignalCurrency,t);i.html(r.formatPrice(u,t,o))})},updateCurrencySymbols:function(){e(".current-currency-symbol").html(this.getCurrencySymbol(this.getActiveCurrency()))},getActiveCurrency:function(){return window.localStorage["bitcoinprices.currency"]||this.config.defaultCurrency||"BTC"},resetCurrency:function(){var r=this.getActiveCurrency(),t=e.inArray(r,this.config.currencies);0>t&&(window.localStorage["bitcoinprices.currency"]="BTC")},toggleNextActiveCurrency:function(){var r=this.getActiveCurrency(),t=e.inArray(r,this.config.currencies);return 0>t&&(t=0),t=++t%this.config.currencies.length,r=window.localStorage["bitcoinprices.currency"]=this.config.currencies[t]},installClicker:function(){function r(r){r.preventDefault(),t.toggleNextActiveCurrency(),e(document).trigger("activecurrencychange")}var t=this,c=this.config.clickablePriceSelector||"["+this.config.priceAttribute+"]";e(c).addClass("clickable-price"),this.config.ux.clickableCurrencySymbol&&e(".current-currency-symbol").addClass("clickable-price"),e(".clickable-price").click(r)},installCurrencyMenu:function(){function r(r){var e=c.getCurrencySymbol(r);i.find(".currency-symbol").html(e),i.find("li[data-currency]").removeClass("active"),i.find("li[data-currency="+r+"]").addClass("active")}function t(){e.each(c.config.currencies,function(){var r=c.getCurrencySymbol(this),e=["<li class='currency-menu-entry' data-currency='",this,"'><a role='menuitem'>",r,"</a></li>"],t=e.join("");i.find("ul").append(t)})}var c=this,i=e(".currency-dropdown");t(),e(document).on("activecurrencychange",function(){var e=c.getActiveCurrency();r(e)}),i.on("click",".currency-menu-entry",function(){var r=e(this).attr("data-currency");window.localStorage["bitcoinprices.currency"]=r,e(document).trigger("activecurrencychange")});var n=this.getActiveCurrency();r(n)},installUX:function(){var r=this;r.config.ux.clickPrices&&this.installClicker(),r.config.ux.menu&&this.installCurrencyMenu(),e(document).bind("activecurrencychange",function(){r.updatePrices(),r.updateCurrencySymbols()})},init:function(r){if(!r)throw new Error("You must give config object");var c=this;r.jQuery&&(e=r.jQuery),this.config=e.extend({},t,r),this.config.url&&(e(document).bind("marketdataavailable",function(){c.updatePrices(),c.updateCurrencySymbols(),c.installUX()}),this.loadData())}}});
\ No newline at end of file

A  => assets/js/bootstrap.min.js +11 -0
@@ 1,11 @@
/*!
 * Bootstrap v3.3.7 (http://getbootstrap.com)
 * Copyright 2011-2017 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

/*!
 * Generated using the Bootstrap Customizer (https://getbootstrap.com/customize/?id=e61b3156dd0b278fbb8a320b4d49cb53)
 * Config saved to config.json and https://gist.github.com/e61b3156dd0b278fbb8a320b4d49cb53
 */
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(t){"use strict";var e=t.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||e[0]>3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(t){"use strict";function e(e){var a,s=e.attr("data-target")||(a=e.attr("href"))&&a.replace(/.*(?=#[^\s]+$)/,"");return t(s)}function a(e){return this.each(function(){var a=t(this),i=a.data("bs.collapse"),n=t.extend({},s.DEFAULTS,a.data(),"object"==typeof e&&e);!i&&n.toggle&&/show|hide/.test(e)&&(n.toggle=!1),i||a.data("bs.collapse",i=new s(this,n)),"string"==typeof e&&i[e]()})}var s=function(e,a){this.$element=t(e),this.options=t.extend({},s.DEFAULTS,a),this.$trigger=t('[data-toggle="collapse"][href="#'+e.id+'"],[data-toggle="collapse"][data-target="#'+e.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};s.VERSION="3.3.7",s.TRANSITION_DURATION=350,s.DEFAULTS={toggle:!0},s.prototype.dimension=function(){var t=this.$element.hasClass("width");return t?"width":"height"},s.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var e,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(e=i.data("bs.collapse"),e&&e.transitioning))){var n=t.Event("show.bs.collapse");if(this.$element.trigger(n),!n.isDefaultPrevented()){i&&i.length&&(a.call(i,"hide"),e||i.data("bs.collapse",null));var r=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[r](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var l=function(){this.$element.removeClass("collapsing").addClass("collapse in")[r](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!t.support.transition)return l.call(this);var o=t.camelCase(["scroll",r].join("-"));this.$element.one("bsTransitionEnd",t.proxy(l,this)).emulateTransitionEnd(s.TRANSITION_DURATION)[r](this.$element[0][o])}}}},s.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var e=t.Event("hide.bs.collapse");if(this.$element.trigger(e),!e.isDefaultPrevented()){var a=this.dimension();this.$element[a](this.$element[a]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return t.support.transition?void this.$element[a](0).one("bsTransitionEnd",t.proxy(i,this)).emulateTransitionEnd(s.TRANSITION_DURATION):i.call(this)}}},s.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},s.prototype.getParent=function(){return t(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(t.proxy(function(a,s){var i=t(s);this.addAriaAndCollapsedClass(e(i),i)},this)).end()},s.prototype.addAriaAndCollapsedClass=function(t,e){var a=t.hasClass("in");t.attr("aria-expanded",a),e.toggleClass("collapsed",!a).attr("aria-expanded",a)};var i=t.fn.collapse;t.fn.collapse=a,t.fn.collapse.Constructor=s,t.fn.collapse.noConflict=function(){return t.fn.collapse=i,this},t(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(s){var i=t(this);i.attr("data-target")||s.preventDefault();var n=e(i),r=n.data("bs.collapse"),l=r?"toggle":i.data();a.call(n,l)})}(jQuery);
\ No newline at end of file

A  => assets/js/extra.js +8 -0
@@ 1,8 @@
//= require slideout.min
//= require bitcoinprices.min
//= require bootstrap.min
//= require jquery.swipebox.min
//= require moment.min
//= require moment-timezone.min
//= require jquery.simpleWeather.min
//= require jquery.exLink.min

A  => assets/js/jquery.exLink.min.js +1 -0
@@ 1,1 @@
var exLink=function(){var o={};return initialize=function(a){var n={protocols:["http","https"],filetypes:["pdf","xls","docx","doc","ppt","pptx"],hostCompare:!1,noFollow:!1,fancyBoxIgnore:!0,navigateCallback:null,navigateState:null,gaTracking:!1,gaTrackLabel:"External Links",gaTrackOld:!1,linkWarning:!0,linkWarningBody:"You are about to leave this website and navigate to the link below. Would you like to continue?",fileWarning:!0,fileWarningBody:"You are about to open the file below. Do you wish to continue?",dialogConfirm:"#006600",dialogCancel:"#CC0000",dialogConfirmText:"#fff",dialogCancelText:"#fff",dialogCancelButton:"Cancel",dialogConfirmButton:"Continue",modalDisplayBG:!0,modalWidth:"320px",modalHeight:"240px",externalColor:"",documentColor:"",clickedColor:"",newWindow:!1,widthWindow:"500",heightWindow:"400;",titleWindow:"exLink by YupItsZac.com"};o=$.extend({},n,a),$("body").on("click",".exLink, .docuLink",function(o){o.preventDefault(),1!=o.handled&&catchClick(o),o.handled=!0});o.hostCompare?targetByHost():targetByProtocol(),$(".exLink").css("color",o.externalColor),$(".docuLink").css("color",o.documentColor)},targetByProtocol=function(){jQuery.each(o.protocols,function(a,n){o.noFollow?o.fancyBoxIgnore?$('a[href^="'+n+'://"]').not(".docuLink, .iframe").addClass("exLink").attr("rel","nofollow"):$('a[href^="'+n+'://"]').not(".docuLink").addClass("exLink").attr("rel","nofollow"):o.fancyBoxIgnore?$('a[href^="'+n+'://"]').not(".docuLink, .iframe").addClass("exLink"):$('a[href^="'+n+'://"]').not(".docuLink").addClass("exLink")}),identifyDocuments()},targetByHost=function(){identifyDocuments();var a=new RegExp(location.host);$("a").each(function(){a.test($(this).attr("href"))===!1&&(o.noFollow?o.fancyBoxignore?$(this).not(".docuLink, .iframe").addClass("exLink").attr("rel","nofollow"):$(this).not(".docuLink").addClass("exLink").attr("rel","nofollow"):o.fancyBoxIgnore?$(this).not(".docuLink, .iframe").addClass("exLink"):$(this).not(".docuLink").addClass("exLink"))})},identifyDocuments=function(){jQuery.each(o.filetypes,function(a,n){$('a[href$="'+n+'"]').not(".exLink").addClass("docuLink").css("color",o.documentColor)})},catchClick=function(a){if($(a.target).is(".exLink"))if(o.linkWarning){if($(a.target).is("a"))var n=a.target.href;else var n=$(a.target).closest("a").attr("href");showLinkWarning(n),$.isFunction(o.navigateCallback)&&o.navigateCallback(a,1,!0)}else{if($(a.target).is("a"))var n=a.target.href;else var n=$(a.target).closest("a").attr("href");window.open(n,"_blank"),$.isFunction(o.navigateCallback)&&o.navigateCallback(a,1,!1)}else if(o.fileWarning){if($(a.target).is("a"))var n=a.target.href;else var n=$(a.target).closest("a").attr("href");showDocWarning(n),$.isFunction(o.navigateCallback)&&o.navigateCallback(a,1,!0)}else{if($(a.target).is("a"))var n=a.target.href;else var n=$(a.target).closest("a").attr("href");window.open(n,"_blank"),$.isFunction(o.navigateCallback)&&o.navigateCallback(a,2,!1)}o.clickedColor&&$(a.target).css("color",o.clickedColor),window.lastObj=a},showLinkWarning=function(a){o.modalDisplayBG&&($("body").append('<div class="modalBG"></div>'),$(".modalBG").fadeIn("slow")),$("body").append('<div class="modal-dialog">'+o.linkWarningBody+"<br><br><p><center><b>"+a+'</b></center></p><br><br><div class="exLinkButton exLinkCancel" onclick="exLink.closeModal();">'+o.dialogCancelButton+'</div><div class="exLinkButton exLinkContinue" onclick="exLink.navigate(&quot;'+a+'&quot;);">'+o.dialogConfirmButton+"</div></div>"),$(".modal-dialog").fadeIn("slow"),$(".exLinkCancel").css("background-color",o.dialogCancel),$(".exLinkContinue").css("background-color",o.dialogConfirm),$(".exLinkCancel").css("color",o.dialogCancelText),$(".exLinkContinue").css("color",o.dialogConfirmText),$(".modal-dialog").css("width",o.modalWidth),$(".modal-dialog").css("height",o.modalHeight)},showDocWarning=function(a){o.modalDisplayBG&&($("body").append('<div class="modalBG"></div>'),$(".modalBG").fadeIn("slow")),$("body").append('<div class="modal-dialog">'+o.fileWarningBody+"<br><br><p><center><b>"+a+'</b></center></p><br><br><div class="exLinkButton exLinkCancel" onclick="exLink.closeModal();">'+o.dialogCancelButton+'</div><div class="exLinkButton exLinkContinue" onclick="exLink.navigate(&quot;'+a+'&quot;);">'+o.dialogConfirmButton+"</div></div>"),$(".modal-dialog").fadeIn("slow"),$(".exLinkCancel").css("background-color",o.dialogCancel),$(".exLinkContinue").css("background-color",o.dialogConfirm),$(".exLinkCancel").css("color",o.dialogCancelText),$(".exLinkContinue").css("color",o.dialogConfirmText),$(".modal-dialog").css("width",o.modalWidth),$(".modal-dialog").css("height",o.modalHeight)},closeModal=function(){$(".modalBG").remove(),$(".modal-dialog").remove()},navigateLocation=function(a){if(o.gaTracking){var n=window.location.hostname;if(o.gaTrackOld){_gaq.push(["_trackEvent",o.gaTrackLabel,n,a])}else ga("send","event",o.gaTrackLabel,n,a)}o.newWindow?(window.open(a,o.titleWindow,"height="+o.heightWindow+", width="+o.widthWindow),$.isFunction(o.navigateState)&&o.navigateState(a,1)):(window.open(a,"_blank"),$.isFunction(o.navigateState)&&o.navigateState(a,2)),$(".modalBG, .modal-dialog").remove()},{init:initialize,closeModal:closeModal,navigate:navigateLocation}}();

A  => assets/js/jquery.min.js +5 -0
@@ 1,5 @@
/*! jQuery v1.12.4 | (c) jQuery Foundation | jquery.org/license */
!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){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="1.12.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.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()},push:g,sort:c.sort,splice:c.splice},n.extend=n.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||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(!l.ownFirst)for(b in a)return k.call(a,b);for(b in a);return void 0===b||k.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(h)return h.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[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,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=e.call(arguments,2),d=function(){return a.apply(b||this,c.concat(e.call(arguments)))},d.guid=a.guid=a.guid||n.guid++,d):void 0},now:function(){return+new Date},support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=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)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.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)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,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(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===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]||fa.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]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(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(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?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===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.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!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.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:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(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 va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}if(f=d.getElementById(e[2]),f&&f.parentNode){if(f.id!==e[2])return A.find(a);this.length=1,this[0]=f}return this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(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&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||(e=n.uniqueSort(e)),D.test(a)&&(e=e.reverse())),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=!0,c||j.disable(),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.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=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.addEventListener?(d.removeEventListener("DOMContentLoaded",K),a.removeEventListener("load",K)):(d.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(d.addEventListener||"load"===a.event.type||"complete"===d.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll)a.setTimeout(n.ready);else if(d.addEventListener)d.addEventListener("DOMContentLoaded",K),a.addEventListener("load",K);else{d.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&d.documentElement}catch(e){}c&&c.doScroll&&!function f(){if(!n.isReady){try{c.doScroll("left")}catch(b){return a.setTimeout(f,50)}J(),n.ready()}}()}return I.promise(b)},n.ready.promise();var L;for(L in n(l))break;l.ownFirst="0"===L,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c,e;c=d.getElementsByTagName("body")[0],c&&c.style&&(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",l.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(e))}),function(){var a=d.createElement("div");l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}a=null}();var M=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b},N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0;
}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(M(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),"object"!=typeof b&&"function"!=typeof b||(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f}}function S(a,b,c){if(M(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=void 0)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.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=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.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 n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=n._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}}),function(){var a;l.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,e;return c=d.getElementsByTagName("body")[0],c&&c.style?(b=d.createElement("div"),e=d.createElement("div"),e.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(e).appendChild(b),"undefined"!=typeof b.style.zoom&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(d.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(e),a):void 0}}();var T=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,U=new RegExp("^(?:([+-])=|)("+T+")([a-z%]*)$","i"),V=["Top","Right","Bottom","Left"],W=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function X(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&U.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var Y=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)Y(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(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},Z=/^(?:checkbox|radio)$/i,$=/<([\w:-]+)/,_=/^$|\/(?:java|ecma)script/i,aa=/^\s+/,ba="abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";function ca(a){var b=ba.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}!function(){var a=d.createElement("div"),b=d.createDocumentFragment(),c=d.createElement("input");a.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",l.leadingWhitespace=3===a.firstChild.nodeType,l.tbody=!a.getElementsByTagName("tbody").length,l.htmlSerialize=!!a.getElementsByTagName("link").length,l.html5Clone="<:nav></:nav>"!==d.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,b.appendChild(c),l.appendChecked=c.checked,a.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!a.cloneNode(!0).lastChild.defaultValue,b.appendChild(a),c=d.createElement("input"),c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),a.appendChild(c),l.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!!a.addEventListener,a[n.expando]=1,l.attributes=!a.getAttribute(n.expando)}();var da={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:l.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c,d,e=0,f="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,ea(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function fa(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}var ga=/<|&#?\w+;/,ha=/<tbody/i;function ia(a){Z.test(a.type)&&(a.defaultChecked=a.checked)}function ja(a,b,c,d,e){for(var f,g,h,i,j,k,m,o=a.length,p=ca(b),q=[],r=0;o>r;r++)if(g=a[r],g||0===g)if("object"===n.type(g))n.merge(q,g.nodeType?[g]:g);else if(ga.test(g)){i=i||p.appendChild(b.createElement("div")),j=($.exec(g)||["",""])[1].toLowerCase(),m=da[j]||da._default,i.innerHTML=m[1]+n.htmlPrefilter(g)+m[2],f=m[0];while(f--)i=i.lastChild;if(!l.leadingWhitespace&&aa.test(g)&&q.push(b.createTextNode(aa.exec(g)[0])),!l.tbody){g="table"!==j||ha.test(g)?"<table>"!==m[1]||ha.test(g)?0:i:i.firstChild,f=g&&g.childNodes.length;while(f--)n.nodeName(k=g.childNodes[f],"tbody")&&!k.childNodes.length&&g.removeChild(k)}n.merge(q,i.childNodes),i.textContent="";while(i.firstChild)i.removeChild(i.firstChild);i=p.lastChild}else q.push(b.createTextNode(g));i&&p.removeChild(i),l.appendChecked||n.grep(ea(q,"input"),ia),r=0;while(g=q[r++])if(d&&n.inArray(g,d)>-1)e&&e.push(g);else if(h=n.contains(g.ownerDocument,g),i=ea(p.appendChild(g),"script"),h&&fa(i),c){f=0;while(g=i[f++])_.test(g.type||"")&&c.push(g)}return i=null,p}!function(){var b,c,e=d.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b]=c in a)||(e.setAttribute(c,"t"),l[b]=e.attributes[c].expando===!1);e=null}();var ka=/^(?:input|select|textarea)$/i,la=/^key/,ma=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,na=/^(?:focusinfocus|focusoutblur)$/,oa=/^([^.]*)(?:\.(.+)|)/;function pa(){return!0}function qa(){return!1}function ra(){try{return d.activeElement}catch(a){}}function sa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)sa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=qa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return"undefined"==typeof n||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(G)||[""],h=b.length;while(h--)f=oa.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=oa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(i=m=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!na.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),h=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),l=n.event.special[q]||{},f||!l.trigger||l.trigger.apply(e,c)!==!1)){if(!f&&!l.noBubble&&!n.isWindow(e)){for(j=l.delegateType||q,na.test(j+q)||(i=i.parentNode);i;i=i.parentNode)p.push(i),m=i;m===(e.ownerDocument||d)&&p.push(m.defaultView||m.parentWindow||a)}o=0;while((i=p[o++])&&!b.isPropagationStopped())b.type=o>1?j:l.bindType||q,g=(n._data(i,"events")||{})[b.type]&&n._data(i,"handle"),g&&g.apply(i,c),g=h&&i[h],g&&g.apply&&M(i)&&(b.result=g.apply(i,c),b.result===!1&&b.preventDefault());if(b.type=q,!f&&!b.isDefaultPrevented()&&(!l._default||l._default.apply(p.pop(),c)===!1)&&M(e)&&h&&e[q]&&!n.isWindow(e)){m=e[h],m&&(e[h]=null),n.event.triggered=q;try{e[q]()}catch(s){}n.event.triggered=void 0,m&&(e[h]=m)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.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&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(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?n(e,this).index(i)>-1:n.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},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ma.test(f)?this.mouseHooks:la.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=g.srcElement||d),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,h.filter?h.filter(a,g):a},props:"altKey bubbles cancelable ctrlKey currentTarget detail 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 fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button,h=b.fromElement;return null==a.pageX&&null!=b.clientX&&(e=a.target.ownerDocument||d,f=e.documentElement,c=e.body,a.pageX=b.clientX+(f&&f.scrollLeft||c&&c.scrollLeft||0)-(f&&f.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(f&&f.scrollTop||c&&c.scrollTop||0)-(f&&f.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&h&&(a.relatedTarget=h===a.target?b.toElement:h),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ra()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===ra()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return n.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b),d.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=d.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)}:function(a,b,c){var d="on"+b;a.detachEvent&&("undefined"==typeof a[d]&&(a[d]=null),a.detachEvent(d,c))},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?pa:qa):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:qa,isPropagationStopped:qa,isImmediatePropagationStopped:qa,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=pa,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=pa,a&&!this.isSimulated&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=pa,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),l.submit||(n.event.special.submit={setup:function(){return n.nodeName(this,"form")?!1:void n.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=n.nodeName(b,"input")||n.nodeName(b,"button")?n.prop(b,"form"):void 0;c&&!n._data(c,"submit")&&(n.event.add(c,"submit._submit",function(a){a._submitBubble=!0}),n._data(c,"submit",!0))})},postDispatch:function(a){a._submitBubble&&(delete a._submitBubble,this.parentNode&&!a.isTrigger&&n.event.simulate("submit",this.parentNode,a))},teardown:function(){return n.nodeName(this,"form")?!1:void n.event.remove(this,"._submit")}}),l.change||(n.event.special.change={setup:function(){return ka.test(this.nodeName)?("checkbox"!==this.type&&"radio"!==this.type||(n.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._justChanged=!0)}),n.event.add(this,"click._change",function(a){this._justChanged&&!a.isTrigger&&(this._justChanged=!1),n.event.simulate("change",this,a)})),!1):void n.event.add(this,"beforeactivate._change",function(a){var b=a.target;ka.test(b.nodeName)&&!n._data(b,"change")&&(n.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||n.event.simulate("change",this.parentNode,a)}),n._data(b,"change",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return n.event.remove(this,"._change"),!ka.test(this.nodeName)}}),l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=n._data(d,b);e||d.addEventListener(a,c,!0),n._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=n._data(d,b)-1;e?n._data(d,b,e):(d.removeEventListener(a,c,!0),n._removeData(d,b))}}}),n.fn.extend({on:function(a,b,c,d){return sa(this,a,b,c,d)},one:function(a,b,c,d){return sa(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(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=qa),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ta=/ jQuery\d+="(?:null|\d+)"/g,ua=new RegExp("<(?:"+ba+")[\\s/>]","i"),va=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wa=/<script|<style|<link/i,xa=/checked\s*(?:[^=]|=\s*.checked.)/i,ya=/^true\/(.*)/,za=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Aa=ca(d),Ba=Aa.appendChild(d.createElement("div"));function Ca(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function Da(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function Ea(a){var b=ya.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Fa(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Ga(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(Da(b).text=a.text,Ea(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&Z.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}}function Ha(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&xa.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),Ha(f,b,c,d)});if(o&&(k=ja(b,a[0].ownerDocument,!1,a,d),e=k.firstChild,1===k.childNodes.length&&(k=e),e||d)){for(i=n.map(ea(k,"script"),Da),h=i.length;o>m;m++)g=k,m!==p&&(g=n.clone(g,!0,!0),h&&n.merge(i,ea(g,"script"))),c.call(a[m],g,m);if(h)for(j=i[i.length-1].ownerDocument,n.map(i,Ea),m=0;h>m;m++)g=i[m],_.test(g.type||"")&&!n._data(g,"globalEval")&&n.contains(j,g)&&(g.src?n._evalUrl&&n._evalUrl(g.src):n.globalEval((g.text||g.textContent||g.innerHTML||"").replace(za,"")));k=e=null}return a}function Ia(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(ea(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(va,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!ua.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(Ba.innerHTML=a.outerHTML,Ba.removeChild(f=Ba.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=ea(f),h=ea(a),g=0;null!=(e=h[g]);++g)d[g]&&Ga(e,d[g]);if(b)if(c)for(h=h||ea(a),d=d||ea(f),g=0;null!=(e=h[g]);g++)Fa(e,d[g]);else Fa(a,f);return d=ea(f,"script"),d.length>0&&fa(d,!i&&ea(a,"script")),d=h=e=null,f},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.attributes,m=n.event.special;null!=(d=a[h]);h++)if((b||M(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k||"undefined"==typeof d.removeAttribute?d[i]=void 0:d.removeAttribute(i),c.push(f))}}}),n.fn.extend({domManip:Ha,detach:function(a){return Ia(this,a,!0)},remove:function(a){return Ia(this,a)},text:function(a){return Y(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||d).createTextNode(a))},null,a,arguments.length)},append:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.appendChild(a)}})},prepend:function(){return Ha(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ca(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ha(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(ea(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return Y(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(ta,""):void 0;if("string"==typeof a&&!wa.test(a)&&(l.htmlSerialize||!ua.test(a))&&(l.leadingWhitespace||!aa.test(a))&&!da[($.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Ha(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],f=n(a),h=f.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(f[d])[b](c),g.apply(e,c.get());return this.pushStack(e)}});var Ja,Ka={HTML:"block",BODY:"block"};function La(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function Ma(a){var b=d,c=Ka[a];return c||(c=La(a,b),"none"!==c&&c||(Ja=(Ja||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Ja[0].contentWindow||Ja[0].contentDocument).document,b.write(),b.close(),c=La(a,b),Ja.detach()),Ka[a]=c),c}var Na=/^margin/,Oa=new RegExp("^("+T+")(?!px)[a-z%]+$","i"),Pa=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},Qa=d.documentElement;!function(){var b,c,e,f,g,h,i=d.createElement("div"),j=d.createElement("div");if(j.style){j.style.cssText="float:left;opacity:.5",l.opacity="0.5"===j.style.opacity,l.cssFloat=!!j.style.cssFloat,j.style.backgroundClip="content-box",j.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===j.style.backgroundClip,i=d.createElement("div"),i.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",j.innerHTML="",i.appendChild(j),l.boxSizing=""===j.style.boxSizing||""===j.style.MozBoxSizing||""===j.style.WebkitBoxSizing,n.extend(l,{reliableHiddenOffsets:function(){return null==b&&k(),f},boxSizingReliable:function(){return null==b&&k(),e},pixelMarginRight:function(){return null==b&&k(),c},pixelPosition:function(){return null==b&&k(),b},reliableMarginRight:function(){return null==b&&k(),g},reliableMarginLeft:function(){return null==b&&k(),h}});function k(){var k,l,m=d.documentElement;m.appendChild(i),j.style.cssText="-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",b=e=h=!1,c=g=!0,a.getComputedStyle&&(l=a.getComputedStyle(j),b="1%"!==(l||{}).top,h="2px"===(l||{}).marginLeft,e="4px"===(l||{width:"4px"}).width,j.style.marginRight="50%",c="4px"===(l||{marginRight:"4px"}).marginRight,k=j.appendChild(d.createElement("div")),k.style.cssText=j.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",k.style.marginRight=k.style.width="0",j.style.width="1px",g=!parseFloat((a.getComputedStyle(k)||{}).marginRight),j.removeChild(k)),j.style.display="none",f=0===j.getClientRects().length,f&&(j.style.display="",j.innerHTML="<table><tr><td></td><td>t</td></tr></table>",j.childNodes[0].style.borderCollapse="separate",k=j.getElementsByTagName("td"),k[0].style.cssText="margin:0;border:0;padding:0;display:none",f=0===k[0].offsetHeight,f&&(k[0].style.display="",k[1].style.display="none",f=0===k[0].offsetHeight)),m.removeChild(i)}}}();var Ra,Sa,Ta=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ra=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Oa.test(g)&&Na.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+""}):Qa.currentStyle&&(Ra=function(a){return a.currentStyle},Sa=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ra(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Oa.test(g)&&!Ta.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Ua(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Va=/alpha\([^)]*\)/i,Wa=/opacity\s*=\s*([^)]*)/i,Xa=/^(none|table(?!-c[ea]).+)/,Ya=new RegExp("^("+T+")(.*)$","i"),Za={position:"absolute",visibility:"hidden",display:"block"},$a={letterSpacing:"0",fontWeight:"400"},_a=["Webkit","O","Moz","ms"],ab=d.createElement("div").style;function bb(a){if(a in ab)return a;var b=a.charAt(0).toUpperCase()+a.slice(1),c=_a.length;while(c--)if(a=_a[c]+b,a in ab)return a}function cb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=n._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&W(d)&&(f[g]=n._data(d,"olddisplay",Ma(d.nodeName)))):(e=W(d),(c&&"none"!==c||!e)&&n._data(d,"olddisplay",e?c:n.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 db(a,b,c){var d=Ya.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function eb(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+=n.css(a,c+V[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+V[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+V[f]+"Width",!0,e))):(g+=n.css(a,"padding"+V[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+V[f]+"Width",!0,e)));return g}function fb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ra(a),g=l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Sa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Oa.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+eb(a,b,c||(g?"border":"content"),d,f)+"px"}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Sa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,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":l.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;if(b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=U.exec(c))&&e[1]&&(c=X(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=bb(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Sa(a,b,d)),"normal"===f&&b in $a&&(f=$a[b]),""===c||c?(e=parseFloat(f),c===!0||isFinite(e)?e||0:f):f}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Xa.test(n.css(a,"display"))&&0===a.offsetWidth?Pa(a,Za,function(){return fb(a,b,d)}):fb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ra(a);return db(a,c,d?eb(a,b,d,l.boxSizing&&"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),l.opacity||(n.cssHooks.opacity={get:function(a,b){return Wa.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=n.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===n.trim(f.replace(Va,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Va.test(f)?f.replace(Va,e):f+" "+e)}}),n.cssHooks.marginRight=Ua(l.reliableMarginRight,function(a,b){return b?Pa(a,{display:"inline-block"},Sa,[a,"marginRight"]):void 0}),n.cssHooks.marginLeft=Ua(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Sa(a,"marginLeft"))||(n.contains(a.ownerDocument,a)?a.getBoundingClientRect().left-Pa(a,{
marginLeft:0},function(){return a.getBoundingClientRect().left}):0))+"px":void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+V[d]+b]=f[d]||f[d-2]||f[0];return e}},Na.test(a)||(n.cssHooks[a+b].set=db)}),n.fn.extend({css:function(a,b){return Y(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ra(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return cb(this,!0)},hide:function(){return cb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){W(this)?n(this).show():n(this).hide()})}});function gb(a,b,c,d,e){return new gb.prototype.init(a,b,c,d,e)}n.Tween=gb,gb.prototype={constructor:gb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=gb.propHooks[this.prop];return a&&a.get?a.get(this):gb.propHooks._default.get(this)},run:function(a){var b,c=gb.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=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):gb.propHooks._default.set(this),this}},gb.prototype.init.prototype=gb.prototype,gb.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},gb.propHooks.scrollTop=gb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=gb.prototype.init,n.fx.step={};var hb,ib,jb=/^(?:toggle|show|hide)$/,kb=/queueHooks$/;function lb(){return a.setTimeout(function(){hb=void 0}),hb=n.now()}function mb(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=V[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function nb(a,b,c){for(var d,e=(qb.tweeners[b]||[]).concat(qb.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ob(a,b,c){var d,e,f,g,h,i,j,k,m=this,o={},p=a.style,q=a.nodeType&&W(a),r=n._data(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,m.always(function(){m.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=n.css(a,"display"),k="none"===j?n._data(a,"olddisplay")||Ma(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(l.inlineBlockNeedsLayout&&"inline"!==Ma(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",l.shrinkWrapBlocks()||m.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],jb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(o))"inline"===("none"===j?Ma(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=n._data(a,"fxshow",{}),f&&(r.hidden=!q),q?n(a).show():m.done(function(){n(a).hide()}),m.done(function(){var b;n._removeData(a,"fxshow");for(b in o)n.style(a,b,o[b])});for(d in o)g=nb(q?r[d]:0,d,m),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function pb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.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 qb(a,b,c){var d,e,f=0,g=qb.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=hb||lb(),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:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:hb||lb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.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.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for(pb(k,j.opts.specialEasing);g>f;f++)if(d=qb.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,nb,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.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)}n.Animation=n.extend(qb,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return X(c.elem,a,U.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],qb.tweeners[c]=qb.tweeners[c]||[],qb.tweeners[c].unshift(b)},prefilters:[ob],prefilter:function(a,b){b?qb.prefilters.unshift(a):qb.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(W).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=qb(this,n.extend({},a),f);(e||n._data(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=n.timers,g=n._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&kb.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||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=n._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.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})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(mb(b,!0),a,d,e)}}),n.each({slideDown:mb("show"),slideUp:mb("hide"),slideToggle:mb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=n.timers,c=0;for(hb=n.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||n.fx.stop(),hb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){ib||(ib=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(ib),ib=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a,b=d.createElement("input"),c=d.createElement("div"),e=d.createElement("select"),f=e.appendChild(d.createElement("option"));c=d.createElement("div"),c.setAttribute("className","t"),c.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",a=c.getElementsByTagName("a")[0],b.setAttribute("type","checkbox"),c.appendChild(b),a=c.getElementsByTagName("a")[0],a.style.cssText="top:1px",l.getSetAttribute="t"!==c.className,l.style=/top/.test(a.getAttribute("style")),l.hrefNormalized="/a"===a.getAttribute("href"),l.checkOn=!!b.value,l.optSelected=f.selected,l.enctype=!!d.createElement("form").enctype,e.disabled=!0,l.optDisabled=!f.disabled,b=d.createElement("input"),b.setAttribute("value",""),l.input=""===b.getAttribute("value"),b.value="t",b.setAttribute("type","radio"),l.radioValue="t"===b.value}();var rb=/\r/g,sb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(sb," ")}},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)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)if(d=e[g],n.inArray(n.valHooks.option.get(d),f)>-1)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var tb,ub,vb=n.expr.attrHandle,wb=/^(?:checked|selected)$/i,xb=l.getSetAttribute,yb=l.input;n.fn.extend({attr:function(a,b){return Y(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ub:tb)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)?yb&&xb||!wb.test(c)?a[d]=!1:a[n.camelCase("default-"+c)]=a[d]=!1:n.attr(a,c,""),a.removeAttribute(xb?c:d)}}),ub={set:function(a,b,c){return b===!1?n.removeAttr(a,c):yb&&xb||!wb.test(c)?a.setAttribute(!xb&&n.propFix[c]||c,c):a[n.camelCase("default-"+c)]=a[c]=!0,c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=vb[b]||n.find.attr;yb&&xb||!wb.test(b)?vb[b]=function(a,b,d){var e,f;return d||(f=vb[b],vb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,vb[b]=f),e}:vb[b]=function(a,b,c){return c?void 0:a[n.camelCase("default-"+b)]?b.toLowerCase():null}}),yb&&xb||(n.attrHooks.value={set:function(a,b,c){return n.nodeName(a,"input")?void(a.defaultValue=b):tb&&tb.set(a,b,c)}}),xb||(tb={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},vb.id=vb.name=vb.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},n.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:tb.set},n.attrHooks.contenteditable={set:function(a,b,c){tb.set(a,""===b?!1:b,c)}},n.each(["width","height"],function(a,b){n.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),l.style||(n.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var zb=/^(?:input|select|textarea|button|object)$/i,Ab=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return Y(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return a=n.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.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){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):zb.test(a.nodeName)||Ab.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.hrefNormalized||n.each(["href","src"],function(a,b){n.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this}),l.enctype||(n.propFix.enctype="encoding");var Bb=/[\t\r\n\f]/g;function Cb(a){return n.attr(a,"class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,Cb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,Cb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=Cb(c),d=1===c.nodeType&&(" "+e+" ").replace(Bb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&n.attr(c,"class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,Cb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Cb(this),b&&n._data(this,"__className__",b),n.attr(this,"class",b||a===!1?"":n._data(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Cb(c)+" ").replace(Bb," ").indexOf(b)>-1)return!0;return!1}}),n.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){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Db=a.location,Eb=n.now(),Fb=/\?/,Gb=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;n.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=n.trim(b+"");return e&&!n.trim(e.replace(Gb,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():n.error("Invalid JSON: "+b)},n.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new a.DOMParser,c=d.parseFromString(b,"text/xml")):(c=new a.ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var Hb=/#.*$/,Ib=/([?&])_=[^&]*/,Jb=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Kb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Lb=/^(?:GET|HEAD)$/,Mb=/^\/\//,Nb=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Ob={},Pb={},Qb="*/".concat("*"),Rb=Db.href,Sb=Nb.exec(Rb.toLowerCase())||[];function Tb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Ub(a,b,c,d){var e={},f=a===Pb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Vb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&n.extend(!0,a,c),a}function Wb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Xb(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];f=k.shift();while(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}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Rb,type:"GET",isLocal:Kb.test(Sb[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Qb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Vb(Vb(a,n.ajaxSettings),b):Vb(n.ajaxSettings,a)},ajaxPrefilter:Tb(Ob),ajaxTransport:Tb(Pb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var d,e,f,g,h,i,j,k,l=n.ajaxSetup({},c),m=l.context||l,o=l.context&&(m.nodeType||m.jquery)?n(m):n.event,p=n.Deferred(),q=n.Callbacks("once memory"),r=l.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!k){k={};while(b=Jb.exec(g))k[b[1].toLowerCase()]=b[2]}b=k[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(l.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>u)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return j&&j.abort(b),y(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,l.url=((b||l.url||Rb)+"").replace(Hb,"").replace(Mb,Sb[1]+"//"),l.type=c.method||c.type||l.method||l.type,l.dataTypes=n.trim(l.dataType||"*").toLowerCase().match(G)||[""],null==l.crossDomain&&(d=Nb.exec(l.url.toLowerCase()),l.crossDomain=!(!d||d[1]===Sb[1]&&d[2]===Sb[2]&&(d[3]||("http:"===d[1]?"80":"443"))===(Sb[3]||("http:"===Sb[1]?"80":"443")))),l.data&&l.processData&&"string"!=typeof l.data&&(l.data=n.param(l.data,l.traditional)),Ub(Ob,l,c,w),2===u)return w;i=n.event&&l.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),l.type=l.type.toUpperCase(),l.hasContent=!Lb.test(l.type),f=l.url,l.hasContent||(l.data&&(f=l.url+=(Fb.test(f)?"&":"?")+l.data,delete l.data),l.cache===!1&&(l.url=Ib.test(f)?f.replace(Ib,"$1_="+Eb++):f+(Fb.test(f)?"&":"?")+"_="+Eb++)),l.ifModified&&(n.lastModified[f]&&w.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&w.setRequestHeader("If-None-Match",n.etag[f])),(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",l.contentType),w.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+("*"!==l.dataTypes[0]?", "+Qb+"; q=0.01":""):l.accepts["*"]);for(e in l.headers)w.setRequestHeader(e,l.headers[e]);if(l.beforeSend&&(l.beforeSend.call(m,w,l)===!1||2===u))return w.abort();v="abort";for(e in{success:1,error:1,complete:1})w[e](l[e]);if(j=Ub(Pb,l,c,w)){if(w.readyState=1,i&&o.trigger("ajaxSend",[w,l]),2===u)return w;l.async&&l.timeout>0&&(h=a.setTimeout(function(){w.abort("timeout")},l.timeout));try{u=1,j.send(s,y)}catch(x){if(!(2>u))throw x;y(-1,x)}}else y(-1,"No Transport");function y(b,c,d,e){var k,s,t,v,x,y=c;2!==u&&(u=2,h&&a.clearTimeout(h),j=void 0,g=e||"",w.readyState=b>0?4:0,k=b>=200&&300>b||304===b,d&&(v=Wb(l,w,d)),v=Xb(l,v,w,k),k?(l.ifModified&&(x=w.getResponseHeader("Last-Modified"),x&&(n.lastModified[f]=x),x=w.getResponseHeader("etag"),x&&(n.etag[f]=x)),204===b||"HEAD"===l.type?y="nocontent":304===b?y="notmodified":(y=v.state,s=v.data,t=v.error,k=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),w.status=b,w.statusText=(c||y)+"",k?p.resolveWith(m,[s,y,w]):p.rejectWith(m,[w,y,t]),w.statusCode(r),r=void 0,i&&o.trigger(k?"ajaxSuccess":"ajaxError",[w,l,k?s:t]),q.fireWith(m,[w,y]),i&&(o.trigger("ajaxComplete",[w,l]),--n.active||n.event.trigger("ajaxStop")))}return w},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){if(n.isFunction(a))return this.each(function(b){n(this).wrapAll(a.call(this,b))});if(this[0]){var b=n(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}});function Yb(a){return a.style&&a.style.display||n.css(a,"display")}function Zb(a){if(!n.contains(a.ownerDocument||d,a))return!0;while(a&&1===a.nodeType){if("none"===Yb(a)||"hidden"===a.type)return!0;a=a.parentNode}return!1}n.expr.filters.hidden=function(a){return l.reliableHiddenOffsets()?a.offsetWidth<=0&&a.offsetHeight<=0&&!a.getClientRects().length:Zb(a)},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var $b=/%20/g,_b=/\[\]$/,ac=/\r?\n/g,bc=/^(?:submit|button|image|reset|file)$/i,cc=/^(?:input|select|textarea|keygen)/i;function dc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||_b.test(a)?d(a,e):dc(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)dc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)dc(c,a[c],b,e);return d.join("&").replace($b,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&cc.test(this.nodeName)&&!bc.test(a)&&(this.checked||!Z.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(ac,"\r\n")}}):{name:b.name,value:c.replace(ac,"\r\n")}}).get()}}),n.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return this.isLocal?ic():d.documentMode>8?hc():/^(get|post|head|put|delete|options)$/i.test(this.type)&&hc()||ic()}:hc;var ec=0,fc={},gc=n.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in fc)fc[a](void 0,!0)}),l.cors=!!gc&&"withCredentials"in gc,gc=l.ajax=!!gc,gc&&n.ajaxTransport(function(b){if(!b.crossDomain||l.cors){var c;return{send:function(d,e){var f,g=b.xhr(),h=++ec;if(g.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(f in b.xhrFields)g[f]=b.xhrFields[f];b.mimeType&&g.overrideMimeType&&g.overrideMimeType(b.mimeType),b.crossDomain||d["X-Requested-With"]||(d["X-Requested-With"]="XMLHttpRequest");for(f in d)void 0!==d[f]&&g.setRequestHeader(f,d[f]+"");g.send(b.hasContent&&b.data||null),c=function(a,d){var f,i,j;if(c&&(d||4===g.readyState))if(delete fc[h],c=void 0,g.onreadystatechange=n.noop,d)4!==g.readyState&&g.abort();else{j={},f=g.status,"string"==typeof g.responseText&&(j.text=g.responseText);try{i=g.statusText}catch(k){i=""}f||!b.isLocal||b.crossDomain?1223===f&&(f=204):f=j.text?200:404}j&&e(f,i,j,g.getAllResponseHeaders())},b.async?4===g.readyState?a.setTimeout(c):g.onreadystatechange=fc[h]=c:c()},abort:function(){c&&c(void 0,!0)}}}});function hc(){try{return new a.XMLHttpRequest}catch(b){}}function ic(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=d.head||n("head")[0]||d.documentElement;return{send:function(e,f){b=d.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||f(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var jc=[],kc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=jc.pop()||n.expando+"_"+Eb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(kc.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&kc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(kc,"$1"+e):b.jsonp!==!1&&(b.url+=(Fb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,jc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ja([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var lc=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&lc)return lc.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h,a.length)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function mc(a){return n.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&n.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},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)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,n.contains(b,e)?("undefined"!=typeof e.getBoundingClientRect&&(d=e.getBoundingClientRect()),c=mc(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===n.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(c=a.offset()),c.top+=n.css(a[0],"borderTopWidth",!0),c.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-n.css(d,"marginTop",!0),left:b.left-c.left-n.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Qa})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);n.fn[a]=function(d){return Y(this,function(a,d,e){var f=mc(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?n(f).scrollLeft():e,c?e:n(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ua(l.pixelPosition,function(a,c){return c?(c=Sa(a,b),Oa.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({
padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return Y(this,function(b,c,d){var e;return n.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?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({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)}}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var nc=a.jQuery,oc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=oc),b&&a.jQuery===n&&(a.jQuery=nc),n},b||(a.jQuery=a.$=n),n});

A  => assets/js/jquery.simpleWeather.min.js +2 -0
@@ 1,2 @@
/*! simpleWeather v3.1.0 - http://simpleweatherjs.com */
!function(t){"use strict";function e(t,e){return"f"===t?Math.round(5/9*(e-32)):Math.round(1.8*e+32)}t.extend({simpleWeather:function(i){i=t.extend({location:"",woeid:"",unit:"f",success:function(t){},error:function(t){}},i);var o=new Date,n="https://query.yahooapis.com/v1/public/yql?format=json&rnd="+o.getFullYear()+o.getMonth()+o.getDay()+o.getHours()+"&diagnostics=true&callback=?&q=";if(""!==i.location){var r="";r=/^(\-?\d+(\.\d+)?),\s*(\-?\d+(\.\d+)?)$/.test(i.location)?"("+i.location+")":i.location,n+='select * from weather.forecast where woeid in (select woeid from geo.places(1) where text="'+r+'") and u="'+i.unit+'"'}else{if(""===i.woeid)return i.error("Could not retrieve weather due to an invalid location."),!1;n+="select * from weather.forecast where woeid="+i.woeid+' and u="'+i.unit+'"'}return t.getJSON(encodeURI(n),function(t){if(null!==t&&null!==t.query&&null!==t.query.results&&"Yahoo! Weather Error"!==t.query.results.channel.description){var o,n=t.query.results.channel,r={},s=["N","NNE","NE","ENE","E","ESE","SE","SSE","S","SSW","SW","WSW","W","WNW","NW","NNW","N"],a="https://s.yimg.com/os/mit/media/m/weather/images/icons/l/44d-100567.png";r.title=n.item.title,r.temp=n.item.condition.temp,r.code=n.item.condition.code,r.todayCode=n.item.forecast[0].code,r.currently=n.item.condition.text,r.high=n.item.forecast[0].high,r.low=n.item.forecast[0].low,r.text=n.item.forecast[0].text,r.humidity=n.atmosphere.humidity,r.pressure=n.atmosphere.pressure,r.rising=n.atmosphere.rising,r.visibility=n.atmosphere.visibility,r.sunrise=n.astronomy.sunrise,r.sunset=n.astronomy.sunset,r.description=n.item.description,r.city=n.location.city,r.country=n.location.country,r.region=n.location.region,r.updated=n.item.pubDate,r.link=n.item.link,r.units={temp:n.units.temperature,distance:n.units.distance,pressure:n.units.pressure,speed:n.units.speed},r.wind={chill:n.wind.chill,direction:s[Math.round(n.wind.direction/22.5)],speed:n.wind.speed},n.item.condition.temp<80&&n.atmosphere.humidity<40?r.heatindex=-42.379+2.04901523*n.item.condition.temp+10.14333127*n.atmosphere.humidity-.22475541*n.item.condition.temp*n.atmosphere.humidity-6.83783*Math.pow(10,-3)*Math.pow(n.item.condition.temp,2)-5.481717*Math.pow(10,-2)*Math.pow(n.atmosphere.humidity,2)+1.22874*Math.pow(10,-3)*Math.pow(n.item.condition.temp,2)*n.atmosphere.humidity+8.5282*Math.pow(10,-4)*n.item.condition.temp*Math.pow(n.atmosphere.humidity,2)-1.99*Math.pow(10,-6)*Math.pow(n.item.condition.temp,2)*Math.pow(n.atmosphere.humidity,2):r.heatindex=n.item.condition.temp,"3200"==n.item.condition.code?(r.thumbnail=a,r.image=a):(r.thumbnail="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/"+n.item.condition.code+"ds.png",r.image="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/"+n.item.condition.code+"d.png"),r.alt={temp:e(i.unit,n.item.condition.temp),high:e(i.unit,n.item.forecast[0].high),low:e(i.unit,n.item.forecast[0].low)},"f"===i.unit?r.alt.unit="c":r.alt.unit="f",r.forecast=[];for(var m=0;m<n.item.forecast.length;m++)o=n.item.forecast[m],o.alt={high:e(i.unit,n.item.forecast[m].high),low:e(i.unit,n.item.forecast[m].low)},"3200"==n.item.forecast[m].code?(o.thumbnail=a,o.image=a):(o.thumbnail="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/"+n.item.forecast[m].code+"ds.png",o.image="https://s.yimg.com/zz/combo?a/i/us/nws/weather/gr/"+n.item.forecast[m].code+"d.png"),r.forecast.push(o);i.success(r)}else i.error("There was a problem retrieving the latest weather information.")}),this}})}(jQuery);
\ No newline at end of file

A  => assets/js/main.js +3 -0
@@ 1,3 @@
//= require jquery.min
//= require slideout.min
//= require bitcoinprices.min

A  => assets/js/moment-timezone.min.js +7 -0
@@ 1,7 @@
//! moment-timezone.js
//! version : 0.5.10
//! Copyright (c) JS Foundation and other contributors
//! license : MIT
//! github.com/moment/moment-timezone
!function(a,b){"use strict";"function"==typeof define&&define.amd?define(["moment"],b):"object"==typeof module&&module.exports?module.exports=b(require("moment")):b(a.moment)}(this,function(a){"use strict";function b(a){return a>96?a-87:a>64?a-29:a-48}function c(a){var c,d=0,e=a.split("."),f=e[0],g=e[1]||"",h=1,i=0,j=1;for(45===a.charCodeAt(0)&&(d=1,j=-1),d;d<f.length;d++)c=b(f.charCodeAt(d)),i=60*i+c;for(d=0;d<g.length;d++)h/=60,c=b(g.charCodeAt(d)),i+=c*h;return i*j}function d(a){for(var b=0;b<a.length;b++)a[b]=c(a[b])}function e(a,b){for(var c=0;c<b;c++)a[c]=Math.round((a[c-1]||0)+6e4*a[c]);a[b-1]=1/0}function f(a,b){var c,d=[];for(c=0;c<b.length;c++)d[c]=a[b[c]];return d}function g(a){var b=a.split("|"),c=b[2].split(" "),g=b[3].split(""),h=b[4].split(" ");return d(c),d(g),d(h),e(h,g.length),{name:b[0],abbrs:f(b[1].split(" "),g),offsets:f(c,g),untils:h,population:0|b[5]}}function h(a){a&&this._set(g(a))}function i(a){var b=a.toTimeString(),c=b.match(/\([a-z ]+\)/i);c&&c[0]?(c=c[0].match(/[A-Z]/g),c=c?c.join(""):void 0):(c=b.match(/[A-Z]{3,5}/g),c=c?c[0]:void 0),"GMT"===c&&(c=void 0),this.at=+a,this.abbr=c,this.offset=a.getTimezoneOffset()}function j(a){this.zone=a,this.offsetScore=0,this.abbrScore=0}function k(a,b){for(var c,d;d=6e4*((b.at-a.at)/12e4|0);)c=new i(new Date(a.at+d)),c.offset===a.offset?a=c:b=c;return a}function l(){var a,b,c,d=(new Date).getFullYear()-2,e=new i(new Date(d,0,1)),f=[e];for(c=1;c<48;c++)b=new i(new Date(d,c,1)),b.offset!==e.offset&&(a=k(e,b),f.push(a),f.push(new i(new Date(a.at+6e4)))),e=b;for(c=0;c<4;c++)f.push(new i(new Date(d+c,0,1))),f.push(new i(new Date(d+c,6,1)));return f}function m(a,b){return a.offsetScore!==b.offsetScore?a.offsetScore-b.offsetScore:a.abbrScore!==b.abbrScore?a.abbrScore-b.abbrScore:b.zone.population-a.zone.population}function n(a,b){var c,e;for(d(b),c=0;c<b.length;c++)e=b[c],I[e]=I[e]||{},I[e][a]=!0}function o(a){var b,c,d,e=a.length,f={},g=[];for(b=0;b<e;b++){d=I[a[b].offset]||{};for(c in d)d.hasOwnProperty(c)&&(f[c]=!0)}for(b in f)f.hasOwnProperty(b)&&g.push(H[b]);return g}function p(){try{var a=Intl.DateTimeFormat().resolvedOptions().timeZone;if(a){var b=H[r(a)];if(b)return b;z("Moment Timezone found "+a+" from the Intl api, but did not have that data loaded.")}}catch(c){}var d,e,f,g=l(),h=g.length,i=o(g),k=[];for(e=0;e<i.length;e++){for(d=new j(t(i[e]),h),f=0;f<h;f++)d.scoreOffsetAt(g[f]);k.push(d)}return k.sort(m),k.length>0?k[0].zone.name:void 0}function q(a){return D&&!a||(D=p()),D}function r(a){return(a||"").toLowerCase().replace(/\//g,"_")}function s(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)d=a[b].split("|"),c=d[0],e=r(c),F[e]=a[b],H[e]=c,d[5]&&n(e,d[2].split(" "))}function t(a,b){a=r(a);var c,d=F[a];return d instanceof h?d:"string"==typeof d?(d=new h(d),F[a]=d,d):G[a]&&b!==t&&(c=t(G[a],t))?(d=F[a]=new h,d._set(c),d.name=H[a],d):null}function u(){var a,b=[];for(a in H)H.hasOwnProperty(a)&&(F[a]||F[G[a]])&&H[a]&&b.push(H[a]);return b.sort()}function v(a){var b,c,d,e;for("string"==typeof a&&(a=[a]),b=0;b<a.length;b++)c=a[b].split("|"),d=r(c[0]),e=r(c[1]),G[d]=e,H[d]=c[0],G[e]=d,H[e]=c[1]}function w(a){s(a.zones),v(a.links),A.dataVersion=a.version}function x(a){return x.didShowError||(x.didShowError=!0,z("moment.tz.zoneExists('"+a+"') has been deprecated in favor of !moment.tz.zone('"+a+"')")),!!t(a)}function y(a){return!(!a._a||void 0!==a._tzm)}function z(a){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(a)}function A(b){var c=Array.prototype.slice.call(arguments,0,-1),d=arguments[arguments.length-1],e=t(d),f=a.utc.apply(null,c);return e&&!a.isMoment(b)&&y(f)&&f.add(e.parse(f),"minutes"),f.tz(d),f}function B(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function C(a){return function(){return this._z=null,a.apply(this,arguments)}}if(void 0!==a.tz)return z("Moment Timezone "+a.tz.version+" was already loaded "+(a.tz.dataVersion?"with data from ":"without any data")+a.tz.dataVersion),a;var D,E="0.5.10",F={},G={},H={},I={},J=a.version.split("."),K=+J[0],L=+J[1];(K<2||2===K&&L<6)&&z("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+a.version+". See momentjs.com"),h.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets,this.population=a.population},_index:function(a){var b,c=+a,d=this.untils;for(b=0;b<d.length;b++)if(c<d[b])return b},parse:function(a){var b,c,d,e,f=+a,g=this.offsets,h=this.untils,i=h.length-1;for(e=0;e<i;e++)if(b=g[e],c=g[e+1],d=g[e?e-1:e],b<c&&A.moveAmbiguousForward?b=c:b>d&&A.moveInvalidForward&&(b=d),f<h[e]-6e4*b)return g[e];return g[i]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return this.offsets[this._index(a)]}},j.prototype.scoreOffsetAt=function(a){this.offsetScore+=Math.abs(this.zone.offset(a.at)-a.offset),this.zone.abbr(a.at).replace(/[^A-Z]/g,"")!==a.abbr&&this.abbrScore++},A.version=E,A.dataVersion="",A._zones=F,A._links=G,A._names=H,A.add=s,A.link=v,A.load=w,A.zone=t,A.zoneExists=x,A.guess=q,A.names=u,A.Zone=h,A.unpack=g,A.unpackBase60=c,A.needsOffset=y,A.moveInvalidForward=!0,A.moveAmbiguousForward=!1;var M=a.fn;a.tz=A,a.defaultZone=null,a.updateOffset=function(b,c){var d,e=a.defaultZone;void 0===b._z&&(e&&y(b)&&!b._isUTC&&(b._d=a.utc(b._a)._d,b.utc().add(e.parse(b),"minutes")),b._z=e),b._z&&(d=b._z.offset(b),Math.abs(d)<16&&(d/=60),void 0!==b.utcOffset?b.utcOffset(-d,c):b.zone(d,c))},M.tz=function(b){return b?(this._z=t(b),this._z?a.updateOffset(this):z("Moment Timezone has no data for "+b+". See http://momentjs.com/timezone/docs/#/data-loading/."),this):this._z?this._z.name:void 0},M.zoneName=B(M.zoneName),M.zoneAbbr=B(M.zoneAbbr),M.utc=C(M.utc),a.tz.setDefault=function(b){return(K<2||2===K&&L<9)&&z("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+a.version+"."),a.defaultZone=b?t(b):null,a};var N=a.momentProperties;return"[object Array]"===Object.prototype.toString.call(N)?(N.push("_z"),N.push("_a")):N&&(N._z=null),w({version:"2016j",zones:["Africa/Abidjan|GMT|0|0||48e5","Africa/Khartoum|EAT|-30|0||51e5","Africa/Algiers|CET|-10|0||26e5","Africa/Lagos|WAT|-10|0||17e6","Africa/Maputo|CAT|-20|0||26e5","Africa/Cairo|EET EEST|-20 -30|010101010|1Cby0 Fb0 c10 8n0 8Nd0 gL0 e10 mn0|15e6","Africa/Casablanca|WET WEST|0 -10|01010101010101010101010101010101010101010|1Cco0 Db0 1zd0 Lz0 1Nf0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 Rc0 11A0 e00 e00 U00 11A0 8o0 e00 11A0|32e5","Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|11e6","Africa/Johannesburg|SAST|-20|0||84e5","Africa/Tripoli|EET CET CEST|-20 -10 -20|0120|1IlA0 TA0 1o00|11e5","Africa/Windhoek|WAST WAT|-20 -10|01010101010101010101010|1C1c0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 11B0|32e4","America/Adak|HST HDT|a0 90|01010101010101010101010|1BR00 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|326","America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1BQX0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|30e4","America/Santo_Domingo|AST|40|0||29e5","America/Araguaina|BRT BRST|30 20|010|1IdD0 Lz0|14e4","America/Argentina/Buenos_Aires|ART|30|0|","America/Asuncion|PYST PYT|30 40|01010101010101010101010|1C430 1a10 1fz0 1a10 1fz0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0|28e5","America/Panama|EST|50|0||15e5","America/Bahia|BRT BRST|30 20|010|1FJf0 Rb0|27e5","America/Bahia_Banderas|MST CDT CST|70 50 60|01212121212121212121212|1C1l0 1nW0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|84e3","America/Fortaleza|BRT|30|0||34e5","America/Managua|CST|60|0||22e5","America/Manaus|AMT|40|0||19e5","America/Bogota|COT|50|0||90e5","America/Denver|MST MDT|70 60|01010101010101010101010|1BQV0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|26e5","America/Campo_Grande|AMST AMT|30 40|01010101010101010101010|1BIr0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10|77e4","America/Cancun|CST CDT EST|60 50 50|010101010102|1C1k0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|VET VET|4u 40|01|1QMT0|29e5","America/Cayenne|GFT|30|0||58e3","America/Chicago|CST CDT|60 50|01010101010101010101010|1BQU0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|92e5","America/Chihuahua|MST MDT|70 60|01010101010101010101010|1C1l0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|81e4","America/Phoenix|MST|70|0||42e5","America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1BQW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|15e6","America/New_York|EST EDT|50 40|01010101010101010101010|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|21e6","America/Rio_Branco|AMT ACT|40 50|01|1KLE0|31e4","America/Fort_Nelson|PST PDT MST|80 70 70|010101010102|1BQW0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Halifax|AST ADT|40 30|01010101010101010101010|1BQS0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|39e4","America/Godthab|WGT WGST|30 20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|17e3","America/Goose_Bay|AST ADT|40 30|01010101010101010101010|1BQQ1 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|76e2","America/Grand_Turk|EST EDT AST|50 40 40|0101010101012|1BQT0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|37e2","America/Guayaquil|ECT|50|0||27e5","America/Guyana|GYT|40|0||80e4","America/Havana|CST CDT|50 40|01010101010101010101010|1BQR0 1wo0 U00 1zc0 U00 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0|21e5","America/La_Paz|BOT|40|0||19e5","America/Lima|PET|50|0||11e6","America/Mexico_City|CST CDT|60 50|01010101010101010101010|1C1k0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0|20e6","America/Metlakatla|PST AKST AKDT|80 90 80|012121212121|1PAa0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|14e2","America/Miquelon|PMST PMDT|30 20|01010101010101010101010|1BQR0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|61e2","America/Montevideo|UYST UYT|20 30|010101010101|1BQQ0 1ld0 14n0 1ld0 14n0 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Noronha|FNT|20|0||30e2","America/North_Dakota/Beulah|MST MDT CST CDT|70 60 60 50|01232323232323232323232|1BQV0 1zb0 Oo0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0","America/Paramaribo|SRT|30|0||24e4","America/Port-au-Prince|EST EDT|50 40|010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|23e5","America/Santiago|CLST CLT|30 40|010101010101010101010|1C1f0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|62e5","America/Sao_Paulo|BRST BRT|20 30|01010101010101010101010|1BIq0 1zd0 On0 1zd0 Rb0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1C10 Lz0 1C10 Lz0 1C10|20e6","America/Scoresbysund|EGT EGST|10 0|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|452","America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1BQPv 1zb0 Op0 1zcX Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0|11e4","Antarctica/Casey|+11 +08|-b0 -80|01010|1BN30 40P0 KL0 blz0|10","Antarctica/Davis|+05 +07|-50 -70|0101|1BPw0 3Wn0 KN0|70","Antarctica/DumontDUrville|+10|-a0|0||80","Antarctica/Macquarie|AEDT MIST|-b0 -b0|01|1C140|1","Asia/Tashkent|+05|-50|0||23e5","Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1C120 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|14e5","Antarctica/Rothera|-03|30|0||130","Antarctica/Syowa|+03|-30|0||20","Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|40","Asia/Almaty|+06|-60|0||15e5","Asia/Baghdad|AST|-30|0||66e5","Asia/Amman|EET EEST|-20 -30|010101010101010101010|1BVy0 1qM0 11A0 1o00 11A0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0|25e5","Asia/Kamchatka|+12 +11|-c0 -b0|010|1Dp30 WM0|18e4","Asia/Baku|+04 +05|-40 -50|0101010101010|1BWo0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|ICT|-70|0||15e6","Asia/Barnaul|+06 +07|-60 -70|010101|1BWk0 1qM0 WM0 8Hz0 3rd0","Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1BWm0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0|22e5","Asia/Brunei|BNT|-80|0||42e4","Asia/Kolkata|IST|-5u|0||15e6","Asia/Chita|+09 +10 +08|-90 -a0 -80|010120|1BWh0 1qM0 WM0 8Hz0 3re0|33e4","Asia/Choibalsan|CHOT CHOST|-80 -90|0101010101010|1O8G0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0|38e3","Asia/Shanghai|CST|-80|0||23e6","Asia/Colombo|+0530|-5u|0||22e5","Asia/Dhaka|BDT|-60|0||16e6","Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1C0m0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0|26e5","Asia/Dili|TLT|-90|0||19e4","Asia/Dubai|GST|-40|0||39e5","Asia/Famagusta|EET EEST +03|-20 -30 -30|010101010101012|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0","Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1BVW1 SKX 1xd1 MKX 1AN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|18e5","Asia/Hebron|EET EEST|-20 -30|0101010101010101010101010|1BVy0 Tb0 1xd1 MKX bB0 cn0 1cN0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0|25e4","Asia/Hong_Kong|HKT|-80|0||73e5","Asia/Hovd|HOVT HOVST|-70 -80|0101010101010|1O8H0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|+08 +09|-80 -90|01010|1BWi0 1qM0 WM0 8Hz0|60e4","Europe/Istanbul|EET EEST +03|-20 -30 -30|010101010101012|1BWp0 1qM0 Xc0 1qo0 WM0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|WIB|-70|0||31e6","Asia/Jayapura|WIT|-90|0||26e4","Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1BVA0 17X0 1kp0 1dz0 1c10 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0|81e4","Asia/Kabul|AFT|-4u|0||46e5","Asia/Karachi|PKT|-50|0||24e6","Asia/Urumqi|XJT|-60|0||32e5","Asia/Kathmandu|NPT|-5J|0||12e5","Asia/Khandyga|+10 +11 +09|-a0 -b0 -90|010102|1BWg0 1qM0 WM0 17V0 7zD0|66e2","Asia/Krasnoyarsk|+07 +08|-70 -80|01010|1BWj0 1qM0 WM0 8Hz0|10e5","Asia/Kuala_Lumpur|MYT|-80|0||71e5","Asia/Magadan|+11 +12 +10|-b0 -c0 -a0|010120|1BWf0 1qM0 WM0 8Hz0 3Cq0|95e3","Asia/Makassar|WITA|-80|0||15e5","Asia/Manila|PHT|-80|0||24e6","Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|35e5","Asia/Novokuznetsk|+07 +06|-70 -60|010|1Dp80 WM0|55e4","Asia/Novosibirsk|+06 +07|-60 -70|010101|1BWk0 1qM0 WM0 8Hz0 4eN0|15e5","Asia/Omsk|+06 +07|-60 -70|01010|1BWk0 1qM0 WM0 8Hz0|12e5","Asia/Pyongyang|KST KST|-90 -8u|01|1P4D0|29e5","Asia/Rangoon|MMT|-6u|0||48e5","Asia/Sakhalin|+10 +11|-a0 -b0|010101|1BWg0 1qM0 WM0 8Hz0 3rd0|58e4","Asia/Seoul|KST|-90|0||23e6","Asia/Singapore|SGT|-80|0||56e5","Asia/Srednekolymsk|+11 +12|-b0 -c0|01010|1BWf0 1qM0 WM0 8Hz0|35e2","Asia/Tbilisi|+04|-40|0||11e5","Asia/Tehran|IRST IRDT|-3u -4u|01010101010101010101010|1BTUu 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0|14e6","Asia/Thimphu|BTT|-60|0||79e3","Asia/Tokyo|JST|-90|0||38e6","Asia/Tomsk|+06 +07|-60 -70|010101|1BWk0 1qM0 WM0 8Hz0 3Qp0|10e5","Asia/Ulaanbaatar|ULAT ULAST|-80 -90|0101010101010|1O8G0 1cJ0 1cP0 1cJ0 1cP0 1fx0 1cP0 1cJ0 1cP0 1cJ0 1cP0 1cJ0|12e5","Asia/Ust-Nera|+11 +12 +10|-b0 -c0 -a0|010102|1BWf0 1qM0 WM0 17V0 7zD0|65e2","Asia/Vladivostok|+10 +11|-a0 -b0|01010|1BWg0 1qM0 WM0 8Hz0|60e4","Asia/Yakutsk|+09 +10|-90 -a0|01010|1BWh0 1qM0 WM0 8Hz0|28e4","Asia/Yekaterinburg|+05 +06|-50 -60|01010|1BWl0 1qM0 WM0 8Hz0|14e5","Asia/Yerevan|+04 +05|-40 -50|01010|1BWm0 1qM0 WM0 1qM0|13e5","Atlantic/Azores|AZOT AZOST|10 0|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|25e4","Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|27e5","Atlantic/Cape_Verde|CVT|10|0||50e4","Atlantic/South_Georgia|GST|20|0||30","Atlantic/Stanley|FKST FKT|30 40|010|1C6R0 U10|21e2","Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1C140 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1C14u 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST|-a0|0||20e5","Australia/Darwin|ACST|-9u|0||12e4","Australia/Eucla|ACWST|-8J|0||368","Australia/Lord_Howe|LHDT LHST|-b0 -au|01010101010101010101010|1C130 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu|347","Australia/Perth|AWST|-80|0||18e5","Pacific/Easter|EASST EAST|50 60|010101010101010101010|1C1f0 1fB0 1nX0 G10 1EL0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1Nb0 Ap0|30e2","Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|12e5","Etc/GMT+1|-01|10|0|","Etc/GMT+10|-10|a0|0|","Etc/GMT+11|-11|b0|0|","Etc/GMT+12|-12|c0|0|","Etc/GMT+2|-02|20|0|","Etc/GMT+4|-04|40|0|","Etc/GMT+5|-05|50|0|","Etc/GMT+6|-06|60|0|","Etc/GMT+7|-07|70|0|","Etc/GMT+8|-08|80|0|","Etc/GMT+9|-09|90|0|","Etc/GMT-1|+01|-10|0|","Etc/GMT-11|+11|-b0|0|","Etc/GMT-12|+12|-c0|0|","Etc/GMT-13|+13|-d0|0|","Etc/GMT-14|+14|-e0|0|","Etc/GMT-2|+02|-20|0|","Etc/GMT-7|+07|-70|0|","Etc/GMT-8|+08|-80|0|","Etc/GMT-9|+09|-90|0|","Etc/UCT|UCT|0|0|","Etc/UTC|UTC|0|0|","Europe/Astrakhan|+03 +04|-30 -40|010101|1BWn0 1qM0 WM0 8Hz0 3rd0","Europe/London|GMT BST|0 -10|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|10e6","Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1BWo0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00|67e4","Europe/Kaliningrad|EET EEST +03|-20 -30 -30|01020|1BWo0 1qM0 WM0 8Hz0|44e4","Europe/Volgograd|+03 +04|-30 -40|01010|1BWn0 1qM0 WM0 8Hz0|10e5","Europe/Minsk|EET EEST +03|-20 -30 -30|0102|1BWo0 1qM0 WM0|19e5","Europe/Moscow|MSK MSD MSK|-30 -40 -40|01020|1BWn0 1qM0 WM0 8Hz0|16e6","Europe/Samara|+04 +03|-40 -30|010|1Dpb0 WM0|12e5","Europe/Saratov|+03 +04|-30 -40|010101|1BWn0 1qM0 WM0 8Hz0 5810","Europe/Simferopol|EET EEST MSK MSK|-20 -30 -40 -30|01010101023|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11z0 1nW0|33e4","Pacific/Honolulu|HST|a0|0||37e4","Indian/Chagos|IOT|-60|0||30e2","Indian/Christmas|CXT|-70|0||21e2","Indian/Cocos|CCT|-6u|0||596","Indian/Mahe|SCT|-40|0||79e3","Indian/Maldives|MVT|-50|0||35e4","Indian/Mauritius|MUT|-40|0||15e4","Indian/Reunion|RET|-40|0||84e4","Pacific/Majuro|MHT|-c0|0||28e3","MET|MET MEST|-10 -20|01010101010101010101010|1BWp0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00","Pacific/Chatham|CHADT CHAST|-dJ -cJ|01010101010101010101010|1C120 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|SST SDT WSDT WSST|b0 a0 -e0 -d0|01012323232323232323232|1Dbn0 1ff0 1a00 CI0 AQ0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|PGT BST|-a0 -b0|01|1NwE0|18e4","Pacific/Chuuk|CHUT|-a0|0||49e3","Pacific/Efate|VUT|-b0|0||66e3","Pacific/Enderbury|PHOT|-d0|0||1","Pacific/Fakaofo|TKT TKT|b0 -d0|01|1Gfn0|483","Pacific/Fiji|FJST FJT|-d0 -c0|01010101010101010101010|1BWe0 1o00 Rc0 1wo0 Ao0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0|88e4","Pacific/Funafuti|TVT|-c0|0||45e2","Pacific/Galapagos|GALT|60|0||25e3","Pacific/Gambier|GAMT|90|0||125","Pacific/Guadalcanal|SBT|-b0|0||11e4","Pacific/Guam|ChST|-a0|0||17e4","Pacific/Kiritimati|LINT|-e0|0||51e2","Pacific/Kosrae|KOST|-b0|0||66e2","Pacific/Marquesas|MART|9u|0||86e2","Pacific/Pago_Pago|SST|b0|0||37e2","Pacific/Nauru|NRT|-c0|0||10e3","Pacific/Niue|NUT|b0|0||12e2","Pacific/Norfolk|NFT NFT|-bu -b0|01|1PoCu|25e4","Pacific/Noumea|NCT|-b0|0||98e3","Pacific/Palau|PWT|-90|0||21e3","Pacific/Pitcairn|PST|80|0||56","Pacific/Pohnpei|PONT|-b0|0||34e3","Pacific/Port_Moresby|PGT|-a0|0||25e4","Pacific/Rarotonga|CKT|a0|0||13e3","Pacific/Tahiti|TAHT|a0|0||18e4","Pacific/Tarawa|GILT|-c0|0||29e3","Pacific/Tongatapu|+13 +14|-d0 -e0|0101010101|1S4d0 s00 1VA0 uM0 1SM0 uM0 1SM0 uM0 1SM0|75e3","Pacific/Wake|WAKT|-c0|0||16e3","Pacific/Wallis|WFT|-c0|0||94"],links:["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Bissau","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Monrovia","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Sao_Tome","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|America/Danmarkshavn","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Etc/GMT","Africa/Abidjan|Etc/GMT+0","Africa/Abidjan|Etc/GMT-0","Africa/Abidjan|Etc/GMT0","Africa/Abidjan|Etc/Greenwich","Africa/Abidjan|GMT","Africa/Abidjan|GMT+0","Africa/Abidjan|GMT-0","Africa/Abidjan|GMT0","Africa/Abidjan|Greenwich","Africa/Abidjan|Iceland","Africa/Algiers|Africa/Tunis","Africa/Cairo|Egypt","Africa/Casablanca|Africa/El_Aaiun","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Khartoum|Africa/Addis_Ababa","Africa/Khartoum|Africa/Asmara","Africa/Khartoum|Africa/Asmera","Africa/Khartoum|Africa/Dar_es_Salaam","Africa/Khartoum|Africa/Djibouti","Africa/Khartoum|Africa/Juba","Africa/Khartoum|Africa/Kampala","Africa/Khartoum|Africa/Mogadishu","Africa/Khartoum|Africa/Nairobi","Africa/Khartoum|Indian/Antananarivo","Africa/Khartoum|Indian/Comoro","Africa/Khartoum|Indian/Mayotte","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Ndjamena","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|America/Juneau","America/Anchorage|America/Nome","America/Anchorage|America/Sitka","America/Anchorage|America/Yakutat","America/Anchorage|US/Alaska","America/Argentina/Buenos_Aires|America/Argentina/Catamarca","America/Argentina/Buenos_Aires|America/Argentina/ComodRivadavia","America/Argentina/Buenos_Aires|America/Argentina/Cordoba","America/Argentina/Buenos_Aires|America/Argentina/Jujuy","America/Argentina/Buenos_Aires|America/Argentina/La_Rioja","America/Argentina/Buenos_Aires|America/Argentina/Mendoza","America/Argentina/Buenos_Aires|America/Argentina/Rio_Gallegos","America/Argentina/Buenos_Aires|America/Argentina/Salta","America/Argentina/Buenos_Aires|America/Argentina/San_Juan","America/Argentina/Buenos_Aires|America/Argentina/San_Luis","America/Argentina/Buenos_Aires|America/Argentina/Tucuman","America/Argentina/Buenos_Aires|America/Argentina/Ushuaia","America/Argentina/Buenos_Aires|America/Buenos_Aires","America/Argentina/Buenos_Aires|America/Catamarca","America/Argentina/Buenos_Aires|America/Cordoba","America/Argentina/Buenos_Aires|America/Jujuy","America/Argentina/Buenos_Aires|America/Mendoza","America/Argentina/Buenos_Aires|America/Rosario","America/Campo_Grande|America/Cuiaba","America/Chicago|America/Indiana/Knox","America/Chicago|America/Indiana/Tell_City","America/Chicago|America/Knox_IN","America/Chicago|America/Matamoros","America/Chicago|America/Menominee","America/Chicago|America/North_Dakota/Center","America/Chicago|America/North_Dakota/New_Salem","America/Chicago|America/Rainy_River","America/Chicago|America/Rankin_Inlet","America/Chicago|America/Resolute","America/Chicago|America/Winnipeg","America/Chicago|CST6CDT","America/Chicago|Canada/Central","America/Chicago|US/Central","America/Chicago|US/Indiana-Starke","America/Chihuahua|America/Mazatlan","America/Chihuahua|Mexico/BajaSur","America/Denver|America/Boise","America/Denver|America/Cambridge_Bay","America/Denver|America/Edmonton","America/Denver|America/Inuvik","America/Denver|America/Ojinaga","America/Denver|America/Shiprock","America/Denver|America/Yellowknife","America/Denver|Canada/Mountain","America/Denver|MST7MDT","America/Denver|Navajo","America/Denver|US/Mountain","America/Fortaleza|America/Belem","America/Fortaleza|America/Maceio","America/Fortaleza|America/Recife","America/Fortaleza|America/Santarem","America/Halifax|America/Glace_Bay","America/Halifax|America/Moncton","America/Halifax|America/Thule","America/Halifax|Atlantic/Bermuda","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/Los_Angeles|America/Dawson","America/Los_Angeles|America/Ensenada","America/Los_Angeles|America/Santa_Isabel","America/Los_Angeles|America/Tijuana","America/Los_Angeles|America/Vancouver","America/Los_Angeles|America/Whitehorse","America/Los_Angeles|Canada/Pacific","America/Los_Angeles|Canada/Yukon","America/Los_Angeles|Mexico/BajaNorte","America/Los_Angeles|PST8PDT","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Managua|America/Belize","America/Managua|America/Costa_Rica","America/Managua|America/El_Salvador","America/Managua|America/Guatemala","America/Managua|America/Regina","America/Managua|America/Swift_Current","America/Managua|America/Tegucigalpa","America/Managua|Canada/East-Saskatchewan","America/Managua|Canada/Saskatchewan","America/Manaus|America/Boa_Vista","America/Manaus|America/Porto_Velho","America/Manaus|Brazil/West","America/Mexico_City|America/Merida","America/Mexico_City|America/Monterrey","America/Mexico_City|Mexico/General","America/New_York|America/Detroit","America/New_York|America/Fort_Wayne","America/New_York|America/Indiana/Indianapolis","America/New_York|America/Indiana/Marengo","America/New_York|America/Indiana/Petersburg","America/New_York|America/Indiana/Vevay","America/New_York|America/Indiana/Vincennes","America/New_York|America/Indiana/Winamac","America/New_York|America/Indianapolis","America/New_York|America/Iqaluit","America/New_York|America/Kentucky/Louisville","America/New_York|America/Kentucky/Monticello","America/New_York|America/Louisville","America/New_York|America/Montreal","America/New_York|America/Nassau","America/New_York|America/Nipigon","America/New_York|America/Pangnirtung","America/New_York|America/Thunder_Bay","America/New_York|America/Toronto","America/New_York|Canada/Eastern","America/New_York|EST5EDT","America/New_York|US/East-Indiana","America/New_York|US/Eastern","America/New_York|US/Michigan","America/Noronha|Brazil/DeNoronha","America/Panama|America/Atikokan","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Panama|America/Jamaica","America/Panama|EST","America/Panama|Jamaica","America/Phoenix|America/Creston","America/Phoenix|America/Dawson_Creek","America/Phoenix|America/Hermosillo","America/Phoenix|MST","America/Phoenix|US/Arizona","America/Rio_Branco|America/Eirunepe","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Antarctica/Palmer","America/Santiago|Chile/Continental","America/Santo_Domingo|America/Anguilla","America/Santo_Domingo|America/Antigua","America/Santo_Domingo|America/Aruba","America/Santo_Domingo|America/Barbados","America/Santo_Domingo|America/Blanc-Sablon","America/Santo_Domingo|America/Curacao","America/Santo_Domingo|America/Dominica","America/Santo_Domingo|America/Grenada","America/Santo_Domingo|America/Guadeloupe","America/Santo_Domingo|America/Kralendijk","America/Santo_Domingo|America/Lower_Princes","America/Santo_Domingo|America/Marigot","America/Santo_Domingo|America/Martinique","America/Santo_Domingo|America/Montserrat","America/Santo_Domingo|America/Port_of_Spain","America/Santo_Domingo|America/Puerto_Rico","America/Santo_Domingo|America/St_Barthelemy","America/Santo_Domingo|America/St_Kitts","America/Santo_Domingo|America/St_Lucia","America/Santo_Domingo|America/St_Thomas","America/Santo_Domingo|America/St_Vincent","America/Santo_Domingo|America/Tortola","America/Santo_Domingo|America/Virgin","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","Antarctica/DumontDUrville|Etc/GMT-10","Antarctica/Rothera|Etc/GMT+3","Antarctica/Syowa|Etc/GMT-3","Asia/Almaty|Antarctica/Vostok","Asia/Almaty|Asia/Bishkek","Asia/Almaty|Asia/Qyzylorda","Asia/Almaty|Etc/GMT-6","Asia/Baghdad|Asia/Aden","Asia/Baghdad|Asia/Bahrain","Asia/Baghdad|Asia/Kuwait","Asia/Baghdad|Asia/Qatar","Asia/Baghdad|Asia/Riyadh","Asia/Bangkok|Asia/Ho_Chi_Minh","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Saigon","Asia/Bangkok|Asia/Vientiane","Asia/Dhaka|Asia/Dacca","Asia/Dubai|Asia/Muscat","Asia/Hong_Kong|Hongkong","Asia/Jakarta|Asia/Pontianak","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kamchatka|Asia/Anadyr","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Kuching","Asia/Makassar|Asia/Ujung_Pandang","Asia/Rangoon|Asia/Yangon","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|Asia/Macao","Asia/Shanghai|Asia/Macau","Asia/Shanghai|Asia/Taipei","Asia/Shanghai|PRC","Asia/Shanghai|ROC","Asia/Singapore|Singapore","Asia/Tashkent|Antarctica/Mawson","Asia/Tashkent|Asia/Aqtau","Asia/Tashkent|Asia/Aqtobe","Asia/Tashkent|Asia/Ashgabat","Asia/Tashkent|Asia/Ashkhabad","Asia/Tashkent|Asia/Atyrau","Asia/Tashkent|Asia/Dushanbe","Asia/Tashkent|Asia/Oral","Asia/Tashkent|Asia/Samarkand","Asia/Tashkent|Etc/GMT-5","Asia/Tashkent|Indian/Kerguelen","Asia/Tbilisi|Etc/GMT-4","Asia/Tehran|Iran","Asia/Thimphu|Asia/Thimbu","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Urumqi|Asia/Kashgar","Australia/Adelaide|Australia/Broken_Hill","Australia/Adelaide|Australia/South","Australia/Adelaide|Australia/Yancowinna","Australia/Brisbane|Australia/Lindeman","Australia/Brisbane|Australia/Queensland","Australia/Darwin|Australia/North","Australia/Lord_Howe|Australia/LHI","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/Currie","Australia/Sydney|Australia/Hobart","Australia/Sydney|Australia/Melbourne","Australia/Sydney|Australia/NSW","Australia/Sydney|Australia/Tasmania","Australia/Sydney|Australia/Victoria","Etc/UCT|UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Astrakhan|Europe/Ulyanovsk","Europe/Athens|Asia/Nicosia","Europe/Athens|EET","Europe/Athens|Europe/Bucharest","Europe/Athens|Europe/Helsinki","Europe/Athens|Europe/Kiev","Europe/Athens|Europe/Mariehamn","Europe/Athens|Europe/Nicosia","Europe/Athens|Europe/Riga","Europe/Athens|Europe/Sofia","Europe/Athens|Europe/Tallinn","Europe/Athens|Europe/Uzhgorod","Europe/Athens|Europe/Vilnius","Europe/Athens|Europe/Zaporozhye","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Atlantic/Canary","Europe/Lisbon|Atlantic/Faeroe","Europe/Lisbon|Atlantic/Faroe","Europe/Lisbon|Atlantic/Madeira","Europe/Lisbon|Portugal","Europe/Lisbon|WET","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Paris|Africa/Ceuta","Europe/Paris|Arctic/Longyearbyen","Europe/Paris|Atlantic/Jan_Mayen","Europe/Paris|CET","Europe/Paris|Europe/Amsterdam","Europe/Paris|Europe/Andorra","Europe/Paris|Europe/Belgrade","Europe/Paris|Europe/Berlin","Europe/Paris|Europe/Bratislava","Europe/Paris|Europe/Brussels","Europe/Paris|Europe/Budapest","Europe/Paris|Europe/Busingen","Europe/Paris|Europe/Copenhagen","Europe/Paris|Europe/Gibraltar","Europe/Paris|Europe/Ljubljana","Europe/Paris|Europe/Luxembourg","Europe/Paris|Europe/Madrid","Europe/Paris|Europe/Malta","Europe/Paris|Europe/Monaco","Europe/Paris|Europe/Oslo","Europe/Paris|Europe/Podgorica","Europe/Paris|Europe/Prague","Europe/Paris|Europe/Rome","Europe/Paris|Europe/San_Marino","Europe/Paris|Europe/Sarajevo","Europe/Paris|Europe/Skopje","Europe/Paris|Europe/Stockholm","Europe/Paris|Europe/Tirane","Europe/Paris|Europe/Vaduz","Europe/Paris|Europe/Vatican","Europe/Paris|Europe/Vienna","Europe/Paris|Europe/Warsaw","Europe/Paris|Europe/Zagreb","Europe/Paris|Europe/Zurich","Europe/Paris|Poland","Europe/Volgograd|Europe/Kirov","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Chuuk|Pacific/Truk","Pacific/Chuuk|Pacific/Yap","Pacific/Easter|Chile/EasterIsland","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|HST","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Majuro|Kwajalein","Pacific/Majuro|Pacific/Kwajalein","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Pohnpei|Pacific/Ponape"]
}),a});

A  => assets/js/moment.min.js +551 -0
@@ 1,551 @@
//! moment.js
//! version : 2.17.1
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
!function(a,b){"object"==typeof exports&&"undefined"!=typeof module?module.exports=b():"function"==typeof define&&define.amd?define(b):a.moment=b()}(this,function(){"use strict";function a(){return od.apply(null,arguments)}
// This is done to register the method called with moment()
// without creating circular dependencies.
function b(a){od=a}function c(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function d(a){
// IE8 will treat undefined and null as object if it wasn't for
// input != null
return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function e(a){var b;for(b in a)
// even if its not own property I'd still call it non-empty
return!1;return!0}function f(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function g(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function h(a,b){var c,d=[];for(c=0;c<a.length;++c)d.push(b(a[c],c));return d}function i(a,b){return Object.prototype.hasOwnProperty.call(a,b)}function j(a,b){for(var c in b)i(b,c)&&(a[c]=b[c]);return i(b,"toString")&&(a.toString=b.toString),i(b,"valueOf")&&(a.valueOf=b.valueOf),a}function k(a,b,c,d){return rb(a,b,c,d,!0).utc()}function l(){
// We need to deep clone this object.
return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null}}function m(a){return null==a._pf&&(a._pf=l()),a._pf}function n(a){if(null==a._isValid){var b=m(a),c=qd.call(b.parsedDateParts,function(a){return null!=a}),d=!isNaN(a._d.getTime())&&b.overflow<0&&!b.empty&&!b.invalidMonth&&!b.invalidWeekday&&!b.nullInput&&!b.invalidFormat&&!b.userInvalidated&&(!b.meridiem||b.meridiem&&c);if(a._strict&&(d=d&&0===b.charsLeftOver&&0===b.unusedTokens.length&&void 0===b.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return d;a._isValid=d}return a._isValid}function o(a){var b=k(NaN);return null!=a?j(m(b),a):m(b).userInvalidated=!0,b}function p(a){return void 0===a}function q(a,b){var c,d,e;if(p(b._isAMomentObject)||(a._isAMomentObject=b._isAMomentObject),p(b._i)||(a._i=b._i),p(b._f)||(a._f=b._f),p(b._l)||(a._l=b._l),p(b._strict)||(a._strict=b._strict),p(b._tzm)||(a._tzm=b._tzm),p(b._isUTC)||(a._isUTC=b._isUTC),p(b._offset)||(a._offset=b._offset),p(b._pf)||(a._pf=m(b)),p(b._locale)||(a._locale=b._locale),rd.length>0)for(c in rd)d=rd[c],e=b[d],p(e)||(a[d]=e);return a}
// Moment prototype object
function r(b){q(this,b),this._d=new Date(null!=b._d?b._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),
// Prevent infinite loop in case updateOffset creates new moment
// objects.
sd===!1&&(sd=!0,a.updateOffset(this),sd=!1)}function s(a){return a instanceof r||null!=a&&null!=a._isAMomentObject}function t(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function u(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=t(b)),c}
// compare two arrays, return the number of differences
function v(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;d<e;d++)(c&&a[d]!==b[d]||!c&&u(a[d])!==u(b[d]))&&g++;return g+f}function w(b){a.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+b)}function x(b,c){var d=!0;return j(function(){if(null!=a.deprecationHandler&&a.deprecationHandler(null,b),d){for(var e,f=[],g=0;g<arguments.length;g++){if(e="","object"==typeof arguments[g]){e+="\n["+g+"] ";for(var h in arguments[0])e+=h+": "+arguments[0][h]+", ";e=e.slice(0,-2)}else e=arguments[g];f.push(e)}w(b+"\nArguments: "+Array.prototype.slice.call(f).join("")+"\n"+(new Error).stack),d=!1}return c.apply(this,arguments)},c)}function y(b,c){null!=a.deprecationHandler&&a.deprecationHandler(b,c),td[b]||(w(c),td[b]=!0)}function z(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function A(a){var b,c;for(c in a)b=a[c],z(b)?this[c]=b:this["_"+c]=b;this._config=a,
// Lenient ordinal parsing accepts just a number in addition to
// number + (possibly) stuff coming from _ordinalParseLenient.
this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)}function B(a,b){var c,e=j({},a);for(c in b)i(b,c)&&(d(a[c])&&d(b[c])?(e[c]={},j(e[c],a[c]),j(e[c],b[c])):null!=b[c]?e[c]=b[c]:delete e[c]);for(c in a)i(a,c)&&!i(b,c)&&d(a[c])&&(
// make sure changes to properties don't modify parent config
e[c]=j({},e[c]));return e}function C(a){null!=a&&this.set(a)}function D(a,b,c){var d=this._calendar[a]||this._calendar.sameElse;return z(d)?d.call(b,c):d}function E(a){var b=this._longDateFormat[a],c=this._longDateFormat[a.toUpperCase()];return b||!c?b:(this._longDateFormat[a]=c.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])}function F(){return this._invalidDate}function G(a){return this._ordinal.replace("%d",a)}function H(a,b,c,d){var e=this._relativeTime[c];return z(e)?e(a,b,c,d):e.replace(/%d/i,a)}function I(a,b){var c=this._relativeTime[a>0?"future":"past"];return z(c)?c(b):c.replace(/%s/i,b)}function J(a,b){var c=a.toLowerCase();Dd[c]=Dd[c+"s"]=Dd[b]=a}function K(a){return"string"==typeof a?Dd[a]||Dd[a.toLowerCase()]:void 0}function L(a){var b,c,d={};for(c in a)i(a,c)&&(b=K(c),b&&(d[b]=a[c]));return d}function M(a,b){Ed[a]=b}function N(a){var b=[];for(var c in a)b.push({unit:c,priority:Ed[c]});return b.sort(function(a,b){return a.priority-b.priority}),b}function O(b,c){return function(d){return null!=d?(Q(this,b,d),a.updateOffset(this,c),this):P(this,b)}}function P(a,b){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+b]():NaN}function Q(a,b,c){a.isValid()&&a._d["set"+(a._isUTC?"UTC":"")+b](c)}
// MOMENTS
function R(a){return a=K(a),z(this[a])?this[a]():this}function S(a,b){if("object"==typeof a){a=L(a);for(var c=N(a),d=0;d<c.length;d++)this[c[d].unit](a[c[d].unit])}else if(a=K(a),z(this[a]))return this[a](b);return this}function T(a,b,c){var d=""+Math.abs(a),e=b-d.length,f=a>=0;return(f?c?"+":"":"-")+Math.pow(10,Math.max(0,e)).toString().substr(1)+d}
// token:    'M'
// padded:   ['MM', 2]
// ordinal:  'Mo'
// callback: function () { this.month() + 1 }
function U(a,b,c,d){var e=d;"string"==typeof d&&(e=function(){return this[d]()}),a&&(Id[a]=e),b&&(Id[b[0]]=function(){return T(e.apply(this,arguments),b[1],b[2])}),c&&(Id[c]=function(){return this.localeData().ordinal(e.apply(this,arguments),a)})}function V(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function W(a){var b,c,d=a.match(Fd);for(b=0,c=d.length;b<c;b++)Id[d[b]]?d[b]=Id[d[b]]:d[b]=V(d[b]);return function(b){var e,f="";for(e=0;e<c;e++)f+=d[e]instanceof Function?d[e].call(b,a):d[e];return f}}
// format date using native date object
function X(a,b){return a.isValid()?(b=Y(b,a.localeData()),Hd[b]=Hd[b]||W(b),Hd[b](a)):a.localeData().invalidDate()}function Y(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Gd.lastIndex=0;d>=0&&Gd.test(a);)a=a.replace(Gd,c),Gd.lastIndex=0,d-=1;return a}function Z(a,b,c){$d[a]=z(b)?b:function(a,d){return a&&c?c:b}}function $(a,b){return i($d,a)?$d[a](b._strict,b._locale):new RegExp(_(a))}
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
function _(a){return aa(a.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e}))}function aa(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ba(a,b){var c,d=b;for("string"==typeof a&&(a=[a]),f(b)&&(d=function(a,c){c[b]=u(a)}),c=0;c<a.length;c++)_d[a[c]]=d}function ca(a,b){ba(a,function(a,c,d,e){d._w=d._w||{},b(a,d._w,d,e)})}function da(a,b,c){null!=b&&i(_d,a)&&_d[a](b,c._a,c,a)}function ea(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function fa(a,b){return a?c(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||ke).test(b)?"format":"standalone"][a.month()]:this._months}function ga(a,b){return a?c(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[ke.test(b)?"format":"standalone"][a.month()]:this._monthsShort}function ha(a,b,c){var d,e,f,g=a.toLocaleLowerCase();if(!this._monthsParse)for(
// this is not used
this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],d=0;d<12;++d)f=k([2e3,d]),this._shortMonthsParse[d]=this.monthsShort(f,"").toLocaleLowerCase(),this._longMonthsParse[d]=this.months(f,"").toLocaleLowerCase();return c?"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:null):(e=je.call(this._longMonthsParse,g),e!==-1?e:null):"MMM"===b?(e=je.call(this._shortMonthsParse,g),e!==-1?e:(e=je.call(this._longMonthsParse,g),e!==-1?e:null)):(e=je.call(this._longMonthsParse,g),e!==-1?e:(e=je.call(this._shortMonthsParse,g),e!==-1?e:null))}function ia(a,b,c){var d,e,f;if(this._monthsParseExact)return ha.call(this,a,b,c);
// TODO: add sorting
// Sorting makes sure if one month (or abbr) is a prefix of another
// see sorting in computeMonthsParse
for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),d=0;d<12;d++){
// test the regex
if(
// make the regex if we don't have it already