GEM
  remote: https://rubygems.org/
  specs:
    activesupport (4.2.11.1)
      i18n (~> 0.7)
      minitest (~> 5.1)
      thread_safe (~> 0.3, >= 0.3.4)
      tzinfo (~> 1.1)
    addressable (2.6.0)
      public_suffix (>= 2.0.2, < 4.0)
    ansi (1.5.0)
    backports (3.15.0)
    bookbindery (10.1.15)
      ansi (~> 1.4)
      css_parser
      elasticsearch
      fog-aws (~> 0.7.1)
      font-awesome-sass (= 4.7.0)
      git (~> 1.2.8)
      middleman (= 4.1.10)
      middleman-compass
      middleman-livereload
      middleman-sprockets
      middleman-syntax (= 2.1.0)
      nokogiri (= 1.10.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.11)
    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.1.5)
    contracts (0.13.0)
    css_parser (1.7.0)
      addressable
    dotenv (2.7.2)
    elasticsearch (7.1.0)
      elasticsearch-api (= 7.1.0)
      elasticsearch-transport (= 7.1.0)
    elasticsearch-api (7.1.0)
      multi_json
    elasticsearch-transport (7.1.0)
      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.7)
    excon (0.64.0)
    execjs (2.7.0)
    faraday (0.15.4)
      multipart-post (>= 1.2, < 3)
    fast_blank (1.0.0)
    fastimage (2.1.5)
    ffi (1.11.1)
    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.2.0)
      fog-core
      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.1.1)
      temple (>= 0.8.0)
      tilt
    hamster (3.0.0)
      concurrent-ruby (~> 1.0)
    hashie (3.6.0)
    http_parser.rb (0.6.0)
    i18n (0.7.0)
    ipaddress (0.8.3)
    kramdown (1.17.0)
    libv8 (3.16.14.19-x86_64-darwin-18)
    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.4.0)
    minitest (5.11.3)
    multi_json (1.13.1)
    multipart-post (2.1.1)
    nokogiri (1.10.1)
      mini_portile2 (~> 2.4.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.17.0)
    public_suffix (3.1.0)
    puma (3.12.1)
    rack (1.6.11)
    rack-livereload (0.3.17)
      rack
    rack-rewrite (1.5.1)
    rb-fsevent (0.10.3)
    rb-inotify (0.10.0)
      ffi (~> 1.0)
    redcarpet (3.2.3)
    ref (2.0.0)
    rouge (1.11.1)
    sass (3.4.25)
    servolux (0.13.0)
    sprockets (3.7.2)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    temple (0.8.1)
    therubyracer (0.12.3)
      libv8 (~> 3.16.14.15)
      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

BUNDLED WITH
   1.16.6
