GEM
  remote: https://rubygems.org/
  specs:
    activesupport (4.2.10)
      i18n (~> 0.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.5.2)
      public_suffix (>= 2.0.2, < 4.0)
    ansi (1.5.0)
    backports (3.11.1)
    bookbindery (10.1.12)
      ansi (~> 1.4)
      css_parser
      elasticsearch
      fog-aws (~> 0.7.1)
      font-awesome-sass
      git (~> 1.2.8)
      middleman (= 4.1.10)
      middleman-compass
      middleman-livereload
      middleman-sprockets
      middleman-syntax (= 2.1.0)
      nokogiri (= 1.8.1)
      puma
      rack-rewrite
      redcarpet (~> 3.2.3)
      rouge (!= 1.9.1)
      therubyracer
      thor (= 0.19.1)
    builder (3.2.3)
    chunky_png (1.3.10)
    coffee-script (2.4.1)
      coffee-script-source
      execjs
    coffee-script-source (1.12.2)
    compass (1.0.3)
      chunky_png (~> 1.2)
      compass-core (~> 1.0.2)
      compass-import-once (~> 1.0.5)
      rb-fsevent (>= 0.9.3)
      rb-inotify (>= 0.9)
      sass (>= 3.3.13, < 3.5)
    compass-core (1.0.3)
      multi_json (~> 1.0)
      sass (>= 3.3.0, < 3.5)
    compass-import-once (1.0.5)
      sass (>= 3.2, < 3.5)
    concurrent-ruby (1.0.5)
    contracts (0.13.0)
    css_parser (1.6.0)
      addressable
    dotenv (2.2.1)
    elasticsearch (6.0.1)
      elasticsearch-api (= 6.0.1)
      elasticsearch-transport (= 6.0.1)
    elasticsearch-api (6.0.1)
      multi_json
    elasticsearch-transport (6.0.1)
      faraday
      multi_json
    em-websocket (0.5.1)
      eventmachine (>= 0.12.9)
      http_parser.rb (~> 0.6.0)
    erubis (2.7.0)
    eventmachine (1.2.5)
    excon (0.60.0)
    execjs (2.7.0)
    faraday (0.14.0)
      multipart-post (>= 1.2, < 3)
    fast_blank (1.0.0)
    fastimage (2.1.1)
    ffi (1.9.21)
    fog-aws (0.7.6)
      fog-core (~> 1.27)
      fog-json (~> 1.0)
      fog-xml (~> 0.1)
      ipaddress (~> 0.8)
    fog-core (1.45.0)
      builder
      excon (~> 0.58)
      formatador (~> 0.2)
    fog-json (1.0.2)
      fog-core (~> 1.0)
      multi_json (~> 1.10)
    fog-xml (0.1.3)
      fog-core
      nokogiri (>= 1.5.11, < 2.0.0)
    font-awesome-sass (4.7.0)
      sass (>= 3.2)
    formatador (0.2.5)
    git (1.2.9.1)
    haml (5.0.4)
      temple (>= 0.8.0)
      tilt
    hamster (3.0.0)
      concurrent-ruby (~> 1.0)
    hashie (3.5.7)
    http_parser.rb (0.6.0)
    i18n (0.7.0)
    ipaddress (0.8.3)
    kramdown (1.16.2)
    libv8 (3.16.14.7)
    listen (3.0.8)
      rb-fsevent (~> 0.9, >= 0.9.4)
      rb-inotify (~> 0.9, >= 0.9.7)
    memoist (0.16.0)
    middleman (4.1.10)
      coffee-script (~> 2.2)
      compass-import-once (= 1.0.5)
      haml (>= 4.0.5)
      kramdown (~> 1.2)
      middleman-cli (= 4.1.10)
      middleman-core (= 4.1.10)
      sass (>= 3.4.0, < 4.0)
    middleman-cli (4.1.10)
      thor (>= 0.17.0, < 2.0)
    middleman-compass (4.0.1)
      compass (>= 1.0.0, < 2.0.0)
      middleman-core (>= 4.0.0)
    middleman-core (4.1.10)
      activesupport (~> 4.2)
      addressable (~> 2.3)
      backports (~> 3.6)
      bundler (~> 1.1)
      contracts (~> 0.13.0)
      dotenv
      erubis
      execjs (~> 2.0)
      fast_blank
      fastimage (~> 2.0)
      hamster (~> 3.0)
      hashie (~> 3.4)
      i18n (~> 0.7.0)
      listen (~> 3.0.0)
      memoist (~> 0.14)
      padrino-helpers (~> 0.13.0)
      parallel
      rack (>= 1.4.5, < 2.0)
      sass (>= 3.4)
      servolux
      tilt (~> 1.4.1)
      uglifier (~> 3.0)
    middleman-livereload (3.4.6)
      em-websocket (~> 0.5.1)
      middleman-core (>= 3.3)
      rack-livereload (~> 0.3.15)
    middleman-sprockets (4.1.1)
      middleman-core (~> 4.0)
      sprockets (>= 3.0)
    middleman-syntax (2.1.0)
      middleman-core (>= 3.2)
      rouge (~> 1.0)
    mini_portile2 (2.3.0)
    minitest (5.11.3)
    multi_json (1.13.1)
    multipart-post (2.0.0)
    nokogiri (1.8.1)
      mini_portile2 (~> 2.3.0)
    padrino-helpers (0.13.3.4)
      i18n (~> 0.6, >= 0.6.7)
      padrino-support (= 0.13.3.4)
      tilt (>= 1.4.1, < 3)
    padrino-support (0.13.3.4)
      activesupport (>= 3.1)
    parallel (1.12.1)
    public_suffix (3.0.1)
    puma (3.11.2)
    rack (1.6.8)
    rack-livereload (0.3.16)
      rack
    rack-rewrite (1.5.1)
    rb-fsevent (0.10.2)
    rb-inotify (0.9.10)
      ffi (>= 0.5.0, < 2)
    redcarpet (3.2.3)
    ref (2.0.0)
    rouge (1.11.1)
    sass (3.4.25)
    servolux (0.13.0)
    sprockets (3.7.1)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    temple (0.8.0)
    therubyracer (0.12.2)
      libv8 (~> 3.16.14.0)
      ref
    thor (0.19.1)
    thread_safe (0.3.6)
    tilt (1.4.1)
    tzinfo (1.2.5)
      thread_safe (~> 0.1)
    uglifier (3.2.0)
      execjs (>= 0.3.0, < 3)

PLATFORMS
  ruby

DEPENDENCIES
  bookbindery
  libv8 (= 3.16.14.7)

BUNDLED WITH
   1.16.0
