packages feed

yesod 1.1.9.4 → 1.2.0

raw patch · 24 files changed

+493/−36992 lines, 24 filesdep +data-defaultdep +safedep +unixdep −Cabaldep −attoparsecdep −base64-bytestringdep ~basedep ~bytestringdep ~directory

Dependencies added: data-default, safe, unix

Dependencies removed: Cabal, attoparsec, base64-bytestring, blaze-builder, conduit, containers, file-embed, filepath, fsnotify, ghc, ghc-paths, http-conduit, http-reverse-proxy, http-types, lifted-base, network, optparse-applicative, parsec, process, project-template, resourcet, shakespeare, shakespeare-text, split, system-fileio, system-filepath, tar, time, unix-compat, yesod-default, yesod-json, zlib

Dependency ranges changed: base, bytestring, directory, shakespeare-css, text, yaml, yesod-auth, yesod-core, yesod-form, yesod-persistent

Files

− AddHandler.hs
@@ -1,113 +0,0 @@-module AddHandler (addHandler) where--import Prelude hiding (readFile)-import System.IO (hFlush, stdout)-import Data.Char (isLower, toLower, isSpace)-import Data.List (isPrefixOf, isSuffixOf)-import qualified Data.Text as T-import qualified Data.Text.IO as TIO-import System.Directory (getDirectoryContents)---- strict readFile-readFile :: FilePath -> IO String-readFile = fmap T.unpack . TIO.readFile--addHandler :: IO ()-addHandler = do-    allFiles <- getDirectoryContents "."-    cabal <--        case filter (".cabal" `isSuffixOf`) allFiles of-            [x] -> return x-            [] -> error "No cabal file found"-            _ -> error "Too many cabal files found"--    putStr "Name of route (without trailing R): "-    hFlush stdout-    name <- getLine-    case name of-        [] -> error "Please provide a name"-        c:_-            | isLower c -> error "Name must start with an upper case letter"-            | otherwise -> return ()-    putStr "Enter route pattern (ex: /entry/#EntryId): "-    hFlush stdout-    pattern <- getLine-    putStr "Enter space-separated list of methods (ex: GET POST): "-    hFlush stdout-    methods <- getLine--    let modify fp f = readFile fp >>= writeFile fp . f--    modify "Application.hs" $ fixApp name-    modify cabal $ fixCabal name-    modify "config/routes" $ fixRoutes name pattern methods-    writeFile ("Handler/" ++ name ++ ".hs") $ mkHandler name pattern methods--fixApp :: String -> String -> String-fixApp name =-    unlines . reverse . go . reverse . lines-  where-    l = "import Handler." ++ name--    go [] = [l]-    go (x:xs)-        | "import Handler." `isPrefixOf` x = l : x : xs-        | otherwise = x : go xs--fixCabal :: String -> String -> String-fixCabal name =-    unlines . reverse . go . reverse . lines-  where-    l = "import Handler." ++ name--    go [] = [l]-    go (x:xs)-        | "Handler." `isPrefixOf` x' = (spaces ++ "Handler." ++ name) : x : xs-        | otherwise = x : go xs-      where-        (spaces, x') = span isSpace x--fixRoutes :: String -> String -> String -> String -> String-fixRoutes name pattern methods =-    (++ l)-  where-    l = concat-        [ pattern-        , " "-        , name-        , "R "-        , methods-        , "\n"-        ]--mkHandler :: String -> String -> String -> String-mkHandler name pattern methods = unlines-    $ ("module Handler." ++ name ++ " where")-    : ""-    : "import Import"-    : concatMap go (words methods)-  where-    go method =-        [ ""-        , concat $ func : " :: " : map toArrow types ++ ["Handler RepHtml"]-        , concat-            [ func-            , " = error \"Not yet implemented: "-            , func-            , "\""-            ]-        ]-      where-        func = concat [map toLower method, name, "R"]--    types = getTypes pattern--    toArrow t = concat [t, " -> "]--    getTypes "" = []-    getTypes ('/':rest) = getTypes rest-    getTypes ('#':rest) =-        typ : getTypes rest'-      where-        (typ, rest') = break (== '/') rest-    getTypes rest = getTypes $ dropWhile (/= '/') rest
− Build.hs
@@ -1,263 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE CPP #-}-{-# LANGUAGE ScopedTypeVariables #-}-module Build-    ( getDeps-    , touchDeps-    , touch-    , recompDeps-    , isNewerThan-    , safeReadFile-    ) where--import           Control.Applicative ((<|>), many, (<$>))-import qualified Data.Attoparsec.Text as A-import           Data.Char (isSpace, isUpper)-import qualified Data.Text as T-import           Data.Text.Encoding (decodeUtf8With)-import           Data.Text.Encoding.Error (lenientDecode)-import           Data.ByteString (ByteString)-import qualified Data.ByteString as S--import           Control.Exception (SomeException, try, IOException)-import           Control.Exception.Lifted (handle)-import           Control.Monad (when, filterM, forM, forM_, (>=>))-import           Control.Monad.Trans.State (StateT, get, put, execStateT)-import           Control.Monad.Trans.Writer (WriterT, tell, execWriterT)-import           Control.Monad.IO.Class (MonadIO, liftIO)-import           Control.Monad.Trans.Class (lift)--import           Data.Monoid (Monoid (mappend, mempty))-import qualified Data.Map as Map-import qualified Data.Set as Set--import qualified System.Posix.Types-import           System.Directory-import           System.FilePath (takeExtension, replaceExtension, (</>), takeDirectory)-import           System.PosixCompat.Files (getFileStatus, setFileTimes,-                                             accessTime, modificationTime)--import           Text.Shakespeare (Deref)-import           Text.Julius      (juliusUsedIdentifiers)-import           Text.Cassius     (cassiusUsedIdentifiers)-import           Text.Lucius      (luciusUsedIdentifiers)--safeReadFile :: MonadIO m => FilePath -> m (Either IOException ByteString)-safeReadFile = liftIO . try . S.readFile--touch :: IO ()-touch = do-    m <- handle (\(_ :: SomeException) -> return Map.empty) $ readFile touchCache >>= readIO-    x <- fmap snd (getDeps [])-    m' <- execStateT (execWriterT $ touchDeps id updateFileTime x) m-    createDirectoryIfMissing True $ takeDirectory touchCache-    writeFile touchCache $ show m'-  where-    touchCache = "dist/touchCache.txt"---- | Returns True if any files were touched, otherwise False-recompDeps :: [FilePath] -> StateT (Map.Map FilePath (Set.Set Deref)) IO Bool-recompDeps =-    fmap toBool . execWriterT . (liftIO . getDeps >=> touchDeps hiFile removeHi . snd)-  where-    toBool NoFilesTouched = False-    toBool SomeFilesTouched = True--type Deps = Map.Map FilePath ([FilePath], ComparisonType)--getDeps :: [FilePath] -> IO ([FilePath], Deps)-getDeps hsSourceDirs = do-    let defSrcDirs = case hsSourceDirs of-                        [] -> ["."]-                        ds -> ds-    hss <- fmap concat $ mapM findHaskellFiles defSrcDirs-    deps' <- mapM determineDeps hss-    return $ (hss, fixDeps $ zip hss deps')--data AnyFilesTouched = NoFilesTouched | SomeFilesTouched-instance Monoid AnyFilesTouched where-    mempty = NoFilesTouched-    mappend NoFilesTouched NoFilesTouched = mempty-    mappend _ _ = SomeFilesTouched--touchDeps :: (FilePath -> FilePath) ->-             (FilePath -> FilePath -> IO ()) ->-             Deps -> WriterT AnyFilesTouched (StateT (Map.Map FilePath (Set.Set Deref)) IO) ()-touchDeps f action deps = (mapM_ go . Map.toList) deps-  where-    go (x, (ys, ct)) = do-        isChanged <- handle (\(_ :: SomeException) -> return True) $ lift $-            case ct of-                AlwaysOutdated -> return True-                CompareUsedIdentifiers getDerefs -> do-                    derefMap <- get-                    ebs <- safeReadFile x-                    let newDerefs =-                            case ebs of-                                Left _ -> Set.empty-                                Right bs -> Set.fromList $ getDerefs $ T.unpack $ decodeUtf8With lenientDecode bs-                    put $ Map.insert x newDerefs derefMap-                    case Map.lookup x derefMap of-                        Just oldDerefs | oldDerefs == newDerefs -> return False-                        _ -> return True-        when isChanged $ forM_ ys $ \y -> do-            n <- liftIO $ x `isNewerThan` f y-            when n $ do-                liftIO $ putStrLn ("Forcing recompile for " ++ y ++ " because of " ++ x)-                liftIO $ action x y-                tell SomeFilesTouched---- | remove the .hi files for a .hs file, thereby forcing a recompile-removeHi :: FilePath -> FilePath -> IO ()-removeHi _ hs = mapM_ removeFile' hiFiles-    where-      removeFile' file = try' (removeFile file) >> return ()-      hiFiles          = map (\e -> "dist/build" </> replaceExtension hs e)-                             ["hi", "p_hi"]---- | change file mtime of .hs file to that of the dependency-updateFileTime :: FilePath -> FilePath -> IO ()-updateFileTime x hs = do-  (_     , modx) <- getFileStatus' x-  (access, _   ) <- getFileStatus' hs-  _ <- try' (setFileTimes hs access modx)-  return ()--hiFile :: FilePath -> FilePath-hiFile hs = "dist/build" </> replaceExtension hs "hi"--try' :: IO x -> IO (Either SomeException x)-try' = try--isNewerThan :: FilePath -> FilePath -> IO Bool-isNewerThan f1 f2 = do-  (_, mod1) <- getFileStatus' f1-  (_, mod2) <- getFileStatus' f2-  return (mod1 > mod2)--getFileStatus' :: FilePath ->-                  IO (System.Posix.Types.EpochTime, System.Posix.Types.EpochTime)-getFileStatus' fp = do-    efs <- try' $ getFileStatus fp-    case efs of-        Left _ -> return (0, 0)-        Right fs -> return (accessTime fs, modificationTime fs)--fixDeps :: [(FilePath, [(ComparisonType, FilePath)])] -> Deps-fixDeps =-    Map.unionsWith combine . map go-  where-    go :: (FilePath, [(ComparisonType, FilePath)]) -> Deps-    go (x, ys) = Map.fromList $ map (\(ct, y) -> (y, ([x], ct))) ys--    combine (ys1, ct) (ys2, _) = (ys1 `mappend` ys2, ct)--findHaskellFiles :: FilePath -> IO [FilePath]-findHaskellFiles path = do-    contents <- getDirectoryContents path-    fmap concat $ mapM go contents-  where-    go ('.':_)          = return []-    go filename = do-        d <- doesDirectoryExist full-        if not d-          then if isHaskellFile-                  then return [full]-                  else return []-          else if isHaskellDir-                 then findHaskellFiles full-                 else return []-      where-        -- this could fail on unicode-        isHaskellDir  = isUpper (head filename)-        isHaskellFile = takeExtension filename `elem` watch_files-        full = path </> filename-        watch_files = [".hs", ".lhs"]--data TempType = StaticFiles FilePath-              | Verbatim | Messages FilePath | Hamlet | Widget | Julius | Cassius | Lucius-    deriving Show---- | How to tell if a file is outdated.-data ComparisonType = AlwaysOutdated-                    | CompareUsedIdentifiers (String -> [Deref])--determineDeps :: FilePath -> IO [(ComparisonType, FilePath)]-determineDeps x = do-    y <- safeReadFile x-    case y of-        Left _ -> return []-        Right bs -> do-            let z = A.parseOnly (many $ (parser <|> (A.anyChar >> return Nothing)))-                  $ decodeUtf8With lenientDecode bs-            case z of-                Left _ -> return []-                Right r -> mapM go r >>= filterM (doesFileExist . snd) . concat-  where-    go (Just (StaticFiles fp, _)) = map ((,) AlwaysOutdated) <$> getFolderContents fp-    go (Just (Hamlet, f)) = return [(AlwaysOutdated, f)]-    go (Just (Widget, f)) = return-        [ (AlwaysOutdated, "templates/" ++ f ++ ".hamlet")-        , (CompareUsedIdentifiers $ map fst . juliusUsedIdentifiers, "templates/" ++ f ++ ".julius")-        , (CompareUsedIdentifiers $ map fst . luciusUsedIdentifiers, "templates/" ++ f ++ ".lucius")-        , (CompareUsedIdentifiers $ map fst . cassiusUsedIdentifiers, "templates/" ++ f ++ ".cassius")-        ]-    go (Just (Julius, f)) = return [(CompareUsedIdentifiers $ map fst . juliusUsedIdentifiers, f)]-    go (Just (Cassius, f)) = return [(CompareUsedIdentifiers $ map fst . cassiusUsedIdentifiers, f)]-    go (Just (Lucius, f)) = return [(CompareUsedIdentifiers $ map fst . luciusUsedIdentifiers, f)]-    go (Just (Verbatim, f)) = return [(AlwaysOutdated, f)]-    go (Just (Messages f, _)) = map ((,) AlwaysOutdated) <$> getFolderContents f-    go Nothing = return []--    parser = do-        ty <- (do _ <- A.string "\nstaticFiles \""-                  x' <- A.many1 $ A.satisfy (/= '"')-                  return $ StaticFiles x')-           <|> (A.string "$(parseRoutesFile " >> return Verbatim)-           <|> (A.string "$(hamletFile " >> return Hamlet)-           <|> (A.string "$(ihamletFile " >> return Hamlet)-           <|> (A.string "$(whamletFile " >> return Hamlet)-           <|> (A.string "$(html " >> return Hamlet)-           <|> (A.string "$(widgetFile " >> return Widget)-           <|> (A.string "$(Settings.hamletFile " >> return Hamlet)-           <|> (A.string "$(Settings.widgetFile " >> return Widget)-           <|> (A.string "$(juliusFile " >> return Julius)-           <|> (A.string "$(cassiusFile " >> return Cassius)-           <|> (A.string "$(luciusFile " >> return Lucius)-           <|> (A.string "$(persistFile " >> return Verbatim)-           <|> (-                   A.string "$(persistFileWith " >>-                   A.many1 (A.satisfy (/= '"')) >>-                   return Verbatim)-           <|> (do-                    _ <- A.string "\nmkMessage \""-                    A.skipWhile (/= '"')-                    _ <- A.string "\" \""-                    x' <- A.many1 $ A.satisfy (/= '"')-                    _ <- A.string "\" \""-                    _y <- A.many1 $ A.satisfy (/= '"')-                    _ <- A.string "\""-                    return $ Messages x')-        case ty of-            Messages{} -> return $ Just (ty, "")-            StaticFiles{} -> return $ Just (ty, "")-            _ -> do-                A.skipWhile isSpace-                _ <- A.char '"'-                y <- A.many1 $ A.satisfy (/= '"')-                _ <- A.char '"'-                A.skipWhile isSpace-                _ <- A.char ')'-                return $ Just (ty, y)--    getFolderContents :: FilePath -> IO [FilePath]-    getFolderContents fp = do-        cs <- getDirectoryContents fp-        let notHidden ('.':_) = False-            notHidden ('t':"mp") = False-            notHidden ('f':"ay") = False-            notHidden _ = True-        fmap concat $ forM (filter notHidden cs) $ \c -> do-            let f = fp ++ '/' : c-            isFile <- doesFileExist f-            if isFile then return [f] else getFolderContents f
− Devel.hs
@@ -1,430 +0,0 @@-{-# LANGUAGE CPP                 #-}-{-# LANGUAGE OverloadedStrings   #-}-{-# LANGUAGE ScopedTypeVariables #-}-module Devel-    ( devel-    , DevelOpts(..)-    , defaultDevelOpts-    ) where---import qualified Distribution.Compiler                 as D-import qualified Distribution.ModuleName               as D-import qualified Distribution.PackageDescription       as D-import qualified Distribution.PackageDescription.Parse as D-import qualified Distribution.Simple.Configure         as D-import qualified Distribution.Simple.Program           as D-import qualified Distribution.Simple.Utils             as D-import qualified Distribution.Verbosity                as D--import           Control.Applicative                   ((<$>), (<*>))-import           Control.Concurrent                    (forkIO, threadDelay)-import           Control.Concurrent.MVar               (MVar, newEmptyMVar,-                                                        takeMVar, tryPutMVar)-import qualified Control.Exception                     as Ex-import           Control.Monad                         (forever, unless, void,-                                                        when)-import           Control.Monad.IO.Class                (liftIO)-import           Control.Monad.Trans.State             (evalStateT, get)-import qualified Data.IORef                            as I--import           Data.Char                             (isNumber, isUpper)-import qualified Data.List                             as L-import qualified Data.Map                              as Map-import           Data.Maybe                            (fromMaybe)-import qualified Data.Set                              as Set--import           System.Directory-import           System.Environment                    (getEnvironment)-import           System.Exit                           (ExitCode (..),-                                                        exitFailure,-                                                        exitSuccess)-import           System.FilePath                       (dropExtension,-                                                        splitDirectories,-                                                        takeExtension, (</>))-import           System.FSNotify-import           System.IO                             (Handle)-import           System.IO.Error                       (isDoesNotExistError)-import           System.Posix.Types                    (EpochTime)-import           System.PosixCompat.Files              (getFileStatus,-                                                        modificationTime)-import           System.Process                        (ProcessHandle,-                                                        createProcess, env,-                                                        getProcessExitCode,-                                                        proc, readProcess,-                                                        system,-                                                        terminateProcess)-import           System.Timeout                        (timeout)--import           Build                                 (getDeps, isNewerThan,-                                                        recompDeps)-import           GhcBuild                              (buildPackage,-                                                        getBuildFlags, getPackageArgs)--import qualified Config                                as GHC-import           Data.Conduit.Network                  (HostPreference (HostIPv4),-                                                        bindPort)-import           Network                               (withSocketsDo)-import           Network.HTTP.Conduit                  (def, newManager)-import           Network.HTTP.ReverseProxy             (ProxyDest (ProxyDest),-                                                        waiProxyToSettings, wpsTimeout, wpsOnExc)-import           Network.HTTP.Types                    (status200)-import           Network.Socket                        (sClose)-import           Network.Wai                           (responseLBS)-import           Network.Wai.Handler.Warp              (run)-import           SrcLoc                                (Located)--lockFile :: DevelOpts -> FilePath-lockFile _opts =  "yesod-devel/devel-terminate"--writeLock :: DevelOpts -> IO ()-writeLock opts = do-    createDirectoryIfMissing True "yesod-devel"-    writeFile (lockFile opts) ""-    createDirectoryIfMissing True "dist" -- for compatibility with old devel.hs-    writeFile "dist/devel-terminate" ""--removeLock :: DevelOpts -> IO ()-removeLock opts = do-    removeFileIfExists (lockFile opts)-    removeFileIfExists "dist/devel-terminate"  -- for compatibility with old devel.hs--data DevelOpts = DevelOpts-      { isCabalDev   :: Bool-      , forceCabal   :: Bool-      , verbose      :: Bool-      , eventTimeout :: Int -- negative value for no timeout-      , successHook  :: Maybe String-      , failHook     :: Maybe String-      , buildDir     :: Maybe String-      , develPort    :: Int-      , proxyTimeout :: Int-      } deriving (Show, Eq)--getBuildDir :: DevelOpts -> String-getBuildDir opts = fromMaybe "dist" (buildDir opts)--defaultDevelOpts :: DevelOpts-defaultDevelOpts = DevelOpts False False False (-1) Nothing Nothing Nothing 3000 10--cabalProgram :: DevelOpts -> FilePath-cabalProgram opts | isCabalDev opts = "cabal-dev"-                  | otherwise       = "cabal"---- | Run a reverse proxy from port 3000 to 3001. If there is no response on--- 3001, give an appropriate message to the user.-reverseProxy :: DevelOpts -> I.IORef Int -> IO ()-reverseProxy opts iappPort = do-    manager <- newManager def-    let loop = forever $ do-            run (develPort opts) $ waiProxyToSettings-                (const $ do-                    appPort <- liftIO $ I.readIORef iappPort-                    return $ Right $ ProxyDest "127.0.0.1" appPort)-                def-                    { wpsOnExc = onExc-                    , wpsTimeout = Just (1000000 * proxyTimeout opts)-                    }-                manager-            putStrLn "Reverse proxy stopped, but it shouldn't"-            threadDelay 1000000-            putStrLn "Restarting reverse proxy"-    loop `Ex.onException` exitFailure-  where-    onExc _ _ = return $ responseLBS-        status200-        [ ("content-type", "text/html")-        , ("Refresh", "1")-        ]-        "<h1>App not ready, please refresh</h1>"--checkPort :: Int -> IO Bool-checkPort p = do-    es <- Ex.try $ bindPort p HostIPv4-    case es of-        Left (_ :: Ex.IOException) -> return False-        Right s -> do-            sClose s-            return True--getPort :: Int -> IO Int-getPort p = do-    avail <- checkPort p-    if avail then return p else getPort (succ p)--devel :: DevelOpts -> [String] -> IO ()-devel opts passThroughArgs = withSocketsDo $ withManager $ \manager -> do-    avail <- checkPort $ develPort opts-    unless avail $ error "devel port unavailable"-    iappPort <- getPort 17834 >>= I.newIORef-    _ <- forkIO $ reverseProxy opts iappPort-    checkDevelFile-    writeLock opts--    putStrLn "Yesod devel server. Press ENTER to quit"-    _ <- forkIO $ do-      filesModified <- newEmptyMVar-      watchTree manager "." (const True) (\_ -> void (tryPutMVar filesModified ()))-      evalStateT (mainOuterLoop iappPort filesModified) Map.empty-    _ <- getLine-    writeLock opts-    exitSuccess-  where-    bd = getBuildDir opts--    -- outer loop re-reads the cabal file-    mainOuterLoop iappPort filesModified = do-      ghcVer <- liftIO ghcVersion-      cabal  <- liftIO $ D.findPackageDesc "."-      gpd    <- liftIO $ D.readPackageDescription D.normal cabal-      ldar   <- liftIO lookupLdAr-      (hsSourceDirs, _) <- liftIO $ checkCabalFile gpd-      liftIO $ removeFileIfExists (bd </> "setup-config")-      c <- liftIO $ configure opts passThroughArgs-      if c then do-             -- these files contain the wrong data after the configure step,-             -- remove them to force a cabal build first-             liftIO $ mapM_ removeFileIfExists [ "yesod-devel/ghcargs.txt"-                                               , "yesod-devel/arargs.txt"-                                               , "yesod-devel/ldargs.txt"-                                               ]-             rebuild <- liftIO $ mkRebuild ghcVer cabal opts ldar-             mainInnerLoop iappPort hsSourceDirs filesModified cabal rebuild-           else do-             liftIO (threadDelay 5000000)-             mainOuterLoop iappPort filesModified--    -- inner loop rebuilds after files change-    mainInnerLoop iappPort hsSourceDirs filesModified cabal rebuild = go-       where-         go = do-           _ <- recompDeps hsSourceDirs-           list <- liftIO $ getFileList hsSourceDirs [cabal]-           success <- liftIO rebuild-           pkgArgs <- liftIO (ghcPackageArgs opts)-           let devArgs = pkgArgs ++ ["devel.hs"]-           let loop list0 = do-                   (haskellFileChanged, list1) <- liftIO $-                       watchForChanges filesModified hsSourceDirs [cabal] list0 (eventTimeout opts)-                   anyTouched <- recompDeps hsSourceDirs-                   unless (anyTouched || haskellFileChanged) $ loop list1-           if not success-             then liftIO $ do-                   putStrLn "Build failure, pausing..."-                   runBuildHook $ failHook opts-             else do-                   liftIO $ runBuildHook $ successHook opts-                   liftIO $ removeLock opts-                   liftIO $ putStrLn-                            $ if verbose opts then "Starting development server: runghc " ++ L.unwords devArgs-                                              else "Starting development server..."-                   env0 <- liftIO getEnvironment--                   -- get a new port for the new process to listen on-                   appPort <- liftIO $ I.readIORef iappPort >>= getPort . (+ 1)-                   liftIO $ I.writeIORef iappPort appPort--                   (_,_,_,ph) <- liftIO $ createProcess (proc "runghc" devArgs)-                        { env = Just $ ("PORT", show appPort) : ("DISPLAY_PORT", show $ develPort opts) : env0-                        }-                   derefMap <- get-                   watchTid <- liftIO . forkIO . try_ $ flip evalStateT derefMap $ do-                      loop list-                      liftIO $ do-                         putStrLn "Stopping development server..."-                         writeLock opts-                         threadDelay 1000000-                         putStrLn "Terminating development server..."-                         terminateProcess ph-                   ec <- liftIO $ waitForProcess' ph-                   liftIO $ putStrLn $ "Exit code: " ++ show ec-                   liftIO $ Ex.throwTo watchTid (userError "process finished")-           loop list-           n <- liftIO $ cabal `isNewerThan` (bd </> "setup-config")-           if n then mainOuterLoop iappPort filesModified else go--runBuildHook :: Maybe String -> IO ()-runBuildHook (Just s) = do-             ret <- system s-             case ret of-                  ExitFailure _ -> putStrLn ("Error executing hook: " ++ s)-                  _             -> return ()-runBuildHook Nothing = return ()--{--   run `cabal configure' with our wrappers--}-configure :: DevelOpts -> [String] -> IO Bool-configure opts extraArgs =-  checkExit =<< (createProcess $ proc (cabalProgram opts)-                                ([ "configure"-                                 , "-flibrary-only"-                                 , "-fdevel"-                                 , "--disable-library-profiling"-                                 , "--with-ld=yesod-ld-wrapper"-                                 , "--with-ghc=yesod-ghc-wrapper"-                                 , "--with-ar=yesod-ar-wrapper"-                                 , "--with-hc-pkg=ghc-pkg"-                                 ] ++ extraArgs)-               )--removeFileIfExists :: FilePath -> IO ()-removeFileIfExists file = removeFile file `Ex.catch` handler-    where-      handler :: IOError -> IO ()-      handler e | isDoesNotExistError e = return ()-                | otherwise             = Ex.throw e--mkRebuild :: String -> FilePath -> DevelOpts -> (FilePath, FilePath) -> IO (IO Bool)-mkRebuild ghcVer cabalFile opts (ldPath, arPath)-  | GHC.cProjectVersion /= ghcVer =-       failWith "Yesod has been compiled with a different GHC version, please reinstall"-  | forceCabal opts               = return (rebuildCabal opts)-  | otherwise                     = do-      return $ do-        ns <- mapM (cabalFile `isNewerThan`)-           [ "yesod-devel/ghcargs.txt", "yesod-devel/arargs.txt", "yesod-devel/ldargs.txt" ]-        if or ns-          then rebuildCabal opts-          else do-            bf <- getBuildFlags-            rebuildGhc bf ldPath arPath---rebuildGhc :: [Located String] -> FilePath -> FilePath -> IO Bool-rebuildGhc bf ld ar = do-  putStrLn "Rebuilding application... (using GHC API)"-  buildPackage bf ld ar--rebuildCabal :: DevelOpts -> IO Bool-rebuildCabal opts = do-  putStrLn $ "Rebuilding application... (using " ++ cabalProgram opts ++ ")"-  checkExit =<< createProcess (proc (cabalProgram opts) args)-    where-      args | verbose opts = [ "build" ]-           | otherwise    = [ "build", "-v0" ]--try_ :: forall a. IO a -> IO ()-try_ x = (Ex.try x :: IO (Either Ex.SomeException a)) >> return ()--type FileList = Map.Map FilePath EpochTime--getFileList :: [FilePath] -> [FilePath] -> IO FileList-getFileList hsSourceDirs extraFiles = do-    (files, deps) <- getDeps hsSourceDirs-    let files' = extraFiles ++ files ++ map fst (Map.toList deps)-    fmap Map.fromList $ flip mapM files' $ \f -> do-        efs <- Ex.try $ getFileStatus f-        return $ case efs of-            Left (_ :: Ex.SomeException) -> (f, 0)-            Right fs -> (f, modificationTime fs)---- | Returns @True@ if a .hs file changed.-watchForChanges :: MVar () -> [FilePath] -> [FilePath] -> FileList -> Int -> IO (Bool, FileList)-watchForChanges filesModified hsSourceDirs extraFiles list t = do-    newList <- getFileList hsSourceDirs extraFiles-    if list /= newList-      then do-        let haskellFileChanged = not $ Map.null $ Map.filterWithKey isHaskell $-                Map.differenceWith compareTimes newList list `Map.union`-                Map.differenceWith compareTimes list newList-        return (haskellFileChanged, newList)-      else timeout (1000000*t) (takeMVar filesModified) >>-           watchForChanges filesModified hsSourceDirs extraFiles list t-  where-    compareTimes x y-        | x == y = Nothing-        | otherwise = Just x--    isHaskell filename _ = takeExtension filename `elem` [".hs", ".lhs", ".hsc", ".cabal"]--checkDevelFile :: IO ()-checkDevelFile = do-  e <- doesFileExist "devel.hs"-  unless e $ failWith "file devel.hs not found"--checkCabalFile :: D.GenericPackageDescription -> IO ([FilePath], D.Library)-checkCabalFile gpd = case D.condLibrary gpd of-    Nothing -> failWith "incorrect cabal file, no library"-    Just ct ->-      case lookupDevelLib gpd ct of-        Nothing   ->-          failWith "no development flag found in your configuration file. Expected a 'library-only' flag or the older 'devel' flag"-        Just dLib -> do-           let hsSourceDirs = D.hsSourceDirs . D.libBuildInfo $ dLib-           fl <- getFileList hsSourceDirs []-           let unlisted = checkFileList fl dLib-           unless (null unlisted) $ do-                putStrLn "WARNING: the following source files are not listed in exposed-modules or other-modules:"-                mapM_ putStrLn unlisted-           when (D.fromString "Application" `notElem` D.exposedModules dLib) $-                putStrLn "WARNING: no exposed module Application"-           return (hsSourceDirs, dLib)--failWith :: String -> IO a-failWith msg = do-    putStrLn $ "ERROR: " ++ msg-    exitFailure--checkFileList :: FileList -> D.Library -> [FilePath]-checkFileList fl lib = filter isUnlisted . filter isSrcFile $ sourceFiles-  where-    al = allModules lib-    -- a file is only a possible 'module file' if all path pieces start with a capital letter-    sourceFiles = filter isSrcFile . map fst . Map.toList $ fl-    isSrcFile file = let dirs = filter (/=".") $ splitDirectories file-                     in  all (isUpper . head) dirs && (takeExtension file `elem` [".hs", ".lhs"])-    isUnlisted file = not (toModuleName file `Set.member` al)-    toModuleName = L.intercalate "." . filter (/=".") . splitDirectories . dropExtension--allModules :: D.Library -> Set.Set String-allModules lib = Set.fromList $ map toString $ D.exposedModules lib ++ (D.otherModules . D.libBuildInfo) lib-    where-      toString = L.intercalate "." . D.components--ghcVersion :: IO String-ghcVersion = fmap getNumber $ readProcess "runghc" ["--numeric-version", "0"] []-    where-      getNumber = filter (\x -> isNumber x || x == '.')--ghcPackageArgs :: DevelOpts -> IO [String]-ghcPackageArgs opts = getBuildFlags >>= getPackageArgs (buildDir opts)--lookupDevelLib :: D.GenericPackageDescription -> D.CondTree D.ConfVar c a -> Maybe a-lookupDevelLib gpd ct | found     = Just (D.condTreeData ct)-                      | otherwise = Nothing-  where-    flags = map (unFlagName . D.flagName) $ D.genPackageFlags gpd-    unFlagName (D.FlagName x) = x-    found = any (`elem` ["library-only", "devel"]) flags---- location of `ld' and `ar' programs-lookupLdAr :: IO (FilePath, FilePath)-lookupLdAr = do-  mla <- lookupLdAr'-  case mla of-    Nothing -> failWith "Cannot determine location of `ar' or `ld' program"-    Just la -> return la--lookupLdAr' :: IO (Maybe (FilePath, FilePath))-lookupLdAr' = do-  (_, pgmc) <- D.configCompiler (Just D.GHC) Nothing Nothing D.defaultProgramConfiguration D.silent-  pgmc' <- D.configureAllKnownPrograms D.silent pgmc-  return $ (,) <$> look D.ldProgram pgmc' <*> look D.arProgram pgmc'-     where-       look pgm pdb = fmap D.programPath (D.lookupProgram pgm pdb)---- | nonblocking version of @waitForProcess@-waitForProcess' :: ProcessHandle -> IO ExitCode-waitForProcess' pid = go-  where-    go = do-      mec <- getProcessExitCode pid-      case mec of-        Just ec -> return ec-        Nothing -> threadDelay 100000 >> go---- | wait for process started by @createProcess@, return True for ExitSuccess-checkExit :: (Maybe Handle, Maybe Handle, Maybe Handle, ProcessHandle) -> IO Bool-checkExit (_,_,_,h) = (==ExitSuccess) <$> waitForProcess' h-
− GhcBuild.hs
@@ -1,480 +0,0 @@-{-# OPTIONS_GHC -fno-warn-unused-do-bind #-}-{-# OPTIONS_GHC -fno-warn-unused-binds #-}-{-# OPTIONS_GHC -fno-warn-unused-imports #-}-{-# OPTIONS_GHC -fno-warn-unused-matches #-}-{--  There is a lot of code copied from GHC here, and some conditional-  compilation. Instead of fixing all warnings and making it much more-  difficult to compare the code to the original, just ignore unused-  binds and imports.--}-{-# LANGUAGE CPP                 #-}-{-# LANGUAGE PatternGuards       #-}-{-# LANGUAGE ScopedTypeVariables #-}--{--  build package with the GHC API--}--module GhcBuild (getBuildFlags, buildPackage, getPackageArgs) where--import qualified Control.Exception as Ex-import           Control.Monad      (when)-import           Data.IORef-import           System.Process     (rawSystem)-import           System.Environment (getEnvironment)--import           CmdLineParser-import           Data.Char          (toLower)-import           Data.List          (isPrefixOf, isSuffixOf, partition)-import           Data.Maybe         (fromMaybe)-import           DriverPhases       (Phase (..), anyHsc, isHaskellSrcFilename,-                                     isSourceFilename, startPhase)-import           DriverPipeline     (compileFile, link, linkBinary, oneShot)-import           DynFlags           (DynFlags, compilerInfo)-import qualified DynFlags-import qualified DynFlags           as DF-import qualified GHC-import           GHC.Paths          (libdir)-import           HscTypes           (HscEnv (..), emptyHomePackageTable)-import qualified Module-import           MonadUtils         (liftIO)-import           Panic              (ghcError, panic)-import           SrcLoc             (Located, mkGeneralLocated)-import qualified StaticFlags-import           StaticFlags        (v_Ld_inputs)-import           System.FilePath    (normalise, (</>))-import           Util               (consIORef, looksLikeModuleName)--{--  This contains a huge hack:-  GHC only accepts setting static flags once per process, however it has no way to-  get the remaining options from the command line, without setting the static flags.-  This code overwrites the IORef to disable the check. This will likely cause-  problems if the flags are modified, but fortunately that's relatively uncommon.--}-getBuildFlags :: IO [Located String]-getBuildFlags = do-  argv0 <- fmap read $ readFile "yesod-devel/ghcargs.txt" -- generated by yesod-ghc-wrapper-  argv0' <- prependHsenvArgv argv0-  let (minusB_args, argv1) = partition ("-B" `isPrefixOf`) argv0'-      mbMinusB | null minusB_args = Nothing-               | otherwise = Just (drop 2 (last minusB_args))-  let argv1' = map (mkGeneralLocated "on the commandline") argv1-  writeIORef StaticFlags.v_opt_C_ready False -- the huge hack-  (argv2, staticFlagWarnings) <- GHC.parseStaticFlags argv1'-  return argv2--prependHsenvArgv :: [String] -> IO [String]-prependHsenvArgv argv = do-  env <- getEnvironment-  return $ case (lookup "HSENV" env) of-             Nothing -> argv-             _       -> hsenvArgv ++ argv-                 where hsenvArgv = words $ fromMaybe "" (lookup "PACKAGE_DB_FOR_GHC" env)---- construct a command line for loading the right packages-getPackageArgs :: Maybe String -> [Located String] -> IO [String]-getPackageArgs buildDir argv2 = do-  (mode, argv3, modeFlagWarnings) <- parseModeFlags argv2-  GHC.runGhc (Just libdir) $ do-    dflags0 <- GHC.getSessionDynFlags-    (dflags1, _, _) <- GHC.parseDynamicFlags dflags0 argv3-    let pkgFlags = map convertPkgFlag (GHC.packageFlags dflags1)-        hideAll | gopt DF.Opt_HideAllPackages dflags1 = [ "-hide-all-packages"]-                | otherwise                           = []-        ownPkg = "-package-id" ++ Module.packageIdString (DF.thisPackage dflags1) ++ "-inplace"-    return (extra dflags1 ++ hideAll ++ pkgFlags ++ [ownPkg])-  where-    convertPkgFlag (DF.ExposePackage p)   = "-package" ++ p-    convertPkgFlag (DF.ExposePackageId p) = "-package-id" ++ p-    convertPkgFlag (DF.HidePackage p)     = "-hide-package" ++ p-    convertPkgFlag (DF.IgnorePackage p)   = "-ignore-package" ++ p-    convertPkgFlag (DF.TrustPackage p)    = "-trust" ++ p-    convertPkgFlag (DF.DistrustPackage p) ="-distrust" ++ p-#if __GLASGOW_HASKELL__ >= 705-    extra df = inplaceConf ++ extra'-      where-         extra' = concatMap convertExtra (extraConfs df)-         -- old cabal-install sometimes misses the .inplace db, fix it here-         inplaceConf-           | any (".inplace" `isSuffixOf`) extra' = []-           | otherwise = ["-package-db" ++ fromMaybe "dist" buildDir-                           ++ "/package.conf.inplace"]-    extraConfs df = GHC.extraPkgConfs df []-    convertExtra DF.GlobalPkgConf      = [ ]-    convertExtra DF.UserPkgConf        = [ ]-    convertExtra (DF.PkgConfFile file) = [ "-package-db" ++ file ]-#else-    extra df  = inplaceConf ++ extra'-      where-        extra' = map ("-package-conf"++) (GHC.extraPkgConfs df)-         -- old cabal-install sometimes misses the .inplace db, fix it here-        inplaceConf-          | any (".inplace" `isSuffixOf`) extra' = []-          | otherwise = ["-package-conf" ++ fromMaybe "dist" buildDir-                           ++ "/package.conf.inplace"]-#endif--#if __GLASGOW_HASKELL__ >= 707-    gopt = DF.gopt-#else-    gopt = DF.dopt-#endif---buildPackage :: [Located String] -> FilePath -> FilePath -> IO Bool-buildPackage a ld ar = buildPackage' a ld ar `Ex.catch` \e -> do-  putStrLn ("exception building package: " ++ show (e :: Ex.SomeException))-  return False--buildPackage' :: [Located String] -> FilePath -> FilePath -> IO Bool-buildPackage' argv2 ld ar = do-  (mode, argv3, modeFlagWarnings) <- parseModeFlags argv2-  GHC.runGhc (Just libdir) $ do-    dflags0 <- GHC.getSessionDynFlags-    (dflags1, _, _) <- GHC.parseDynamicFlags dflags0 argv3-    let dflags2 = dflags1 { GHC.ghcMode   = GHC.CompManager-                          , GHC.hscTarget = GHC.hscTarget dflags1-                          , GHC.ghcLink   = GHC.LinkBinary-                          , GHC.verbosity = 1-                          }-    (dflags3, fileish_args, _) <- GHC.parseDynamicFlags dflags2 argv3-    GHC.setSessionDynFlags dflags3-    let normal_fileish_paths = map (normalise . GHC.unLoc) fileish_args-        (srcs, objs)         = partition_args normal_fileish_paths [] []-        (hs_srcs, non_hs_srcs) = partition haskellish srcs-        haskellish (f,Nothing) =-          looksLikeModuleName f || isHaskellSrcFilename f || '.' `notElem` f-        haskellish (_,Just phase) =-#if MIN_VERSION_ghc(7,4,0)-          phase `notElem` [As, Cc, Cobjc, Cobjcpp, CmmCpp, Cmm, StopLn]-#else-          phase `notElem` [As, Cc, CmmCpp, Cmm, StopLn]-#endif-    hsc_env <- GHC.getSession---    if (null hs_srcs)---       then liftIO (oneShot hsc_env StopLn srcs)---       else do-#if MIN_VERSION_ghc(7,2,0)-    o_files <- mapM (\x -> liftIO $ compileFile hsc_env StopLn x)-#else-    o_files <- mapM (\x -> compileFile hsc_env StopLn x)-#endif-                 non_hs_srcs-    liftIO $ mapM_ (consIORef v_Ld_inputs) (reverse o_files)-    targets <- mapM (uncurry GHC.guessTarget) hs_srcs-    GHC.setTargets targets-    ok_flag <- GHC.load GHC.LoadAllTargets-    if GHC.failed ok_flag-      then return False-      else liftIO (linkPkg ld ar) >> return True--linkPkg :: FilePath -> FilePath -> IO ()-linkPkg ld ar = do-  arargs <- fmap read $ readFile "yesod-devel/arargs.txt"-  rawSystem ar arargs-  ldargs <- fmap read $ readFile "yesod-devel/ldargs.txt"-  rawSystem ld ldargs-  return ()------------------------------------------------------------------------------------------------- stuff below copied from ghc main.hs-----------------------------------------------------------------------------------------------partition_args :: [String] -> [(String, Maybe Phase)] -> [String]-               -> ([(String, Maybe Phase)], [String])-partition_args [] srcs objs = (reverse srcs, reverse objs)-partition_args ("-x":suff:args) srcs objs-  | "none" <- suff      = partition_args args srcs objs-  | StopLn <- phase     = partition_args args srcs (slurp ++ objs)-  | otherwise           = partition_args rest (these_srcs ++ srcs) objs-        where phase = startPhase suff-              (slurp,rest) = break (== "-x") args-              these_srcs = zip slurp (repeat (Just phase))-partition_args (arg:args) srcs objs-  | looks_like_an_input arg = partition_args args ((arg,Nothing):srcs) objs-  | otherwise               = partition_args args srcs (arg:objs)--    {--      We split out the object files (.o, .dll) and add them-      to v_Ld_inputs for use by the linker.--      The following things should be considered compilation manager inputs:--       - haskell source files (strings ending in .hs, .lhs or other-         haskellish extension),--       - module names (not forgetting hierarchical module names),--       - and finally we consider everything not containing a '.' to be-         a comp manager input, as shorthand for a .hs or .lhs filename.--      Everything else is considered to be a linker object, and passed-      straight through to the linker.-    -}-looks_like_an_input :: String -> Bool-looks_like_an_input m =  isSourceFilename m-                      || looksLikeModuleName m-                      || '.' `notElem` m------ Parsing the mode flag--parseModeFlags :: [Located String]-               -> IO (Mode,-                      [Located String],-                      [Located String])-parseModeFlags args = do-  let ((leftover, errs1, warns), (mModeFlag, errs2, flags')) =-          runCmdLine (processArgs mode_flags args)-                     (Nothing, [], [])-      mode = case mModeFlag of-             Nothing     -> doMakeMode-             Just (m, _) -> m-      errs = errs1 ++ map (mkGeneralLocated "on the commandline") errs2-  when (not (null errs)) $ ghcError $ errorsToGhcException errs-  return (mode, flags' ++ leftover, warns)--type ModeM = CmdLineP (Maybe (Mode, String), [String], [Located String])-  -- mode flags sometimes give rise to new DynFlags (eg. -C, see below)-  -- so we collect the new ones and return them.--mode_flags :: [Flag ModeM]-mode_flags =-  [  ------- help / version -----------------------------------------------    Flag "?"                     (PassFlag (setMode showGhcUsageMode))-  , Flag "-help"                 (PassFlag (setMode showGhcUsageMode))-  , Flag "V"                     (PassFlag (setMode showVersionMode))-  , Flag "-version"              (PassFlag (setMode showVersionMode))-  , Flag "-numeric-version"      (PassFlag (setMode showNumVersionMode))-  , Flag "-info"                 (PassFlag (setMode showInfoMode))-  , Flag "-supported-languages"  (PassFlag (setMode showSupportedExtensionsMode))-  , Flag "-supported-extensions" (PassFlag (setMode showSupportedExtensionsMode))-  ] ++-  [ Flag k'                      (PassFlag (setMode (printSetting k)))-  | k <- ["Project version",-          "Booter version",-          "Stage",-          "Build platform",-          "Host platform",-          "Target platform",-          "Have interpreter",-          "Object splitting supported",-          "Have native code generator",-          "Support SMP",-          "Unregisterised",-          "Tables next to code",-          "RTS ways",-          "Leading underscore",-          "Debug on",-          "LibDir",-          "Global Package DB",-          "C compiler flags",-          "Gcc Linker flags",-          "Ld Linker flags"],-    let k' = "-print-" ++ map (replaceSpace . toLower) k-        replaceSpace ' ' = '-'-        replaceSpace c   = c-  ] ++-      ------- interfaces -----------------------------------------------------  [ Flag "-show-iface"  (HasArg (\f -> setMode (showInterfaceMode f)-                                               "--show-iface"))--      ------- primary modes -------------------------------------------------  , Flag "c"            (PassFlag (\f -> do setMode (stopBeforeMode StopLn) f-                                            addFlag "-no-link" f))-  , Flag "M"            (PassFlag (setMode doMkDependHSMode))-  , Flag "E"            (PassFlag (setMode (stopBeforeMode anyHsc)))-  , Flag "C"            (PassFlag (\f -> do setMode (stopBeforeMode HCc) f-                                            addFlag "-fvia-C" f))-  , Flag "S"            (PassFlag (setMode (stopBeforeMode As)))-  , Flag "-make"        (PassFlag (setMode doMakeMode))-  , Flag "-interactive" (PassFlag (setMode doInteractiveMode))-  , Flag "-abi-hash"    (PassFlag (setMode doAbiHashMode))-  , Flag "e"            (SepArg   (\s -> setMode (doEvalMode s) "-e"))-  ]--setMode :: Mode -> String -> EwM ModeM ()-setMode newMode newFlag = liftEwM $ do-    (mModeFlag, errs, flags') <- getCmdLineState-    let (modeFlag', errs') =-            case mModeFlag of-            Nothing -> ((newMode, newFlag), errs)-            Just (oldMode, oldFlag) ->-                case (oldMode, newMode) of-                    -- -c/--make are allowed together, and mean --make -no-link-                    _ |  isStopLnMode oldMode && isDoMakeMode newMode-                      || isStopLnMode newMode && isDoMakeMode oldMode ->-                      ((doMakeMode, "--make"), [])--                    -- If we have both --help and --interactive then we-                    -- want showGhciUsage-                    _ | isShowGhcUsageMode oldMode &&-                        isDoInteractiveMode newMode ->-                            ((showGhciUsageMode, oldFlag), [])-                      | isShowGhcUsageMode newMode &&-                        isDoInteractiveMode oldMode ->-                            ((showGhciUsageMode, newFlag), [])-                    -- Otherwise, --help/--version/--numeric-version always win-                      | isDominantFlag oldMode -> ((oldMode, oldFlag), [])-                      | isDominantFlag newMode -> ((newMode, newFlag), [])-                    -- We need to accumulate eval flags like "-e foo -e bar"-                    (Right (Right (DoEval esOld)),-                     Right (Right (DoEval [eNew]))) ->-                        ((Right (Right (DoEval (eNew : esOld))), oldFlag),-                         errs)-                    -- Saying e.g. --interactive --interactive is OK-                    _ | oldFlag == newFlag -> ((oldMode, oldFlag), errs)-                    -- Otherwise, complain-                    _ -> let err = flagMismatchErr oldFlag newFlag-                         in ((oldMode, oldFlag), err : errs)-    putCmdLineState (Just modeFlag', errs', flags')-  where isDominantFlag f = isShowGhcUsageMode   f ||-                           isShowGhciUsageMode  f ||-                           isShowVersionMode    f ||-                           isShowNumVersionMode f--flagMismatchErr :: String -> String -> String-flagMismatchErr oldFlag newFlag-    = "cannot use `" ++ oldFlag ++  "' with `" ++ newFlag ++ "'"--addFlag :: String -> String -> EwM ModeM ()-addFlag s flag = liftEwM $ do-  (m, e, flags') <- getCmdLineState-  putCmdLineState (m, e, mkGeneralLocated loc s : flags')-    where loc = "addFlag by " ++ flag ++ " on the commandline"--type Mode = Either PreStartupMode PostStartupMode-type PostStartupMode = Either PreLoadMode PostLoadMode--data PreStartupMode-  = ShowVersion             -- ghc -V/--version-  | ShowNumVersion          -- ghc --numeric-version-  | ShowSupportedExtensions -- ghc --supported-extensions-  | Print String            -- ghc --print-foo--showVersionMode, showNumVersionMode, showSupportedExtensionsMode :: Mode-showVersionMode             = mkPreStartupMode ShowVersion-showNumVersionMode          = mkPreStartupMode ShowNumVersion-showSupportedExtensionsMode = mkPreStartupMode ShowSupportedExtensions--mkPreStartupMode :: PreStartupMode -> Mode-mkPreStartupMode = Left--isShowVersionMode :: Mode -> Bool-isShowVersionMode (Left ShowVersion) = True-isShowVersionMode _ = False--isShowNumVersionMode :: Mode -> Bool-isShowNumVersionMode (Left ShowNumVersion) = True-isShowNumVersionMode _ = False--data PreLoadMode-  = ShowGhcUsage                           -- ghc -?-  | ShowGhciUsage                          -- ghci -?-  | ShowInfo                               -- ghc --info-  | PrintWithDynFlags (DynFlags -> String) -- ghc --print-foo--showGhcUsageMode, showGhciUsageMode, showInfoMode :: Mode-showGhcUsageMode = mkPreLoadMode ShowGhcUsage-showGhciUsageMode = mkPreLoadMode ShowGhciUsage-showInfoMode = mkPreLoadMode ShowInfo--printSetting :: String -> Mode-printSetting k = mkPreLoadMode (PrintWithDynFlags f)-    where f dflags = fromMaybe (panic ("Setting not found: " ++ show k))-#if MIN_VERSION_ghc(7,2,0)-                   $ lookup k (compilerInfo dflags)-#else-                   $ fmap convertPrintable (lookup k compilerInfo)-              where-                convertPrintable (DynFlags.String s) = s-                convertPrintable (DynFlags.FromDynFlags f) = f dflags-#endif--mkPreLoadMode :: PreLoadMode -> Mode-mkPreLoadMode = Right . Left--isShowGhcUsageMode :: Mode -> Bool-isShowGhcUsageMode (Right (Left ShowGhcUsage)) = True-isShowGhcUsageMode _ = False--isShowGhciUsageMode :: Mode -> Bool-isShowGhciUsageMode (Right (Left ShowGhciUsage)) = True-isShowGhciUsageMode _ = False--data PostLoadMode-  = ShowInterface FilePath  -- ghc --show-iface-  | DoMkDependHS            -- ghc -M-  | StopBefore Phase        -- ghc -E | -C | -S-                            -- StopBefore StopLn is the default-  | DoMake                  -- ghc --make-  | DoInteractive           -- ghc --interactive-  | DoEval [String]         -- ghc -e foo -e bar => DoEval ["bar", "foo"]-  | DoAbiHash               -- ghc --abi-hash--doMkDependHSMode, doMakeMode, doInteractiveMode, doAbiHashMode :: Mode-doMkDependHSMode = mkPostLoadMode DoMkDependHS-doMakeMode = mkPostLoadMode DoMake-doInteractiveMode = mkPostLoadMode DoInteractive-doAbiHashMode = mkPostLoadMode DoAbiHash---showInterfaceMode :: FilePath -> Mode-showInterfaceMode fp = mkPostLoadMode (ShowInterface fp)--stopBeforeMode :: Phase -> Mode-stopBeforeMode phase = mkPostLoadMode (StopBefore phase)--doEvalMode :: String -> Mode-doEvalMode str = mkPostLoadMode (DoEval [str])--mkPostLoadMode :: PostLoadMode -> Mode-mkPostLoadMode = Right . Right--isDoInteractiveMode :: Mode -> Bool-isDoInteractiveMode (Right (Right DoInteractive)) = True-isDoInteractiveMode _ = False--isStopLnMode :: Mode -> Bool-isStopLnMode (Right (Right (StopBefore StopLn))) = True-isStopLnMode _ = False--isDoMakeMode :: Mode -> Bool-isDoMakeMode (Right (Right DoMake)) = True-isDoMakeMode _ = False--#ifdef GHCI-isInteractiveMode :: PostLoadMode -> Bool-isInteractiveMode DoInteractive = True-isInteractiveMode _             = False-#endif---- isInterpretiveMode: byte-code compiler involved-isInterpretiveMode :: PostLoadMode -> Bool-isInterpretiveMode DoInteractive = True-isInterpretiveMode (DoEval _)    = True-isInterpretiveMode _             = False--needsInputsMode :: PostLoadMode -> Bool-needsInputsMode DoMkDependHS    = True-needsInputsMode (StopBefore _)  = True-needsInputsMode DoMake          = True-needsInputsMode _               = False---- True if we are going to attempt to link in this mode.--- (we might not actually link, depending on the GhcLink flag)-isLinkMode :: PostLoadMode -> Bool-isLinkMode (StopBefore StopLn) = True-isLinkMode DoMake              = True-isLinkMode DoInteractive       = True-isLinkMode (DoEval _)          = True-isLinkMode _                   = False--isCompManagerMode :: PostLoadMode -> Bool-isCompManagerMode DoMake        = True-isCompManagerMode DoInteractive = True-isCompManagerMode (DoEval _)    = True-isCompManagerMode _             = False
− Keter.hs
@@ -1,69 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-module Keter-    ( keter-    ) where--import Data.Yaml-import qualified Data.HashMap.Strict as Map-import qualified Data.Text as T-import System.Exit-import System.Cmd-import Control.Monad-import System.Directory-import Data.Maybe (mapMaybe)-import qualified Filesystem.Path.CurrentOS as F-import qualified Filesystem as F-import qualified Codec.Archive.Tar as Tar-import Control.Exception-import qualified Data.ByteString.Lazy as L-import Codec.Compression.GZip (compress)--run :: String -> [String] -> IO ()-run a b = do-    ec <- rawSystem a b-    unless (ec == ExitSuccess) $ exitWith ec--keter :: String -- ^ cabal command-      -> Bool -- ^ no build?-      -> IO ()-keter cabal noBuild = do-    mvalue <- decodeFile "config/keter.yaml"-    value <--        case mvalue of-            Nothing -> error "No config/keter.yaml found"-            Just (Object value) ->-                case Map.lookup "host" value of-                    Just (String s) | "<<" `T.isPrefixOf` s ->-                        error "Please set your hostname in config/keter.yaml"-                    _ -> return value-            Just _ -> error "config/keter.yaml is not an object"--    files <- getDirectoryContents "."-    project <--        case mapMaybe (T.stripSuffix ".cabal" . T.pack) files of-            [x] -> return x-            [] -> error "No cabal file found"-            _ -> error "Too many cabal files found"--    exec <--        case Map.lookup "exec" value of-            Just (String s) -> return $ F.collapse $ "config" F.</> F.fromText s-            _ -> error "exec not found in config/keter.yaml"--    unless noBuild $ do-        run cabal ["clean"]-        run cabal ["configure"]-        run cabal ["build"]--    _ <- try' $ F.removeTree "static/tmp"--    archive <- Tar.pack "" [F.encodeString exec, "config", "static"]-    let fp = T.unpack project ++ ".keter"-    L.writeFile fp $ compress $ Tar.write archive--    case Map.lookup "copy-to" value of-        Just (String s) -> run "scp" [fp, T.unpack s]-        _ -> return ()--try' :: IO a -> IO (Either SomeException a)-try' = try
− Options.hs
@@ -1,95 +0,0 @@-{-# LANGUAGE PatternGuards       #-}-{-# LANGUAGE ScopedTypeVariables #-}-{-# LANGUAGE CPP                 #-}--module Options (injectDefaults) where--import           Control.Applicative-import qualified Control.Exception         as E-import           Control.Monad-import           Data.Char                 (isAlphaNum, isSpace, toLower)-import           Data.List                 (foldl')-import           Data.List.Split           (splitOn)-import qualified Data.Map                  as M-import           Data.Maybe                (catMaybes)-import           Data.Monoid-import           Options.Applicative-import           Options.Applicative.Types-import           System.Directory-import           System.Environment-import           System.FilePath           ((</>))---- | inject defaults from either files or environments---   in order of priority:---    1. command line arguments: --long-option=value---    2. environment variables: PREFIX_COMMAND_LONGOPTION=value---    3. $HOME/.prefix/config:  prefix.command.longoption=value------ note: this automatically injects values for standard options and flags---       (also inside subcommands), but not for more complex parsers that use BindP---       (like `many'). As a workaround a single special case is supported,---       for `many' arguments that generate a list of strings.--injectDefaults :: String                                     -- ^ prefix, program name-               -> [(String, a -> [String] -> a)]             -- ^ append extra options for arguments that are lists of strings-               -> ParserInfo a                               -- ^ original parsers-               -> IO (ParserInfo a)-injectDefaults prefix lenses parser = do-  e      <- getEnvironment-  config <- (readFile . (</> "config") =<< getAppUserDataDirectory prefix)-              `E.catch` \(_::E.SomeException) -> return ""-  let env = M.fromList . filter ((==[prefix]) . take 1 . fst) $-               configLines config <>                              -- config first-               map (\(k,v) -> (splitOn "_" $ map toLower k, v)) e -- env vars override config-      p' =  parser { infoParser = injectDefaultP env [prefix] (infoParser parser) }-  return $ foldl' (\p (key,l) -> fmap (updateA env key l) p) p' lenses--updateA :: M.Map [String] String -> String -> (a -> [String] -> a) -> a -> a-updateA env key upd a =-  case M.lookup (splitOn "." key) env of-    Nothing -> a-    Just v  -> upd a (splitOn ":" v)---- | really simple key/value file reader:   x.y = z -> (["x","y"],"z")-configLines :: String -> [([String], String)]-configLines = catMaybes . map (mkLine . takeWhile (/='#')) . lines-  where-    trim = let f = reverse . dropWhile isSpace in f . f-    mkLine l | (k, ('=':v)) <- break (=='=') l = Just (splitOn "." (trim k), trim v)-             | otherwise                       = Nothing---- | inject the environment into the parser---   the map contains the paths with the value that's passed into the reader if the---   command line parser gives no result-injectDefaultP :: M.Map [String] String -> [String] -> Parser a -> Parser a-injectDefaultP _env _path n@(NilP{})   = n-injectDefaultP env path p@(OptP o)-  | (Option (CmdReader cmds f) props) <- o  =-     let cmdMap = M.fromList (map (\c -> (c, mkCmd c)) cmds)-         mkCmd cmd =-           let (Just parseri) = f cmd-           in  parseri { infoParser = injectDefaultP env (path ++ [normalizeName cmd]) (infoParser parseri) }-     in  OptP (Option (CmdReader cmds (`M.lookup` cmdMap)) props)-#if MIN_VERSION_optparse_applicative(0, 5, 0)-  | (Option (OptReader names (CReader _ rdr) _) _) <- o =-     p <|> either (const empty) pure (msum $ map (rdr <=< (maybe (Left $ ErrorMsg "Missing environment variable") Right . getEnvValue env path)) names)-#else-  | (Option (OptReader names (CReader _ rdr)) _) <- o =-     p <|> maybe empty pure (msum $ map (rdr <=< getEnvValue env path) names)-#endif-  | (Option (FlagReader names a) _) <- o =-     p <|> if any ((==Just "1") . getEnvValue env path) names then pure a else empty-  | otherwise = p-injectDefaultP env path (MultP p1 p2) =-   MultP (injectDefaultP env path p1) (injectDefaultP env path p2)-injectDefaultP env path (AltP p1 p2) =-   AltP (injectDefaultP env path p1) (injectDefaultP env path p2)-injectDefaultP _env _path b@(BindP {}) = b--getEnvValue :: M.Map [String] String -> [String] -> OptName -> Maybe String-getEnvValue env path (OptLong l) = M.lookup (path ++ [normalizeName l]) env-getEnvValue _ _ _                = Nothing--normalizeName :: String -> String-normalizeName = map toLower . filter isAlphaNum-
− Scaffolding/Scaffolder.hs
@@ -1,101 +0,0 @@-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE TemplateHaskell   #-}-module Scaffolding.Scaffolder (scaffold) where--import           Control.Arrow         ((&&&))-import qualified Data.ByteString.Char8 as S-import           Data.Conduit          (runResourceT, yield, ($$), ($$+-))-import           Data.FileEmbed        (embedFile)-import           Data.String           (fromString)-import qualified Data.Text             as T-import qualified Data.Text.Lazy        as LT-import qualified Data.Text.Lazy.IO     as TLIO-import           Text.ProjectTemplate  (unpackTemplate, receiveFS)-import           System.IO-import           Text.Shakespeare.Text (renderTextUrl, textFile)-import Network.HTTP.Conduit (withManager, http, parseUrl, responseBody)--prompt :: (String -> Maybe a) -> IO a-prompt f = do-    s <- getLine-    case f s of-        Just a -> return a-        Nothing -> do-            putStr "That was not a valid entry, please try again: "-            hFlush stdout-            prompt f--data Backend = Sqlite-             | Postgresql-             | PostgresqlFay-             | Mysql-             | MongoDB-             | Simple-  deriving (Eq, Read, Show, Enum, Bounded)--puts :: LT.Text -> IO ()-puts s = TLIO.putStr (LT.init s) >> hFlush stdout--backends :: [Backend]-backends = [minBound .. maxBound]--showBackend :: Backend -> String-showBackend Sqlite = "s"-showBackend Postgresql = "p"-showBackend PostgresqlFay = "pf"-showBackend Mysql = "mysql"-showBackend MongoDB = "mongo"-showBackend Simple = "simple"--readBackend :: String -> Maybe Backend-readBackend s = lookup s $ map (showBackend &&& id) backends--backendBS :: Backend -> S.ByteString-backendBS Sqlite = $(embedFile "hsfiles/sqlite.hsfiles")-backendBS Postgresql = $(embedFile "hsfiles/postgres.hsfiles")-backendBS PostgresqlFay = $(embedFile "hsfiles/postgres-fay.hsfiles")-backendBS Mysql = $(embedFile "hsfiles/mysql.hsfiles")-backendBS MongoDB = $(embedFile "hsfiles/mongo.hsfiles")-backendBS Simple = $(embedFile "hsfiles/simple.hsfiles")---- | Is the character valid for a project name?-validPN :: Char -> Bool-validPN c-    | 'A' <= c && c <= 'Z' = True-    | 'a' <= c && c <= 'z' = True-    | '0' <= c && c <= '9' = True-validPN '-' = True-validPN _ = False--scaffold :: IO ()-scaffold = do-    puts $ renderTextUrl undefined $(textFile "input/welcome.cg")-    project <- prompt $ \s ->-        if all validPN s && not (null s) && s /= "test"-            then Just s-            else Nothing-    let dir = project--    puts $ renderTextUrl undefined $(textFile "input/database.cg")--    ebackend' <- prompt $ \s -> if s == "url" then Just (Left ()) else fmap Right $ readBackend s--    ebackend <--        case ebackend' of-            Left () -> do-                puts "Please enter the URL:  "-                fmap Left $ prompt parseUrl-            Right backend -> return $ Right backend--    putStrLn "That's it! I'm creating your files now..."--    let sink = unpackTemplate-                (receiveFS $ fromString project)-                (T.replace "PROJECTNAME" (T.pack project))-    case ebackend of-        Left req -> withManager $ \m -> do-            res <- http req m-            responseBody res $$+- sink-        Right backend -> runResourceT $ yield (backendBS backend) $$ sink--    TLIO.putStr $ LT.replace "PROJECTNAME" (LT.pack project) $ renderTextUrl undefined $(textFile "input/done.cg")
Yesod.hs view
@@ -5,17 +5,9 @@     ( -- * Re-exports from yesod-core       module Yesod.Core     , module Yesod.Form-    , module Yesod.Json     , module Yesod.Persist-      -- * Running your application-    , warp-    , warpDebug-    , warpEnv-    , develServer       -- * Commonly referenced functions/datatypes     , Application-    , liftIO-    , MonadBaseControl       -- * Utilities     , showIntegral     , readIntegral@@ -24,13 +16,10 @@     , hamlet     , xhamlet     , HtmlUrl-    , Html-    , toHtml       -- ** Julius     , julius     , JavascriptUrl     , renderJavascriptUrl-    , toJSON       -- ** Cassius/Lucius     , cassius     , lucius@@ -45,18 +34,9 @@ import Text.Julius  import Yesod.Form-import Yesod.Json import Yesod.Persist-import Control.Monad.IO.Class (liftIO, MonadIO(..))-import Control.Monad.Trans.Control (MonadBaseControl)  import Network.Wai-import Network.Wai.Middleware.RequestLogger (logStdout)-import Network.Wai.Handler.Warp (run)-import System.IO (stderr, hPutStrLn)-import Text.Blaze.Html (toHtml)-import System.Environment (getEnv)-import Data.Aeson (toJSON)  showIntegral :: Integral a => a -> String showIntegral x = show (fromIntegral x :: Integer)@@ -66,54 +46,3 @@     case reads s of         (i, _):_ -> Just $ fromInteger i         [] -> Nothing---- | A convenience method to run an application using the Warp webserver on the--- specified port. Automatically calls 'toWaiApp'.-warp :: (Yesod a, YesodDispatch a a) => Int -> a -> IO ()-warp port a = toWaiApp a >>= run port---- | Same as 'warp', but also sends a message to stdout for each request, and--- an \"application launched\" message as well. Can be useful for development.-warpDebug :: (Yesod a, YesodDispatch a a) => Int -> a -> IO ()-warpDebug port app = do-  hPutStrLn stderr $ "Application launched, listening on port " ++ show port-  waiApp <- toWaiApp app-  run port $ logStdout waiApp---- | Runs your application using default middlewares (i.e., via 'toWaiApp'). It--- reads port information from the PORT environment variable, as used by tools--- such as Keter.------ Note that the exact behavior of this function may be modified slightly over--- time to work correctly with external tools, without a change to the type--- signature.-warpEnv :: (Yesod a, YesodDispatch a a) => a -> IO ()-warpEnv master = do-    port <- getEnv "PORT" >>= readIO-    app <- toWaiApp master-    run port app---- | Run a development server, where your code changes are automatically--- reloaded.-develServer :: Int -- ^ port number-            -> String -- ^ module name holding the code-            -> String -- ^ name of function providing a with-application-            -> IO ()--develServer port modu func =-    mapM_ putStrLn-        [ "Due to issues with GHC 7.0.2, you must now run the devel server"-        , "separately. To do so, ensure you have installed the "-        , "wai-handler-devel package >= 0.2.1 and run:"-        , concat-            [ "   wai-handler-devel "-            , show port-            , " "-            , modu-            , " "-            , func-            , " --yesod"-            ]-        , ""-        ]-
+ Yesod/Default/Config.hs view
@@ -0,0 +1,232 @@+{-# LANGUAGE DeriveDataTypeable #-}+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE PatternGuards #-}+module Yesod.Default.Config+    ( DefaultEnv (..)+    , fromArgs+    , loadDevelopmentConfig++    -- reexport+    , AppConfig (..)+    , ConfigSettings (..)+    , configSettings+    , loadConfig+    , withYamlEnvironment+    ) where++import Data.Char (toUpper, toLower)+import Data.Text (Text)+import qualified Data.Text as T+import Data.Yaml+import Data.Maybe (fromMaybe)+import qualified Data.HashMap.Strict as M+import System.Environment (getArgs, getProgName, getEnvironment)+import System.Exit (exitFailure)+import Data.Conduit.Network (HostPreference)+import Data.String (fromString)++-- | A yesod-provided @'AppEnv'@, allows for Development, Testing, and+--   Production environments+data DefaultEnv = Development+                | Testing+                | Staging+                | Production deriving (Read, Show, Enum, Bounded)++-- | Setup commandline arguments for environment and port+data ArgConfig env = ArgConfig+    { environment :: env+    , port        :: Int+    } deriving Show++parseArgConfig :: (Show env, Read env, Enum env, Bounded env) => IO (ArgConfig env)+parseArgConfig = do+    let envs = [minBound..maxBound]+    args <- getArgs+    (portS, args') <- getPort id args+    portI <-+        case reads portS of+            (i, _):_ -> return i+            [] -> error $ "Invalid port value: " ++ show portS+    case args' of+        [e] -> do+            case reads $ capitalize e of+                (e', _):_ -> return $ ArgConfig e' portI+                [] -> do+                    () <- error $ "Invalid environment, valid entries are: " ++ show envs+                    -- next line just provided to force the type of envs+                    return $ ArgConfig (head envs) 0+        _ -> do+            pn <- getProgName+            putStrLn $ "Usage: " ++ pn ++ " <environment> [--port <port>]"+            putStrLn $ "Valid environments: " ++ show envs+            exitFailure+  where+    getPort front [] = do+        env <- getEnvironment+        return (fromMaybe "0" $ lookup "PORT" env, front [])+    getPort front ("--port":p:rest) = return (p, front rest)+    getPort front ("-p":p:rest) = return (p, front rest)+    getPort front (arg:rest) = getPort (front . (arg:)) rest++    capitalize [] = []+    capitalize (x:xs) = toUpper x : map toLower xs++-- | Load the app config from command line parameters+fromArgs :: (Read env, Show env, Enum env, Bounded env)+         => (env -> Object -> Parser extra)+         -> IO (AppConfig env extra)+fromArgs getExtra = do+    args <- parseArgConfig++    let env = environment args++    let cs = (configSettings env)+                { csParseExtra = getExtra+                }+    config <- loadConfig cs++    env' <- getEnvironment+    let config' =+            case lookup "APPROOT" env' of+                Nothing -> config+                Just ar -> config { appRoot = T.pack ar }++    return $ if port args /= 0+                then config' { appPort = port args }+                else config'++-- | Load your development config (when using @'DefaultEnv'@)+loadDevelopmentConfig :: IO (AppConfig DefaultEnv ())+loadDevelopmentConfig = loadConfig $ configSettings Development++-- | Dynamic per-environment configuration which can be loaded at+--   run-time negating the need to recompile between environments.+data AppConfig environment extra = AppConfig+    { appEnv   :: environment+    , appPort  :: Int+    , appRoot  :: Text+    , appHost  :: HostPreference+    , appExtra :: extra+    } deriving (Show)++data ConfigSettings environment extra = ConfigSettings+    {+    -- | An arbitrary value, used below, to indicate the current running+    -- environment. Usually, you will use 'DefaultEnv' for this type.+       csEnv :: environment+    -- | Load any extra data, to be used by the application.+    , csParseExtra :: environment -> Object -> Parser extra+    -- | Return the path to the YAML config file.+    , csFile :: environment -> IO FilePath+    -- | Get the sub-object (if relevant) from the given YAML source which+    -- contains the specific settings for the current environment.+    , csGetObject :: environment -> Value -> IO Value+    }++-- | Default config settings.+configSettings :: Show env => env -> ConfigSettings env ()+configSettings env0 = ConfigSettings+    { csEnv = env0+    , csParseExtra = \_ _ -> return ()+    , csFile = \_ -> return "config/settings.yml"+    , csGetObject = \env v -> do+        envs <-+            case v of+                Object obj -> return obj+                _ -> fail "Expected Object"+        let senv = show env+            tenv = T.pack senv+        maybe+            (error $ "Could not find environment: " ++ senv)+            return+            (M.lookup tenv envs)+    }++-- | Load an @'AppConfig'@.+--+--   Some examples:+--+--   > -- typical local development+--   > Development:+--   >   host: localhost+--   >   port: 3000+--   >+--   >   -- approot: will default to ""+--+--   > -- typical outward-facing production box+--   > Production:+--   >   host: www.example.com+--   >+--   >   -- port: will default 80+--   >   -- host: will default to "*"+--   >   -- approot: will default "http://www.example.com"+--+--   > -- maybe you're reverse proxying connections to the running app+--   > -- on some other port+--   > Production:+--   >   port: 8080+--   >   approot: "http://example.com"+--   >   host: "localhost"+loadConfig :: ConfigSettings environment extra+           -> IO (AppConfig environment extra)+loadConfig (ConfigSettings env parseExtra getFile getObject) = do+    fp <- getFile env+    mtopObj <- decodeFile fp+    topObj <- maybe (fail "Invalid YAML file") return mtopObj+    obj <- getObject env topObj+    m <-+        case obj of+            Object m -> return m+            _ -> fail "Expected map"++    let host    = fromString $ T.unpack $ fromMaybe "*" $ lookupScalar "host"    m+    mport <- parseMonad (\x -> x .: "port") m+    let approot' = fromMaybe "" $ lookupScalar "approot" m++    -- Handle the DISPLAY_PORT environment variable for yesod devel+    approot <-+        case T.stripSuffix ":3000" approot' of+            Nothing -> return approot'+            Just prefix -> do+                envVars <- getEnvironment+                case lookup "DISPLAY_PORT" envVars of+                    Nothing -> return approot'+                    Just p -> return $ prefix `T.append` T.pack (':' : p)++    extra <- parseMonad (parseExtra env) m++    -- set some default arguments+    let port' = fromMaybe 80 mport++    return $ AppConfig+        { appEnv   = env+        , appPort  = port'+        , appRoot  = approot+        , appHost  = host+        , appExtra = extra+        }++    where+        lookupScalar k m =+            case M.lookup k m of+                Just (String t) -> return t+                Just _ -> fail $ "Invalid value for: " ++ show k+                Nothing -> fail $ "Not found: " ++ show k++-- | Loads the configuration block in the passed file named by the+--   passed environment, yeilds to the passed function as a mapping.+--+--   Errors in the case of a bad load or if your function returns+--   @Nothing@.+withYamlEnvironment :: Show e+                    => FilePath -- ^ the yaml file+                    -> e        -- ^ the environment you want to load+                    -> (Value -> Parser a) -- ^ what to do with the mapping+                    -> IO a+withYamlEnvironment fp env f = do+    mval <- decodeFile fp+    case mval of+        Nothing -> fail $ "Invalid YAML file: " ++ show fp+        Just (Object obj)+            | Just v <- M.lookup (T.pack $ show env) obj -> parseMonad f v+        _ -> fail $ "Could not find environment: " ++ show env
+ Yesod/Default/Handlers.hs view
@@ -0,0 +1,13 @@+{-# LANGUAGE OverloadedStrings #-}+module Yesod.Default.Handlers+    ( getFaviconR+    , getRobotsR+    ) where++import Yesod.Core++getFaviconR :: MonadHandler m => m ()+getFaviconR = sendFile "image/x-icon" "config/favicon.ico"++getRobotsR :: MonadHandler m => m ()+getRobotsR = sendFile "text/plain" "config/robots.txt"
+ Yesod/Default/Main.hs view
@@ -0,0 +1,92 @@+{-# LANGUAGE CPP                #-}+{-# LANGUAGE DeriveDataTypeable #-}+module Yesod.Default.Main+    ( defaultMain+    , defaultRunner+    , defaultDevelApp+    ) where++import Yesod.Default.Config+import Network.Wai (Application)+import Network.Wai.Handler.Warp+    (runSettings, defaultSettings, settingsPort, settingsHost)+import System.Directory (doesDirectoryExist, removeDirectoryRecursive)+import Network.Wai.Middleware.Gzip (gzip, GzipFiles (GzipCacheFolder), gzipFiles, def)+import Network.Wai.Middleware.Autohead (autohead)+import Network.Wai.Middleware.Jsonp (jsonp)+import Control.Monad (when)+import System.Environment (getEnvironment)+import Data.Maybe (fromMaybe)+import Safe (readMay)++#ifndef WINDOWS+import qualified System.Posix.Signals as Signal+import Control.Concurrent (forkIO, killThread)+import Control.Concurrent.MVar (newEmptyMVar, putMVar, takeMVar)+#endif++-- | Run your app, taking environment and port settings from the+--   commandline.+--+--   @'fromArgs'@ helps parse a custom configuration+--+--   > main :: IO ()+--   > main = defaultMain (fromArgs parseExtra) makeApplication+--+defaultMain :: (Show env, Read env)+            => IO (AppConfig env extra)+            -> (AppConfig env extra -> IO Application)+            -> IO ()+defaultMain load getApp = do+    config <- load+    app <- getApp config+    runSettings defaultSettings+        { settingsPort = appPort config+        , settingsHost = appHost config+        } app++-- | Run your application continously, listening for SIGINT and exiting+--   when received+--+--   > withYourSite :: AppConfig DefaultEnv -> Logger -> (Application -> IO a) -> IO ()+--   > withYourSite conf logger f = do+--   >     Settings.withConnectionPool conf $ \p -> do+--   >         runConnectionPool (runMigration yourMigration) p+--   >         defaultRunner f $ YourSite conf logger p+defaultRunner :: (Application -> IO ()) -> Application -> IO ()+defaultRunner f app = do+    -- clear the .static-cache so we don't have stale content+    exists <- doesDirectoryExist staticCache+    when exists $ removeDirectoryRecursive staticCache+#ifdef WINDOWS+    f (middlewares app)+#else+    tid <- forkIO $ f (middlewares app) >> return ()+    flag <- newEmptyMVar+    _ <- Signal.installHandler Signal.sigINT (Signal.CatchOnce $ do+        putStrLn "Caught an interrupt"+        killThread tid+        putMVar flag ()) Nothing+    takeMVar flag+#endif+  where+    middlewares = gzip gset . jsonp . autohead++    gset = def { gzipFiles = GzipCacheFolder staticCache }+    staticCache = ".static-cache"++-- | Run your development app using a custom environment type and loader+--   function+defaultDevelApp+    :: (Show env, Read env)+    => IO (AppConfig env extra) -- ^ A means to load your development @'AppConfig'@+    -> (AppConfig env extra -> IO Application) -- ^ Get your @Application@+    -> IO (Int, Application)+defaultDevelApp load getApp = do+    conf   <- load+    env <- getEnvironment+    let p = fromMaybe (appPort conf) $ lookup "PORT" env >>= readMay+        pdisplay = fromMaybe p $ lookup "DISPLAY_PORT" env >>= readMay+    putStrLn $ "Devel application launched: http://localhost:" ++ show pdisplay+    app <- getApp conf+    return (p, app)
+ Yesod/Default/Util.hs view
@@ -0,0 +1,136 @@+{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE TemplateHaskell #-}+{-# LANGUAGE CPP #-}+-- | Various utilities used in the scaffolded site.+module Yesod.Default.Util+    ( addStaticContentExternal+    , globFile+    , widgetFileNoReload+    , widgetFileReload+    , TemplateLanguage (..)+    , defaultTemplateLanguages+    , WidgetFileSettings+    , wfsLanguages+    , wfsHamletSettings+    ) where++import qualified Data.ByteString.Lazy as L+import Data.Text (Text, pack, unpack)+import Yesod.Core -- purposely using complete import so that Haddock will see addStaticContent+import Control.Monad (when, unless)+import System.Directory (doesFileExist, createDirectoryIfMissing)+import Language.Haskell.TH.Syntax+import Text.Lucius (luciusFile, luciusFileReload)+import Text.Julius (juliusFile, juliusFileReload)+import Text.Cassius (cassiusFile, cassiusFileReload)+import Text.Hamlet (HamletSettings, defaultHamletSettings)+import Data.Maybe (catMaybes)+import Data.Default (Default (def))++-- | An implementation of 'addStaticContent' which stores the contents in an+-- external file. Files are created in the given static folder with names based+-- on a hash of their content. This allows expiration dates to be set far in+-- the future without worry of users receiving stale content.+addStaticContentExternal+    :: (L.ByteString -> Either a L.ByteString) -- ^ javascript minifier+    -> (L.ByteString -> String) -- ^ hash function to determine file name+    -> FilePath -- ^ location of static directory. files will be placed within a "tmp" subfolder+    -> ([Text] -> Route master) -- ^ route constructor, taking a list of pieces+    -> Text -- ^ filename extension+    -> Text -- ^ mime type+    -> L.ByteString -- ^ file contents+    -> HandlerT master IO (Maybe (Either Text (Route master, [(Text, Text)])))+addStaticContentExternal minify hash staticDir toRoute ext' _ content = do+    liftIO $ createDirectoryIfMissing True statictmp+    exists <- liftIO $ doesFileExist fn'+    unless exists $ liftIO $ L.writeFile fn' content'+    return $ Just $ Right (toRoute ["tmp", pack fn], [])+  where+    fn, statictmp, fn' :: FilePath+    -- by basing the hash off of the un-minified content, we avoid a costly+    -- minification if the file already exists+    fn = hash content ++ '.' : unpack ext'+    statictmp = staticDir ++ "/tmp/"+    fn' = statictmp ++ fn++    content' :: L.ByteString+    content'+        | ext' == "js" = either (const content) id $ minify content+        | otherwise = content++-- | expects a file extension for each type, e.g: hamlet lucius julius+globFile :: String -> String -> FilePath+globFile kind x = "templates/" ++ x ++ "." ++ kind++data TemplateLanguage = TemplateLanguage+    { tlRequiresToWidget :: Bool+    , tlExtension :: String+    , tlNoReload :: FilePath -> Q Exp+    , tlReload :: FilePath -> Q Exp+    }++defaultTemplateLanguages :: HamletSettings -> [TemplateLanguage]+defaultTemplateLanguages hset =+    [ TemplateLanguage False "hamlet"  whamletFile' whamletFile'+    , TemplateLanguage True  "cassius" cassiusFile  cassiusFileReload+    , TemplateLanguage True  "julius"  juliusFile   juliusFileReload+    , TemplateLanguage True  "lucius"  luciusFile   luciusFileReload+    ]+  where+    whamletFile' = whamletFileWithSettings hset++data WidgetFileSettings = WidgetFileSettings+    { wfsLanguages :: HamletSettings -> [TemplateLanguage]+    , wfsHamletSettings :: HamletSettings+    }++instance Default WidgetFileSettings where+    def = WidgetFileSettings defaultTemplateLanguages defaultHamletSettings++widgetFileNoReload :: WidgetFileSettings -> FilePath -> Q Exp+widgetFileNoReload wfs x = combine "widgetFileNoReload" x False $ wfsLanguages wfs $ wfsHamletSettings wfs++widgetFileReload :: WidgetFileSettings -> FilePath -> Q Exp+widgetFileReload wfs x = combine "widgetFileReload" x True $ wfsLanguages wfs $ wfsHamletSettings wfs++combine :: String -> String -> Bool -> [TemplateLanguage] -> Q Exp+combine func file isReload tls = do+    mexps <- qmexps+    case catMaybes mexps of+        [] -> error $ concat+            [ "Called "+            , func+            , " on "+            , show file+            , ", but no template were found."+            ]+        exps -> return $ DoE $ map NoBindS exps+  where+    qmexps :: Q [Maybe Exp]+    qmexps = mapM go tls++    go :: TemplateLanguage -> Q (Maybe Exp)+    go tl = whenExists file (tlRequiresToWidget tl) (tlExtension tl) ((if isReload then tlReload else tlNoReload) tl)++whenExists :: String+           -> Bool -- ^ requires toWidget wrap+           -> String -> (FilePath -> Q Exp) -> Q (Maybe Exp)+whenExists = warnUnlessExists False++warnUnlessExists :: Bool+                 -> String+                 -> Bool -- ^ requires toWidget wrap+                 -> String -> (FilePath -> Q Exp) -> Q (Maybe Exp)+warnUnlessExists shouldWarn x wrap glob f = do+    let fn = globFile glob x+    e <- qRunIO $ doesFileExist fn+    when (shouldWarn && not e) $ qRunIO $ putStrLn $ "widget file not found: " ++ fn+    if e+        then do+            ex <- f fn+            if wrap+                then do+                    tw <- [|toWidget|]+                    return $ Just $ tw `AppE` ex+                else return $ Just ex+        else return Nothing
− ghcwrapper.hs
@@ -1,60 +0,0 @@-{--  wrapper executable that captures arguments to ghc, ar or ld--}--{-# LANGUAGE CPP #-}-module Main where--import           Control.Monad                     (when)-import           Data.Maybe                        (fromMaybe)--import           Distribution.Compiler             (CompilerFlavor (..))-import           Distribution.Simple.Configure     (configCompiler)-import           Distribution.Simple.Program       (arProgram,-                                                    defaultProgramConfiguration,-                                                    ghcProgram, ldProgram,-                                                    programPath)-import           Distribution.Simple.Program.Db    (configureAllKnownPrograms,-                                                    lookupProgram)-import           Distribution.Simple.Program.Types (Program (..))-import           Distribution.Verbosity            (silent)--import           System.Directory                  (doesDirectoryExist)-import           System.Environment                (getArgs)-import           System.Exit                       (ExitCode (..), exitWith)-import           System.IO                         (hPutStrLn, stderr)-import           System.Process                    (rawSystem, readProcess)---#ifdef LDCMD-cmd :: Program-cmd = ldProgram-outFile = "yesod-devel/ldargs.txt"-#else-#ifdef ARCMD-cmd :: Program-cmd = arProgram-outFile ="yesod-devel/arargs.txt"-#else-cmd :: Program-cmd = ghcProgram-outFile = "yesod-devel/ghcargs.txt"-#endif-#endif--runProgram :: Program -> [String] -> IO ExitCode-runProgram pgm args = do-  (comp, pgmc) <- configCompiler (Just GHC) Nothing Nothing defaultProgramConfiguration silent-  pgmc' <- configureAllKnownPrograms silent pgmc-  case lookupProgram pgm pgmc' of-    Nothing -> do-      hPutStrLn stderr ("cannot find program '" ++ programName pgm ++ "'")-      return (ExitFailure 1)-    Just p -> rawSystem (programPath p) args--main = do-  args <- getArgs-  e <- doesDirectoryExist "yesod-devel"-  when e $ writeFile outFile (show args ++ "\n")-  ex <- runProgram cmd args-  exitWith ex
− hsfiles/mongo.hsfiles
@@ -1,5832 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Settings-import Yesod.Auth-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import qualified Database.Persist.Store-import Network.HTTP.Conduit (newManager, def)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    dbconf <- withYamlEnvironment "config/mongoDB.yml" (appEnv conf)-              Database.Persist.Store.loadConfig >>=-              Database.Persist.Store.applyEnv-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-    logger <- mkLogger True stdout-    let foundation = App conf s p manager dbconf logger--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Auth-import Yesod.Auth.BrowserId-import Yesod.Auth.GoogleEmail-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import qualified Database.Persist.Store-import Settings.StaticFiles-import Database.Persist.MongoDB hiding (master)-import Settings (widgetFile, Extra (..))-import Model-import Text.Jasmine (minifym)-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.-    , httpManager :: Manager-    , persistConfig :: Settings.PersistConfig-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- The page to be redirected to when authentication is required.-    authRoute _ = Just $ AuthR LoginR--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal minifym genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger---- How to run database actions.-instance YesodPersist App where-    type YesodPersistBackend App = Action-    runDB f = do-        master <- getYesod-        Database.Persist.Store.runPool-            (persistConfig master)-            f-            (connPool master)--instance YesodAuth App where-    type AuthId App = UserId--    -- Where to send a user after successful login-    loginDest _ = HomeR-    -- Where to send a user after logout-    logoutDest _ = HomeR--    getAuthId creds = runDB $ do-        x <- getBy $ UniqueUser $ credsIdent creds-        case x of-            Just (Entity uid _) -> return $ Just uid-            Nothing -> do-                fmap Just $ insert $ User (credsIdent creds) Nothing--    -- You can add other plugins like BrowserID, email or OAuth here-    authPlugins _ = [authBrowserId, authGoogleEmail]--    authHttpManager = httpManager---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Model                as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE Model.hs #-}-module Model where--import Prelude-import Yesod-import Data.Text (Text)-import Database.Persist.Quasi-import Database.Persist.MongoDB hiding (master)-import Language.Haskell.TH.Syntax---- You can define all of your database entities in the entities file.--- You can find more information on persistent and how to declare entities--- at:--- http://www.yesodweb.com/book/persistent/-let mongoSettings = (mkPersistSettings (ConT ''MongoBackend))-                        { mpsGeneric = False-                        }- in share [mkPersist mongoSettings]-    $(persistFileWith lowerCaseSettings "config/models")--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    exposed-modules: Application-                     Foundation-                     Import-                     Model-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-auth                    >= 1.1        && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , persistent                    >= 1.1        && < 1.2-                 , persistent-mongoDB            >= 1.1        && < 1.2-                 , persistent-template           >= 1.1.1      && < 1.2-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , hjsmin                        >= 0.1        && < 0.2-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core-                 , persistent-                 , persistent-mongoDB-                 , resourcet-                 , monad-logger--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Database.Persist.MongoDB (MongoConf)-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet---- | Which Persistent backend this site is using.-type PersistConfig = MongoConf---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/models #-}-User-    ident Text-    password Text Maybe-    UniqueUser ident-Email-    email Text-    user UserId Maybe-    verkey Text Maybe-    UniqueEmail email-- -- By default this file is used in Model.hs (which is imported by Foundation.hs)--{-# START_FILE config/mongoDB.yml #-}-Default: &defaults-  user: PROJECTNAME-  password: PROJECTNAME-  host: localhost-  database: PROJECTNAME-  connections: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test-  <<: *defaults--Staging:-  database: PROJECTNAME_staging-  connections: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production-  connections: 100-  host: localhost-  <<: *defaults--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static StaticR Static getStatic-/auth   AuthR   Auth   getAuth--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport-import qualified Data.List as L--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $ do--    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--    -- This is a simple example of using a database access in a test.  The-    -- test will succeed for a fresh scaffolded site with an empty database,-    -- but will fail on an existing database with a non-empty user table.-    it "leaves the user table empty" $ do-      get_ "/"-      statusIs 200-      users <- runDB $ selectList ([] :: [Filter User]) []-      assertEqual "user table empty" 0 $ L.length users--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , module Model-    , module Database.Persist-    , runDB-    , Specs-    ) where--import Yesod.Test-import Database.Persist hiding (get)-import Database.Persist.MongoDB hiding (master)-import Control.Monad.Trans.Resource (ResourceT, runResourceT)-import Control.Monad.Logger (NoLoggingT, runNoLoggingT)--import Model--type Specs = SpecsConn Connection--runDB :: Action (NoLoggingT (ResourceT IO)) a -> OneSpec Connection a-runDB = runDBRunner poolRunner-  where-    poolRunner query pool = runResourceT-                          $ runNoLoggingT-                          $ runMongoDBPoolDef query pool--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (connPool foundation) homeSpecs-
− hsfiles/mysql.hsfiles
@@ -1,5861 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Settings-import Yesod.Auth-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import qualified Database.Persist.Store-import Database.Persist.GenericSql (runMigration)-import Network.HTTP.Conduit (newManager, def)-import Control.Monad.Logger (runLoggingT)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    dbconf <- withYamlEnvironment "config/mysql.yml" (appEnv conf)-              Database.Persist.Store.loadConfig >>=-              Database.Persist.Store.applyEnv-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-    logger <- mkLogger True stdout-    let foundation = App conf s p manager dbconf logger--    -- Perform database migration using our application's logging settings.-    runLoggingT-        (Database.Persist.Store.runPool dbconf (runMigration migrateAll) p)-        (messageLoggerSource foundation logger)--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Auth-import Yesod.Auth.BrowserId-import Yesod.Auth.GoogleEmail-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import qualified Database.Persist.Store-import Settings.StaticFiles-import Database.Persist.GenericSql-import Settings (widgetFile, Extra (..))-import Model-import Text.Jasmine (minifym)-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.-    , httpManager :: Manager-    , persistConfig :: Settings.PersistConfig-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- The page to be redirected to when authentication is required.-    authRoute _ = Just $ AuthR LoginR--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal minifym genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger---- How to run database actions.-instance YesodPersist App where-    type YesodPersistBackend App = SqlPersist-    runDB f = do-        master <- getYesod-        Database.Persist.Store.runPool-            (persistConfig master)-            f-            (connPool master)--instance YesodAuth App where-    type AuthId App = UserId--    -- Where to send a user after successful login-    loginDest _ = HomeR-    -- Where to send a user after logout-    logoutDest _ = HomeR--    getAuthId creds = runDB $ do-        x <- getBy $ UniqueUser $ credsIdent creds-        case x of-            Just (Entity uid _) -> return $ Just uid-            Nothing -> do-                fmap Just $ insert $ User (credsIdent creds) Nothing--    -- You can add other plugins like BrowserID, email or OAuth here-    authPlugins _ = [authBrowserId, authGoogleEmail]--    authHttpManager = httpManager---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Model                as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE Model.hs #-}-module Model where--import Prelude-import Yesod-import Data.Text (Text)-import Database.Persist.Quasi----- You can define all of your database entities in the entities file.--- You can find more information on persistent and how to declare entities--- at:--- http://www.yesodweb.com/book/persistent/-share [mkPersist sqlOnlySettings, mkMigrate "migrateAll"]-    $(persistFileWith lowerCaseSettings "config/models")--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    exposed-modules: Application-                     Foundation-                     Import-                     Model-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-auth                    >= 1.1        && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , persistent                    >= 1.1        && < 1.2-                 , persistent-mysql              >= 1.1        && < 1.2-                 , persistent-template           >= 1.1.1      && < 1.2-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , hjsmin                        >= 0.1        && < 0.2-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core-                 , persistent-                 , persistent-mysql-                 , resourcet-                 , monad-logger--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Database.Persist.MySQL (MySQLConf)-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet---- | Which Persistent backend this site is using.-type PersistConfig = MySQLConf---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/models #-}-User-    ident Text-    password Text Maybe-    UniqueUser ident-Email-    email Text-    user UserId Maybe-    verkey Text Maybe-    UniqueEmail email-- -- By default this file is used in Model.hs (which is imported by Foundation.hs)--{-# START_FILE config/mysql.yml #-}-Default: &defaults-  user: PROJECTNAME-  password: PROJECTNAME-  host: localhost-  port: 3306-  database: PROJECTNAME-  poolsize: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test-  <<: *defaults--Staging:-  database: PROJECTNAME_staging-  poolsize: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production-  poolsize: 100-  <<: *defaults--{-# START_FILE config/postgresql.yml #-}-Default: &defaults-  user: PROJECTNAME-  password: PROJECTNAME-  host: localhost-  port: 5432-  database: PROJECTNAME-  poolsize: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test-  <<: *defaults--Staging:-  database: PROJECTNAME_staging-  poolsize: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production-  poolsize: 100-  <<: *defaults--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static StaticR Static getStatic-/auth   AuthR   Auth   getAuth--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport-import qualified Data.List as L--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $ do--    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--    -- This is a simple example of using a database access in a test.  The-    -- test will succeed for a fresh scaffolded site with an empty database,-    -- but will fail on an existing database with a non-empty user table.-    it "leaves the user table empty" $ do-      get_ "/"-      statusIs 200-      users <- runDB $ selectList ([] :: [Filter User]) []-      assertEqual "user table empty" 0 $ L.length users--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , module Model-    , module Database.Persist-    , runDB-    , Specs-    ) where--import Yesod.Test-import Database.Persist hiding (get)-import Database.Persist.GenericSql (runSqlPool, SqlPersist, Connection)-import Control.Monad.Trans.Resource (ResourceT, runResourceT)-import Control.Monad.Logger (NoLoggingT, runNoLoggingT)--import Model--type Specs = SpecsConn Connection--runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> OneSpec Connection a-runDB = runDBRunner poolRunner-  where-    poolRunner query pool = runResourceT-                          $ runNoLoggingT-                          $ runSqlPool query pool--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (connPool foundation) homeSpecs-
− hsfiles/postgres-fay.hsfiles
@@ -1,5947 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-fay/Language/Fay/Yesod.hs-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Settings-import Yesod.Auth-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import qualified Database.Persist.Store-import Database.Persist.GenericSql (runMigration)-import Network.HTTP.Conduit (newManager, def)-import Yesod.Fay (getFaySite)-import Control.Monad.Logger (runLoggingT)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Fay-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-              Database.Persist.Store.loadConfig >>=-              Database.Persist.Store.applyEnv-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-    logger <- mkLogger True stdout-    let foundation = App conf s p manager dbconf onCommand logger--    -- Perform database migration using our application's logging settings.-    runLoggingT-        (Database.Persist.Store.runPool dbconf (runMigration migrateAll) p)-        (messageLoggerSource foundation logger)--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Auth-import Yesod.Auth.BrowserId-import Yesod.Auth.GoogleEmail-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import qualified Database.Persist.Store-import Settings.StaticFiles-import Database.Persist.GenericSql-import Settings (widgetFile, Extra (..))-import Model-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import Yesod.Fay-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.-    , httpManager :: Manager-    , persistConfig :: Settings.PersistConfig-    , fayCommandHandler :: CommandHandler App App-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- The page to be redirected to when authentication is required.-    authRoute _ = Just $ AuthR LoginR--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal Right genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger--instance YesodJquery App-instance YesodFay App where--    fayRoute = FaySiteR--    yesodFayCommand render command = do-        master <- getYesod-        fayCommandHandler master render command---- How to run database actions.-instance YesodPersist App where-    type YesodPersistBackend App = SqlPersist-    runDB f = do-        master <- getYesod-        Database.Persist.Store.runPool-            (persistConfig master)-            f-            (connPool master)--instance YesodAuth App where-    type AuthId App = UserId--    -- Where to send a user after successful login-    loginDest _ = HomeR-    -- Where to send a user after logout-    logoutDest _ = HomeR--    getAuthId creds = runDB $ do-        x <- getBy $ UniqueUser $ credsIdent creds-        case x of-            Just (Entity uid _) -> return $ Just uid-            Nothing -> do-                fmap Just $ insert $ User (credsIdent creds) Nothing--    -- You can add other plugins like BrowserID, email or OAuth here-    authPlugins _ = [authBrowserId, authGoogleEmail]--    authHttpManager = httpManager---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Fay.hs #-}-module Handler.Fay where--import Import-import Yesod.Fay-import Fay.Convert (readFromFay)--fibs :: [Int]-fibs = 0 : 1 : zipWith (+) fibs (drop 1 fibs)--onCommand :: CommandHandler App App-onCommand render command =-    case readFromFay command of-      Just (GetFib index r) -> render r $ fibs !! index-      Nothing               -> invalidArgs ["Invalid command"]--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import-import Language.Haskell.TH ( Exp(..) )---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")-        $(fayFile' (ConE 'StaticR) "Home")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Model                as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import-import           SharedTypes          as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE Model.hs #-}-module Model where--import Prelude-import Yesod-import Data.Text (Text)-import Database.Persist.Quasi----- You can define all of your database entities in the entities file.--- You can find more information on persistent and how to declare entities--- at:--- http://www.yesodweb.com/book/persistent/-share [mkPersist sqlOnlySettings, mkMigrate "migrateAll"]-    $(persistFileWith lowerCaseSettings "config/models")--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    hs-source-dirs: ., fay-shared-    exposed-modules: Application-                     Foundation-                     Import-                     Model-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     SharedTypes-                     Handler.Fay-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction-                RankNTypes--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-auth                    >= 1.1        && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , yesod-fay                     >= 0.1-                 , fay                           >= 0.9-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , persistent                    >= 1.1        && < 1.2-                 , persistent-postgresql         >= 1.1        && < 1.2-                 , persistent-template           >= 1.1.1      && < 1.2-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core-                 , persistent-                 , persistent-postgresql-                 , resourcet-                 , monad-logger--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Database.Persist.Postgresql (PostgresConf)-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet-import Yesod.Fay---- | Which Persistent backend this site is using.-type PersistConfig = PostgresConf---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--fayFile' :: Exp -> FayFile-fayFile' staticR moduleName-    | development = fayFileReload settings-    | otherwise   = fayFileProd settings-  where-    settings = (yesodFaySettings moduleName)-        { yfsSeparateRuntime = Just ("static", staticR)-        -- , yfsPostProcess = readProcess "java" ["-jar", "closure-compiler.jar"]-        , yfsExternal = Just ("static", staticR)-        }--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/models #-}-User-    ident Text-    password Text Maybe-    UniqueUser ident-Email-    email Text-    user UserId Maybe-    verkey Text Maybe-    UniqueEmail email-- -- By default this file is used in Model.hs (which is imported by Foundation.hs)--{-# START_FILE config/postgresql.yml #-}-Default: &defaults-  user: PROJECTNAME-  password: PROJECTNAME-  host: localhost-  port: 5432-  database: PROJECTNAME-  poolsize: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test-  <<: *defaults--Staging:-  database: PROJECTNAME_staging-  poolsize: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production-  poolsize: 100-  <<: *defaults--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static      StaticR  Static  getStatic-/auth        AuthR    Auth    getAuth-/fay-command FaySiteR FaySite getFaySite--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE fay-shared/SharedTypes.hs #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE DeriveDataTypeable #-}-module SharedTypes where--import Prelude-import Data.Data-import Language.Fay.Yesod-#ifdef FAY-import FFI-#else-import Language.Fay.FFI-#endif--data Command = GetFib Int (Returns Int)-    deriving (Read, Typeable, Data)---{-# START_FILE fay/Home.hs #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE EmptyDataDecls    #-}-module Home where--import Prelude-import Language.Fay.FFI-import Language.Fay.Yesod-import SharedTypes--data Element--getElementById :: String -> Fay Element-getElementById = ffi "document.getElementById(%1)"--getAttribute :: String -> Element -> Fay String-getAttribute = ffi "%2[%1]"--setInnerHTML :: Element -> String -> Fay ()-setInnerHTML = ffi "%1.innerHTML=%2"--onKeyUp :: Element -> Fay () -> Fay ()-onKeyUp = ffi "%1.onkeyup=%2"--alert :: String -> Fay ()-alert = ffi "window.alert(%1)"--parseInt :: String -> Fay Int-parseInt = ffi "window.parseInt(%1, 10)"--main :: Fay ()-main = do-    input <- getElementById "fibindex"-    result <- getElementById "fibresult"-    onKeyUp input $ do-        indexS <- getAttribute "value" input-        index <- parseInt indexS-        call (GetFib index) $ setInnerHTML result . show--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--  <li>-    Let's test out some Fay! Enter a number in this box and we'll calculate the Fibonacci value.-    <input #fibindex placeholder="Fibonacci Index">-    <span #fibresult>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport-import qualified Data.List as L--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $ do--    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--    -- This is a simple example of using a database access in a test.  The-    -- test will succeed for a fresh scaffolded site with an empty database,-    -- but will fail on an existing database with a non-empty user table.-    it "leaves the user table empty" $ do-      get_ "/"-      statusIs 200-      users <- runDB $ selectList ([] :: [Filter User]) []-      assertEqual "user table empty" 0 $ L.length users--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , module Model-    , module Database.Persist-    , runDB-    , Specs-    ) where--import Yesod.Test-import Database.Persist hiding (get)-import Database.Persist.GenericSql (runSqlPool, SqlPersist, Connection)-import Control.Monad.Trans.Resource (ResourceT, runResourceT)-import Control.Monad.Logger (NoLoggingT, runNoLoggingT)--import Model--type Specs = SpecsConn Connection--runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> OneSpec Connection a-runDB = runDBRunner poolRunner-  where-    poolRunner query pool = runResourceT-                          $ runNoLoggingT-                          $ runSqlPool query pool--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (connPool foundation) homeSpecs-
− hsfiles/postgres.hsfiles
@@ -1,5835 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Settings-import Yesod.Auth-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import qualified Database.Persist.Store-import Database.Persist.GenericSql (runMigration)-import Network.HTTP.Conduit (newManager, def)-import Control.Monad.Logger (runLoggingT)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-              Database.Persist.Store.loadConfig >>=-              Database.Persist.Store.applyEnv-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-    logger <- mkLogger True stdout-    let foundation = App conf s p manager dbconf logger--    -- Perform database migration using our application's logging settings.-    runLoggingT-        (Database.Persist.Store.runPool dbconf (runMigration migrateAll) p)-        (messageLoggerSource foundation logger)--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Auth-import Yesod.Auth.BrowserId-import Yesod.Auth.GoogleEmail-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import qualified Database.Persist.Store-import Settings.StaticFiles-import Database.Persist.GenericSql-import Settings (widgetFile, Extra (..))-import Model-import Text.Jasmine (minifym)-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.-    , httpManager :: Manager-    , persistConfig :: Settings.PersistConfig-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- The page to be redirected to when authentication is required.-    authRoute _ = Just $ AuthR LoginR--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal minifym genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger---- How to run database actions.-instance YesodPersist App where-    type YesodPersistBackend App = SqlPersist-    runDB f = do-        master <- getYesod-        Database.Persist.Store.runPool-            (persistConfig master)-            f-            (connPool master)--instance YesodAuth App where-    type AuthId App = UserId--    -- Where to send a user after successful login-    loginDest _ = HomeR-    -- Where to send a user after logout-    logoutDest _ = HomeR--    getAuthId creds = runDB $ do-        x <- getBy $ UniqueUser $ credsIdent creds-        case x of-            Just (Entity uid _) -> return $ Just uid-            Nothing -> do-                fmap Just $ insert $ User (credsIdent creds) Nothing--    -- You can add other plugins like BrowserID, email or OAuth here-    authPlugins _ = [authBrowserId, authGoogleEmail]--    authHttpManager = httpManager---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Model                as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE Model.hs #-}-module Model where--import Prelude-import Yesod-import Data.Text (Text)-import Database.Persist.Quasi----- You can define all of your database entities in the entities file.--- You can find more information on persistent and how to declare entities--- at:--- http://www.yesodweb.com/book/persistent/-share [mkPersist sqlOnlySettings, mkMigrate "migrateAll"]-    $(persistFileWith lowerCaseSettings "config/models")--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    exposed-modules: Application-                     Foundation-                     Import-                     Model-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-auth                    >= 1.1        && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , persistent                    >= 1.1        && < 1.2-                 , persistent-postgresql         >= 1.1        && < 1.2-                 , persistent-template           >= 1.1.1      && < 1.2-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , hjsmin                        >= 0.1        && < 0.2-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core-                 , persistent-                 , persistent-postgresql-                 , resourcet-                 , monad-logger--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Database.Persist.Postgresql (PostgresConf)-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet---- | Which Persistent backend this site is using.-type PersistConfig = PostgresConf---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/models #-}-User-    ident Text-    password Text Maybe-    UniqueUser ident-Email-    email Text-    user UserId Maybe-    verkey Text Maybe-    UniqueEmail email-- -- By default this file is used in Model.hs (which is imported by Foundation.hs)--{-# START_FILE config/postgresql.yml #-}-Default: &defaults-  user: PROJECTNAME-  password: PROJECTNAME-  host: localhost-  port: 5432-  database: PROJECTNAME-  poolsize: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test-  <<: *defaults--Staging:-  database: PROJECTNAME_staging-  poolsize: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production-  poolsize: 100-  <<: *defaults--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static StaticR Static getStatic-/auth   AuthR   Auth   getAuth--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport-import qualified Data.List as L--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $ do--    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--    -- This is a simple example of using a database access in a test.  The-    -- test will succeed for a fresh scaffolded site with an empty database,-    -- but will fail on an existing database with a non-empty user table.-    it "leaves the user table empty" $ do-      get_ "/"-      statusIs 200-      users <- runDB $ selectList ([] :: [Filter User]) []-      assertEqual "user table empty" 0 $ L.length users--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , module Model-    , module Database.Persist-    , runDB-    , Specs-    ) where--import Yesod.Test-import Database.Persist hiding (get)-import Database.Persist.GenericSql (runSqlPool, SqlPersist, Connection)-import Control.Monad.Trans.Resource (ResourceT, runResourceT)-import Control.Monad.Logger (NoLoggingT, runNoLoggingT)--import Model--type Specs = SpecsConn Connection--runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> OneSpec Connection a-runDB = runDBRunner poolRunner-  where-    poolRunner query pool = runResourceT-                          $ runNoLoggingT-                          $ runSqlPool query pool--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (connPool foundation) homeSpecs-
− hsfiles/simple.hsfiles
@@ -1,5684 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import Network.HTTP.Conduit (newManager, def)-import Control.Monad.Logger (runLoggingT)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    logger <- mkLogger True stdout-    let foundation = App conf s manager logger--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import Settings.StaticFiles-import Settings (widgetFile, Extra (..))-import Text.Jasmine (minifym)-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , httpManager :: Manager-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal minifym genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    exposed-modules: Application-                     Foundation-                     Import-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , hjsmin                        >= 0.1        && < 0.2-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static StaticR Static getStatic--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $-    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , Specs-    ) where--import Yesod.Test--type Specs = SpecsConn ()--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (error "No database available") homeSpecs-
− hsfiles/sqlite.hsfiles
@@ -1,5831 +0,0 @@-{-# START_FILE .ghci #-}-:set -i.:config:dist/build/autogen-:set -XCPP -XTemplateHaskell -XQuasiQuotes -XTypeFamilies -XFlexibleContexts -XGADTs -XOverloadedStrings -XMultiParamTypeClasses -XGeneralizedNewtypeDeriving -XEmptyDataDecls--{-# START_FILE .gitignore #-}-dist*-static/tmp/-config/client_session_key.aes-*.hi-*.o-*.sqlite3-.hsenv*-yesod-devel/--{-# START_FILE Application.hs #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}-module Application-    ( makeApplication-    , getApplicationDev-    , makeFoundation-    ) where--import Import-import Settings-import Yesod.Auth-import Yesod.Default.Config-import Yesod.Default.Main-import Yesod.Default.Handlers-import Network.Wai.Middleware.RequestLogger-import qualified Database.Persist.Store-import Database.Persist.GenericSql (runMigration)-import Network.HTTP.Conduit (newManager, def)-import Control.Monad.Logger (runLoggingT)-import System.IO (stdout)-import System.Log.FastLogger (mkLogger)---- Import all relevant handler modules here.--- Don't forget to add new modules to your cabal file!-import Handler.Home---- This line actually creates our YesodDispatch instance. It is the second half--- of the call to mkYesodData which occurs in Foundation.hs. Please see the--- comments there for more details.-mkYesodDispatch "App" resourcesApp---- This function allocates resources (such as a database connection pool),--- performs initialization and creates a WAI application. This is also the--- place to put your migrate statements to have automatic database--- migrations handled by Yesod.-makeApplication :: AppConfig DefaultEnv Extra -> IO Application-makeApplication conf = do-    foundation <- makeFoundation conf--    -- Initialize the logging middleware-    logWare <- mkRequestLogger def-        { outputFormat =-            if development-                then Detailed True-                else Apache FromSocket-        , destination = Logger $ appLogger foundation-        }--    -- Create the WAI application and apply middlewares-    app <- toWaiAppPlain foundation-    return $ logWare app---- | Loads up any necessary settings, creates your foundation datatype, and--- performs some initialization.-makeFoundation :: AppConfig DefaultEnv Extra -> IO App-makeFoundation conf = do-    manager <- newManager def-    s <- staticSite-    dbconf <- withYamlEnvironment "config/sqlite.yml" (appEnv conf)-              Database.Persist.Store.loadConfig >>=-              Database.Persist.Store.applyEnv-    p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-    logger <- mkLogger True stdout-    let foundation = App conf s p manager dbconf logger--    -- Perform database migration using our application's logging settings.-    runLoggingT-        (Database.Persist.Store.runPool dbconf (runMigration migrateAll) p)-        (messageLoggerSource foundation logger)--    return foundation---- for yesod devel-getApplicationDev :: IO (Int, Application)-getApplicationDev =-    defaultDevelApp loader makeApplication-  where-    loader = loadConfig (configSettings Development)-        { csParseExtra = parseExtra-        }--{-# START_FILE Foundation.hs #-}-module Foundation where--import Prelude-import Yesod-import Yesod.Static-import Yesod.Auth-import Yesod.Auth.BrowserId-import Yesod.Auth.GoogleEmail-import Yesod.Default.Config-import Yesod.Default.Util (addStaticContentExternal)-import Network.HTTP.Conduit (Manager)-import qualified Settings-import Settings.Development (development)-import qualified Database.Persist.Store-import Settings.StaticFiles-import Database.Persist.GenericSql-import Settings (widgetFile, Extra (..))-import Model-import Text.Jasmine (minifym)-import Web.ClientSession (getKey)-import Text.Hamlet (hamletFile)-import System.Log.FastLogger (Logger)---- | The site argument for your application. This can be a good place to--- keep settings and values requiring initialization before your application--- starts running, such as database connections. Every handler will have--- access to the data present here.-data App = App-    { settings :: AppConfig DefaultEnv Extra-    , getStatic :: Static -- ^ Settings for static file serving.-    , connPool :: Database.Persist.Store.PersistConfigPool Settings.PersistConfig -- ^ Database connection pool.-    , httpManager :: Manager-    , persistConfig :: Settings.PersistConfig-    , appLogger :: Logger-    }---- Set up i18n messages. See the message folder.-mkMessage "App" "messages" "en"---- This is where we define all of the routes in our application. For a full--- explanation of the syntax, please see:--- http://www.yesodweb.com/book/handler------ This function does three things:------ * Creates the route datatype AppRoute. Every valid URL in your---   application can be represented as a value of this type.--- * Creates the associated type:---       type instance Route App = AppRoute--- * Creates the value resourcesApp which contains information on the---   resources declared below. This is used in Handler.hs by the call to---   mkYesodDispatch------ What this function does *not* do is create a YesodSite instance for--- App. Creating that instance requires all of the handler functions--- for our application to be in scope. However, the handler functions--- usually require access to the AppRoute datatype. Therefore, we--- split these actions into two functions and place them in separate files.-mkYesodData "App" $(parseRoutesFile "config/routes")--type Form x = Html -> MForm App App (FormResult x, Widget)---- Please see the documentation for the Yesod typeclass. There are a number--- of settings which can be configured by overriding methods here.-instance Yesod App where-    approot = ApprootMaster $ appRoot . settings--    -- Store session data on the client in encrypted cookies,-    -- default session idle timeout is 120 minutes-    makeSessionBackend _ = do-        key <- getKey "config/client_session_key.aes"-        let timeout = 120 * 60 -- 120 minutes-        (getCachedDate, _closeDateCache) <- clientSessionDateCacher timeout-        return . Just $ clientSessionBackend2 key getCachedDate--    defaultLayout widget = do-        master <- getYesod-        mmsg <- getMessage--        -- We break up the default layout into two components:-        -- default-layout is the contents of the body tag, and-        -- default-layout-wrapper is the entire page. Since the final-        -- value passed to hamletToRepHtml cannot be a widget, this allows-        -- you to use normal widget features in default-layout.--        pc <- widgetToPageContent $ do-            $(widgetFile "normalize")-            addStylesheet $ StaticR css_bootstrap_css-            $(widgetFile "default-layout")-        hamletToRepHtml $(hamletFile "templates/default-layout-wrapper.hamlet")--    -- This is done to provide an optimization for serving static files from-    -- a separate domain. Please see the staticRoot setting in Settings.hs-    urlRenderOverride y (StaticR s) =-        Just $ uncurry (joinPath y (Settings.staticRoot $ settings y)) $ renderRoute s-    urlRenderOverride _ _ = Nothing--    -- The page to be redirected to when authentication is required.-    authRoute _ = Just $ AuthR LoginR--    -- This function creates static content files in the static folder-    -- and names them based on a hash of their content. This allows-    -- expiration dates to be set far in the future without worry of-    -- users receiving stale content.-    addStaticContent =-        addStaticContentExternal minifym genFileName Settings.staticDir (StaticR . flip StaticRoute [])-      where-        -- Generate a unique filename based on the content itself-        genFileName lbs-            | development = "autogen-" ++ base64md5 lbs-            | otherwise   = base64md5 lbs--    -- Place Javascript at bottom of the body tag so the rest of the page loads first-    jsLoader _ = BottomOfBody--    -- What messages should be logged. The following includes all messages when-    -- in development, and warnings and errors in production.-    shouldLog _ _source level =-        development || level == LevelWarn || level == LevelError--    getLogger = return . appLogger---- How to run database actions.-instance YesodPersist App where-    type YesodPersistBackend App = SqlPersist-    runDB f = do-        master <- getYesod-        Database.Persist.Store.runPool-            (persistConfig master)-            f-            (connPool master)--instance YesodAuth App where-    type AuthId App = UserId--    -- Where to send a user after successful login-    loginDest _ = HomeR-    -- Where to send a user after logout-    logoutDest _ = HomeR--    getAuthId creds = runDB $ do-        x <- getBy $ UniqueUser $ credsIdent creds-        case x of-            Just (Entity uid _) -> return $ Just uid-            Nothing -> do-                fmap Just $ insert $ User (credsIdent creds) Nothing--    -- You can add other plugins like BrowserID, email or OAuth here-    authPlugins _ = [authBrowserId, authGoogleEmail]--    authHttpManager = httpManager---- This instance is required to use forms. You can modify renderMessage to--- achieve customized and internationalized form validation messages.-instance RenderMessage App FormMessage where-    renderMessage _ _ = defaultFormMessage---- | Get the 'Extra' value, used to hold data from the settings.yml file.-getExtra :: Handler Extra-getExtra = fmap (appExtra . settings) getYesod---- Note: previous versions of the scaffolding included a deliver function to--- send emails. Unfortunately, there are too many different options for us to--- give a reasonable default. Instead, the information is available on the--- wiki:------ https://github.com/yesodweb/yesod/wiki/Sending-email--{-# START_FILE Handler/Home.hs #-}-{-# LANGUAGE TupleSections, OverloadedStrings #-}-module Handler.Home where--import Import---- This is a handler function for the GET request method on the HomeR--- resource pattern. All of your resource patterns are defined in--- config/routes------ The majority of the code you will write in Yesod lives in these handler--- functions. You can spread them across multiple files if you are so--- inclined, or create a single monolithic file.-getHomeR :: Handler RepHtml-getHomeR = do-    (formWidget, formEnctype) <- generateFormPost sampleForm-    let submission = Nothing :: Maybe (FileInfo, Text)-        handlerName = "getHomeR" :: Text-    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--postHomeR :: Handler RepHtml-postHomeR = do-    ((result, formWidget), formEnctype) <- runFormPost sampleForm-    let handlerName = "postHomeR" :: Text-        submission = case result of-            FormSuccess res -> Just res-            _ -> Nothing--    defaultLayout $ do-        aDomId <- lift newIdent-        setTitle "Welcome To Yesod!"-        $(widgetFile "homepage")--sampleForm :: Form (FileInfo, Text)-sampleForm = renderDivs $ (,)-    <$> fileAFormReq "Choose a file"-    <*> areq textField "What's on the file?" Nothing--{-# START_FILE Import.hs #-}-module Import-    ( module Import-    ) where--import           Prelude              as Import hiding (head, init, last,-                                                 readFile, tail, writeFile)-import           Yesod                as Import hiding (Route (..))--import           Control.Applicative  as Import (pure, (<$>), (<*>))-import           Data.Text            as Import (Text)--import           Foundation           as Import-import           Model                as Import-import           Settings             as Import-import           Settings.Development as Import-import           Settings.StaticFiles as Import--#if __GLASGOW_HASKELL__ >= 704-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat),-                                                 (<>))-#else-import           Data.Monoid          as Import-                                                 (Monoid (mappend, mempty, mconcat))--infixr 5 <>-(<>) :: Monoid m => m -> m -> m-(<>) = mappend-#endif--{-# START_FILE Model.hs #-}-module Model where--import Prelude-import Yesod-import Data.Text (Text)-import Database.Persist.Quasi----- You can define all of your database entities in the entities file.--- You can find more information on persistent and how to declare entities--- at:--- http://www.yesodweb.com/book/persistent/-share [mkPersist sqlOnlySettings, mkMigrate "migrateAll"]-    $(persistFileWith lowerCaseSettings "config/models")--{-# START_FILE PROJECTNAME.cabal #-}-name:              PROJECTNAME-version:           0.0.0-cabal-version:     >= 1.8-build-type:        Simple--Flag dev-    Description:   Turn on development settings, like auto-reload templates.-    Default:       False--Flag library-only-    Description:   Build for use with "yesod devel"-    Default:       False--library-    exposed-modules: Application-                     Foundation-                     Import-                     Model-                     Settings-                     Settings.StaticFiles-                     Settings.Development-                     Handler.Home--    if flag(dev) || flag(library-only)-        cpp-options:   -DDEVELOPMENT-        ghc-options:   -Wall -O0-    else-        ghc-options:   -Wall -O2--    extensions: TemplateHaskell-                QuasiQuotes-                OverloadedStrings-                NoImplicitPrelude-                CPP-                MultiParamTypeClasses-                TypeFamilies-                GADTs-                GeneralizedNewtypeDeriving-                FlexibleContexts-                EmptyDataDecls-                NoMonomorphismRestriction--    build-depends: base                          >= 4          && < 5-                 -- , yesod-platform                >= 1.1        && < 1.2-                 , yesod                         >= 1.1.5      && < 1.2-                 , yesod-core                    >= 1.1.7      && < 1.2-                 , yesod-auth                    >= 1.1        && < 1.2-                 , yesod-static                  >= 1.1        && < 1.2-                 , yesod-default                 >= 1.1        && < 1.2-                 , yesod-form                    >= 1.1        && < 1.3-                 , clientsession                 >= 0.8        && < 0.10-                 , bytestring                    >= 0.9        && < 0.11-                 , text                          >= 0.11       && < 0.12-                 , persistent                    >= 1.1        && < 1.2-                 , persistent-sqlite             >= 1.1        && < 1.2-                 , persistent-template           >= 1.1.1      && < 1.2-                 , template-haskell-                 , hamlet                        >= 1.1        && < 1.2-                 , shakespeare-css               >= 1.0        && < 1.1-                 , shakespeare-js                >= 1.0.2      && < 1.2-                 , shakespeare-text              >= 1.0        && < 1.1-                 , hjsmin                        >= 0.1        && < 0.2-                 , monad-control                 >= 0.3        && < 0.4-                 , wai-extra                     >= 1.3        && < 1.4-                 , yaml                          >= 0.8        && < 0.9-                 , http-conduit                  >= 1.8        && < 1.10-                 , directory                     >= 1.1        && < 1.3-                 , warp                          >= 1.3        && < 1.4-                 , data-default-                 , aeson-                 , conduit                       >= 1.0-                 , monad-logger                  >= 0.3-                 , fast-logger                   >= 0.3--executable         PROJECTNAME-    if flag(library-only)-        Buildable: False--    main-is:           main.hs-    hs-source-dirs:    app-    build-depends:     base-                     , PROJECTNAME-                     , yesod-default--    ghc-options:       -threaded -O2--test-suite test-    type:              exitcode-stdio-1.0-    main-is:           main.hs-    hs-source-dirs:    tests-    ghc-options:       -Wall--    build-depends: base-                 , PROJECTNAME-                 , yesod-test >= 0.3 && < 0.4-                 , yesod-default-                 , yesod-core-                 , persistent-                 , persistent-sqlite-                 , resourcet-                 , monad-logger--{-# START_FILE Settings.hs #-}--- | Settings are centralized, as much as possible, into this file. This--- includes database connection settings, static file locations, etc.--- In addition, you can configure a number of different aspects of Yesod--- by overriding methods in the Yesod typeclass. That instance is--- declared in the Foundation.hs file.-module Settings where--import Prelude-import Text.Shakespeare.Text (st)-import Language.Haskell.TH.Syntax-import Database.Persist.Sqlite (SqliteConf)-import Yesod.Default.Config-import Yesod.Default.Util-import Data.Text (Text)-import Data.Yaml-import Control.Applicative-import Settings.Development-import Data.Default (def)-import Text.Hamlet---- | Which Persistent backend this site is using.-type PersistConfig = SqliteConf---- Static setting below. Changing these requires a recompile---- | The location of static files on your system. This is a file system--- path. The default value works properly with your scaffolded site.-staticDir :: FilePath-staticDir = "static"---- | The base URL for your static files. As you can see by the default--- value, this can simply be "static" appended to your application root.--- A powerful optimization can be serving static files from a separate--- domain name. This allows you to use a web server optimized for static--- files, more easily set expires and cache values, and avoid possibly--- costly transference of cookies on static files. For more information,--- please see:---   http://code.google.com/speed/page-speed/docs/request.html#ServeFromCookielessDomain------ If you change the resource pattern for StaticR in Foundation.hs, you will--- have to make a corresponding change here.------ To see how this value is used, see urlRenderOverride in Foundation.hs-staticRoot :: AppConfig DefaultEnv x -> Text-staticRoot conf = [st|#{appRoot conf}/static|]---- | Settings for 'widgetFile', such as which template languages to support and--- default Hamlet settings.------ For more information on modifying behavior, see:------ https://github.com/yesodweb/yesod/wiki/Overriding-widgetFile-widgetFileSettings :: WidgetFileSettings-widgetFileSettings = def-    { wfsHamletSettings = defaultHamletSettings-        { hamletNewlines = AlwaysNewlines-        }-    }---- The rest of this file contains settings which rarely need changing by a--- user.--widgetFile :: String -> Q Exp-widgetFile = (if development then widgetFileReload-                             else widgetFileNoReload)-              widgetFileSettings--data Extra = Extra-    { extraCopyright :: Text-    , extraAnalytics :: Maybe Text -- ^ Google Analytics-    } deriving Show--parseExtra :: DefaultEnv -> Object -> Parser Extra-parseExtra _ o = Extra-    <$> o .:  "copyright"-    <*> o .:? "analytics"--{-# START_FILE Settings/Development.hs #-}-module Settings.Development where--import Prelude--development :: Bool-development =-#if DEVELOPMENT-  True-#else-  False-#endif--production :: Bool-production = not development--{-# START_FILE Settings/StaticFiles.hs #-}-module Settings.StaticFiles where--import Prelude (IO)-import Yesod.Static-import qualified Yesod.Static as Static-import Settings (staticDir)-import Settings.Development---- | use this to create your static file serving site-staticSite :: IO Static.Static-staticSite = if development then Static.staticDevel staticDir-                            else Static.static      staticDir---- | This generates easy references to files in the static directory at compile time,---   giving you compile-time verification that referenced files exist.---   Warning: any files added to your static directory during run-time can't be---   accessed this way. You'll have to use their FilePath or URL to access them.-$(staticFiles Settings.staticDir)--{-# START_FILE app/main.hs #-}-import Prelude              (IO)-import Yesod.Default.Config (fromArgs)-import Yesod.Default.Main   (defaultMain)-import Settings             (parseExtra)-import Application          (makeApplication)--main :: IO ()-main = defaultMain (fromArgs parseExtra) makeApplication--{-# START_FILE BASE64 config/favicon.ico #-}-AAABAAIAEBAAAAEAIABoBAAAJgAAABAQAgABAAEAsAAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAApl4sAAAAAAAAAAAAAAAAAUEpGyNpSjaIg2NO2ZBvWfqTc13/-jW1X9YNhTMZrSTNkUTMfDwAAAAAAAAAAAAAAAAAAAAAAAAAANR0NClk6JmF+W0Txj2xV/41qVP+M-aVP/jGlS/4xpUv+MaVL/i2dQ/3pVPdNeOiEzQRsBAgAAAAAAAAAAMBgHAlIxG1h5UDb/h15D9n5W-PPZ4TzXmeVE303hQNtV4UDbVeFA11XdQNdV5UTfbbUUpx1UsEBgAAAAAAAAFADIVAwlULxY/f1M1-4dOffryecFHMXTIVhAAAAAURAAAOEwAADxQAAA8TAAAPEAAADigEABFNJAkZTSQJCRAHAQdKIARt-OxUAC1kvE3qQYEDfzJt5wXtOL9pQJAa0UScKjVInCo1SJwqNUSYJjVElCY1RJQmLUSUHslEjBGcu-EgAuVSQC/00eAGAYAAAPXzAQuLGAXs6ygV/PYTESwkMXAFRGHgI3Rx4BPEceATxHHQE7RBsBMkwf-AqlUIQHgQhoAaVUhAP9TIQDhSBwAI0EXAD5xQSHbzJp4wJRiQtBRIgKuRxsAb0kdAGpJHQBqSR0A-e04fAJNJHQClVCEA/0YcAIRVIgD/VSIA7E0fADQyDQAyaToa1MqXdMLJl3bBc0Ii6UscAJFFGgBE-RRoAQUIZAFlRIADpVSIA/1UiAP9JHwN9WicG/1QhAIMAAAAMVywPoaBtTNi6imnEsIBfya9+Xc1m-OBm2UycIilgqDYVVKQ2DVigJ4FwqCf5cKgr/Qx8GUGAwEc08EwAPTSgQY4dXN+LPnXy9g1c54XtM-LevJl3a/k2RE3WY5Gv9mNxn/Zjga/2c5G/9oOhz/Zzka/DQYBRFZLRA1JhAAJHhML9XJlnTCqXxe-zXFHLPtxRyv/n3BR2MuZd7uFWjzmc0gt/nRKLv90Sy//dUww/21CJcIAAAAATCsURXRONdR+Vjr5-j2ZL5oJbQfN+Vz3/flg//4NcQfePZkrogVk/8n5YP/6BW0H/gVtD/oBaQf9qQCRIJAgAAFAxHRt4-VDzVjWpS/4lmT/6LZ1D/jGlS/4xpU/6MaVL/i2hS/otpUv6Na1T+jmtV/o9tV/98Vj2cYzoeBgAA-AAAGAgAAZ0cyMIVkTtqae2f/mXpm/5l5Zf6Zemb+mXpm/5p6Zv+ae2f+mnxp/5p7Z/+HZE2qdE84-FAAAAAAAAAAAAAAAAAAAAABrTDgfhWVQnp2Abf+njHv/pot6/6aMev+njHv/qI18/5t+avOHZU9y-fFc/DgAAAAAAAAAAJhABAAAAAAAAAAAAyqmXADYdCQNoSDQjh2hUbpd6aJ+Zfmurl3pnlYZkTlpw-TDYTX0IxAbNeMwAAAAAAsoFfAPgfAADwBwAA4AMAAOH/AADwAQAAsPwAAJh4AAAYOAAAkAAAALAA-AADgAAAAwAEAAMABAADgAwAA8A8AAP4/AAAoAAAAEAAAACAAAAABAAEAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==--{-# START_FILE config/keter.yaml #-}-exec: ../dist/build/PROJECTNAME/PROJECTNAME-args:-    - production-host: <<HOST-NOT-SET>>--# Use the following to automatically copy your bundle upon creation via `yesod-# keter`. Uses `scp` internally, so you can set it to a remote destination-# copy-to: user@host:/opt/keter/incoming--{-# START_FILE config/models #-}-User-    ident Text-    password Text Maybe-    UniqueUser ident-Email-    email Text-    user UserId Maybe-    verkey Text Maybe-    UniqueEmail email-- -- By default this file is used in Model.hs (which is imported by Foundation.hs)--{-# START_FILE config/robots.txt #-}-User-agent: *--{-# START_FILE config/routes #-}-/static StaticR Static getStatic-/auth   AuthR   Auth   getAuth--/favicon.ico FaviconR GET-/robots.txt RobotsR GET--/ HomeR GET POST--{-# START_FILE config/settings.yml #-}-Default: &defaults-  host: "*4" # any IPv4 host-  port: 3000-  approot: "http://localhost:3000"-  copyright: Insert copyright statement here-  #analytics: UA-YOURCODE--Development:-  <<: *defaults--Testing:-  <<: *defaults--Staging:-  <<: *defaults--Production:-  #approot: "http://www.example.com"-  <<: *defaults--{-# START_FILE config/sqlite.yml #-}-Default: &defaults-  database: PROJECTNAME.sqlite3-  poolsize: 10--Development:-  <<: *defaults--Testing:-  database: PROJECTNAME_test.sqlite3-  <<: *defaults--Staging:-  database: PROJECTNAME_staging.sqlite3-  poolsize: 100-  <<: *defaults--Production:-  database: PROJECTNAME_production.sqlite3-  poolsize: 100-  <<: *defaults--{-# START_FILE deploy/Procfile #-}-# Free deployment to Heroku.-#-#   !! Warning: You must use a 64 bit machine to compile !!-#-#   This could mean using a virtual machine. Give your VM as much memory as you can to speed up linking.-#-# Basic Yesod setup:-#-# * Move this file out of the deploy directory and into your root directory-#-#     mv deploy/Procfile ./-#-# * Create an empty package.json-#     echo '{ "name": "PROJECTNAME", "version": "0.0.1", "dependencies": {} }' >> package.json-#-# Postgresql Yesod setup:-#-# * add dependencies on the "heroku", "aeson" and "unordered-containers" packages in your cabal file-#-# * add code in Application.hs to use the heroku package and load the connection parameters.-#   The below works for Postgresql.-#-#   import Data.HashMap.Strict as H-#   import Data.Aeson.Types as AT-#   #ifndef DEVELOPMENT-#   import qualified Web.Heroku-#   #endif-#-#-#-#   makeFoundation :: AppConfig DefaultEnv Extra -> Logger -> IO App-#   makeFoundation conf setLogger = do-#       manager <- newManager def-#       s <- staticSite-#       hconfig <- loadHerokuConfig-#       dbconf <- withYamlEnvironment "config/postgresql.yml" (appEnv conf)-#                 (Database.Persist.Store.loadConfig . combineMappings hconfig) >>=-#                 Database.Persist.Store.applyEnv-#       p <- Database.Persist.Store.createPoolConfig (dbconf :: Settings.PersistConfig)-#       Database.Persist.Store.runPool dbconf (runMigration migrateAll) p-#       return $ App conf setLogger s p manager dbconf-#-#   #ifndef DEVELOPMENT-#   canonicalizeKey :: (Text, val) -> (Text, val)-#   canonicalizeKey ("dbname", val) = ("database", val)-#   canonicalizeKey pair = pair-#-#   toMapping :: [(Text, Text)] -> AT.Value-#   toMapping xs = AT.Object $ M.fromList $ map (\(key, val) -> (key, AT.String val)) xs-#   #endif-#-#   combineMappings :: AT.Value -> AT.Value -> AT.Value-#   combineMappings (AT.Object m1) (AT.Object m2) = AT.Object $ m1 `M.union` m2-#   combineMappings _ _ = error "Data.Object is not a Mapping."-#-#   loadHerokuConfig :: IO AT.Value-#   loadHerokuConfig = do-#   #ifdef DEVELOPMENT-#       return $ AT.Object M.empty-#   #else-#       Web.Heroku.dbConnParams >>= return . toMapping . map canonicalizeKey-#   #endif----# Heroku setup:-# Find the Heroku guide. Roughly:-#-# * sign up for a heroku account and register your ssh key-# * create a new application on the *cedar* stack-#-# * make your Yesod project the git repository for that application-# * create a deploy branch-#-#     git checkout -b deploy-#-# Repeat these steps to deploy:-# * add your web executable binary (referenced below) to the git repository-#-#     git checkout deploy-#     git add ./dist/build/PROJECTNAME/PROJECTNAME-#     git commit -m deploy-#-# * push to Heroku-#-#     git push heroku deploy:master---# Heroku configuration that runs your app-web: ./dist/build/PROJECTNAME/PROJECTNAME production -p $PORT--{-# START_FILE devel.hs #-}-{-# LANGUAGE PackageImports #-}-import "PROJECTNAME" Application (getApplicationDev)-import Network.Wai.Handler.Warp-    (runSettings, defaultSettings, settingsPort)-import Control.Concurrent (forkIO)-import System.Directory (doesFileExist, removeFile)-import System.Exit (exitSuccess)-import Control.Concurrent (threadDelay)--main :: IO ()-main = do-    putStrLn "Starting devel application"-    (port, app) <- getApplicationDev-    forkIO $ runSettings defaultSettings-        { settingsPort = port-        } app-    loop--loop :: IO ()-loop = do-  threadDelay 100000-  e <- doesFileExist "yesod-devel/devel-terminate"-  if e then terminateDevel else loop--terminateDevel :: IO ()-terminateDevel = exitSuccess--{-# START_FILE messages/en.msg #-}-Hello: Hello--{-# START_FILE static/css/bootstrap.css #-}-/*!- * Bootstrap v2.0.2- *- * Copyright 2012 Twitter, Inc- * Licensed under the Apache License v2.0- * http://www.apache.org/licenses/LICENSE-2.0- *- * Designed and built with all the love in the world @twitter by @mdo and @fat.- */-article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-  display: block;-}-audio,-canvas,-video {-  display: inline-block;-  *display: inline;-  *zoom: 1;-}-audio:not([controls]) {-  display: none;-}-html {-  font-size: 100%;-  -webkit-text-size-adjust: 100%;-  -ms-text-size-adjust: 100%;-}-a:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-a:hover,-a:active {-  outline: 0;-}-sub,-sup {-  position: relative;-  font-size: 75%;-  line-height: 0;-  vertical-align: baseline;-}-sup {-  top: -0.5em;-}-sub {-  bottom: -0.25em;-}-img {-  height: auto;-  border: 0;-  -ms-interpolation-mode: bicubic;-  vertical-align: middle;-}-button,-input,-select,-textarea {-  margin: 0;-  font-size: 100%;-  vertical-align: middle;-}-button,-input {-  *overflow: visible;-  line-height: normal;-}-button::-moz-focus-inner,-input::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button,-input[type="button"],-input[type="reset"],-input[type="submit"] {-  cursor: pointer;-  -webkit-appearance: button;-}-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-decoration,-input[type="search"]::-webkit-search-cancel-button {-  -webkit-appearance: none;-}-textarea {-  overflow: auto;-  vertical-align: top;-}-.clearfix {-  *zoom: 1;-}-.clearfix:before,-.clearfix:after {-  display: table;-  content: "";-}-.clearfix:after {-  clear: both;-}-.hide-text {-  overflow: hidden;-  text-indent: 100%;-  white-space: nowrap;-}-.input-block-level {-  display: block;-  width: 100%;-  min-height: 28px;-  /* Make inputs at least the height of their button counterpart */--  /* Makes inputs behave like true block-level elements */--  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-}-body {-  margin: 0;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  background-color: #ffffff;-}-a {-  color: #0088cc;-  text-decoration: none;-}-a:hover {-  color: #005580;-  text-decoration: underline;-}-.row {-  margin-left: -20px;-  *zoom: 1;-}-.row:before,-.row:after {-  display: table;-  content: "";-}-.row:after {-  clear: both;-}-[class*="span"] {-  float: left;-  margin-left: 20px;-}-.container,-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.span12 {-  width: 940px;-}-.span11 {-  width: 860px;-}-.span10 {-  width: 780px;-}-.span9 {-  width: 700px;-}-.span8 {-  width: 620px;-}-.span7 {-  width: 540px;-}-.span6 {-  width: 460px;-}-.span5 {-  width: 380px;-}-.span4 {-  width: 300px;-}-.span3 {-  width: 220px;-}-.span2 {-  width: 140px;-}-.span1 {-  width: 60px;-}-.offset12 {-  margin-left: 980px;-}-.offset11 {-  margin-left: 900px;-}-.offset10 {-  margin-left: 820px;-}-.offset9 {-  margin-left: 740px;-}-.offset8 {-  margin-left: 660px;-}-.offset7 {-  margin-left: 580px;-}-.offset6 {-  margin-left: 500px;-}-.offset5 {-  margin-left: 420px;-}-.offset4 {-  margin-left: 340px;-}-.offset3 {-  margin-left: 260px;-}-.offset2 {-  margin-left: 180px;-}-.offset1 {-  margin-left: 100px;-}-.row-fluid {-  width: 100%;-  *zoom: 1;-}-.row-fluid:before,-.row-fluid:after {-  display: table;-  content: "";-}-.row-fluid:after {-  clear: both;-}-.row-fluid > [class*="span"] {-  float: left;-  margin-left: 2.127659574%;-}-.row-fluid > [class*="span"]:first-child {-  margin-left: 0;-}-.row-fluid > .span12 {-  width: 99.99999998999999%;-}-.row-fluid > .span11 {-  width: 91.489361693%;-}-.row-fluid > .span10 {-  width: 82.97872339599999%;-}-.row-fluid > .span9 {-  width: 74.468085099%;-}-.row-fluid > .span8 {-  width: 65.95744680199999%;-}-.row-fluid > .span7 {-  width: 57.446808505%;-}-.row-fluid > .span6 {-  width: 48.93617020799999%;-}-.row-fluid > .span5 {-  width: 40.425531911%;-}-.row-fluid > .span4 {-  width: 31.914893614%;-}-.row-fluid > .span3 {-  width: 23.404255317%;-}-.row-fluid > .span2 {-  width: 14.89361702%;-}-.row-fluid > .span1 {-  width: 6.382978723%;-}-.container {-  margin-left: auto;-  margin-right: auto;-  *zoom: 1;-}-.container:before,-.container:after {-  display: table;-  content: "";-}-.container:after {-  clear: both;-}-.container-fluid {-  padding-left: 20px;-  padding-right: 20px;-  *zoom: 1;-}-.container-fluid:before,-.container-fluid:after {-  display: table;-  content: "";-}-.container-fluid:after {-  clear: both;-}-p {-  margin: 0 0 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  line-height: 18px;-}-p small {-  font-size: 11px;-  color: #999999;-}-.lead {-  margin-bottom: 18px;-  font-size: 20px;-  font-weight: 200;-  line-height: 27px;-}-h1,-h2,-h3,-h4,-h5,-h6 {-  margin: 0;-  font-family: inherit;-  font-weight: bold;-  color: inherit;-  text-rendering: optimizelegibility;-}-h1 small,-h2 small,-h3 small,-h4 small,-h5 small,-h6 small {-  font-weight: normal;-  color: #999999;-}-h1 {-  font-size: 30px;-  line-height: 36px;-}-h1 small {-  font-size: 18px;-}-h2 {-  font-size: 24px;-  line-height: 36px;-}-h2 small {-  font-size: 18px;-}-h3 {-  line-height: 27px;-  font-size: 18px;-}-h3 small {-  font-size: 14px;-}-h4,-h5,-h6 {-  line-height: 18px;-}-h4 {-  font-size: 14px;-}-h4 small {-  font-size: 12px;-}-h5 {-  font-size: 12px;-}-h6 {-  font-size: 11px;-  color: #999999;-  text-transform: uppercase;-}-.page-header {-  padding-bottom: 17px;-  margin: 18px 0;-  border-bottom: 1px solid #eeeeee;-}-.page-header h1 {-  line-height: 1;-}-ul,-ol {-  padding: 0;-  margin: 0 0 9px 25px;-}-ul ul,-ul ol,-ol ol,-ol ul {-  margin-bottom: 0;-}-ul {-  list-style: disc;-}-ol {-  list-style: decimal;-}-li {-  line-height: 18px;-}-ul.unstyled,-ol.unstyled {-  margin-left: 0;-  list-style: none;-}-dl {-  margin-bottom: 18px;-}-dt,-dd {-  line-height: 18px;-}-dt {-  font-weight: bold;-  line-height: 17px;-}-dd {-  margin-left: 9px;-}-.dl-horizontal dt {-  float: left;-  clear: left;-  width: 120px;-  text-align: right;-}-.dl-horizontal dd {-  margin-left: 130px;-}-hr {-  margin: 18px 0;-  border: 0;-  border-top: 1px solid #eeeeee;-  border-bottom: 1px solid #ffffff;-}-strong {-  font-weight: bold;-}-em {-  font-style: italic;-}-.muted {-  color: #999999;-}-abbr[title] {-  border-bottom: 1px dotted #ddd;-  cursor: help;-}-abbr.initialism {-  font-size: 90%;-  text-transform: uppercase;-}-blockquote {-  padding: 0 0 0 15px;-  margin: 0 0 18px;-  border-left: 5px solid #eeeeee;-}-blockquote p {-  margin-bottom: 0;-  font-size: 16px;-  font-weight: 300;-  line-height: 22.5px;-}-blockquote small {-  display: block;-  line-height: 18px;-  color: #999999;-}-blockquote small:before {-  content: '\2014 \00A0';-}-blockquote.pull-right {-  float: right;-  padding-left: 0;-  padding-right: 15px;-  border-left: 0;-  border-right: 5px solid #eeeeee;-}-blockquote.pull-right p,-blockquote.pull-right small {-  text-align: right;-}-q:before,-q:after,-blockquote:before,-blockquote:after {-  content: "";-}-address {-  display: block;-  margin-bottom: 18px;-  line-height: 18px;-  font-style: normal;-}-small {-  font-size: 100%;-}-cite {-  font-style: normal;-}-code,-pre {-  padding: 0 3px 2px;-  font-family: Menlo, Monaco, "Courier New", monospace;-  font-size: 12px;-  color: #333333;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-code {-  padding: 2px 4px;-  color: #d14;-  background-color: #f7f7f9;-  border: 1px solid #e1e1e8;-}-pre {-  display: block;-  padding: 8.5px;-  margin: 0 0 9px;-  font-size: 12.025px;-  line-height: 18px;-  background-color: #f5f5f5;-  border: 1px solid #ccc;-  border: 1px solid rgba(0, 0, 0, 0.15);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  white-space: pre;-  white-space: pre-wrap;-  word-break: break-all;-  word-wrap: break-word;-}-pre.prettyprint {-  margin-bottom: 18px;-}-pre code {-  padding: 0;-  color: inherit;-  background-color: transparent;-  border: 0;-}-.pre-scrollable {-  max-height: 340px;-  overflow-y: scroll;-}-form {-  margin: 0 0 18px;-}-fieldset {-  padding: 0;-  margin: 0;-  border: 0;-}-legend {-  display: block;-  width: 100%;-  padding: 0;-  margin-bottom: 27px;-  font-size: 19.5px;-  line-height: 36px;-  color: #333333;-  border: 0;-  border-bottom: 1px solid #eee;-}-legend small {-  font-size: 13.5px;-  color: #999999;-}-label,-input,-button,-select,-textarea {-  font-size: 13px;-  font-weight: normal;-  line-height: 18px;-}-input,-button,-select,-textarea {-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-}-label {-  display: block;-  margin-bottom: 5px;-  color: #333333;-}-input,-textarea,-select,-.uneditable-input {-  display: inline-block;-  width: 210px;-  height: 18px;-  padding: 4px;-  margin-bottom: 9px;-  font-size: 13px;-  line-height: 18px;-  color: #555555;-  border: 1px solid #cccccc;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.uneditable-textarea {-  width: auto;-  height: auto;-}-label input,-label textarea,-label select {-  display: block;-}-input[type="image"],-input[type="checkbox"],-input[type="radio"] {-  width: auto;-  height: auto;-  padding: 0;-  margin: 3px 0;-  *margin-top: 0;-  /* IE7 */--  line-height: normal;-  cursor: pointer;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-  border: 0 \9;-  /* IE9 and down */--}-input[type="image"] {-  border: 0;-}-input[type="file"] {-  width: auto;-  padding: initial;-  line-height: initial;-  border: initial;-  background-color: #ffffff;-  background-color: initial;-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-input[type="button"],-input[type="reset"],-input[type="submit"] {-  width: auto;-  height: auto;-}-select,-input[type="file"] {-  height: 28px;-  /* In IE7, the height of the select element cannot be changed by height, only font-size */--  *margin-top: 4px;-  /* For IE7, add top margin to align select with labels */--  line-height: 28px;-}-input[type="file"] {-  line-height: 18px \9;-}-select {-  width: 220px;-  background-color: #ffffff;-}-select[multiple],-select[size] {-  height: auto;-}-input[type="image"] {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-textarea {-  height: auto;-}-input[type="hidden"] {-  display: none;-}-.radio,-.checkbox {-  padding-left: 18px;-}-.radio input[type="radio"],-.checkbox input[type="checkbox"] {-  float: left;-  margin-left: -18px;-}-.controls > .radio:first-child,-.controls > .checkbox:first-child {-  padding-top: 5px;-}-.radio.inline,-.checkbox.inline {-  display: inline-block;-  padding-top: 5px;-  margin-bottom: 0;-  vertical-align: middle;-}-.radio.inline + .radio.inline,-.checkbox.inline + .checkbox.inline {-  margin-left: 10px;-}-input,-textarea {-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-  -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;-  -moz-transition: border linear 0.2s, box-shadow linear 0.2s;-  -ms-transition: border linear 0.2s, box-shadow linear 0.2s;-  -o-transition: border linear 0.2s, box-shadow linear 0.2s;-  transition: border linear 0.2s, box-shadow linear 0.2s;-}-input:focus,-textarea:focus {-  border-color: rgba(82, 168, 236, 0.8);-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);-  outline: 0;-  outline: thin dotted \9;-  /* IE6-9 */--}-input[type="file"]:focus,-input[type="radio"]:focus,-input[type="checkbox"]:focus,-select:focus {-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.input-mini {-  width: 60px;-}-.input-small {-  width: 90px;-}-.input-medium {-  width: 150px;-}-.input-large {-  width: 210px;-}-.input-xlarge {-  width: 270px;-}-.input-xxlarge {-  width: 530px;-}-input[class*="span"],-select[class*="span"],-textarea[class*="span"],-.uneditable-input {-  float: none;-  margin-left: 0;-}-input,-textarea,-.uneditable-input {-  margin-left: 0;-}-input.span12, textarea.span12, .uneditable-input.span12 {-  width: 930px;-}-input.span11, textarea.span11, .uneditable-input.span11 {-  width: 850px;-}-input.span10, textarea.span10, .uneditable-input.span10 {-  width: 770px;-}-input.span9, textarea.span9, .uneditable-input.span9 {-  width: 690px;-}-input.span8, textarea.span8, .uneditable-input.span8 {-  width: 610px;-}-input.span7, textarea.span7, .uneditable-input.span7 {-  width: 530px;-}-input.span6, textarea.span6, .uneditable-input.span6 {-  width: 450px;-}-input.span5, textarea.span5, .uneditable-input.span5 {-  width: 370px;-}-input.span4, textarea.span4, .uneditable-input.span4 {-  width: 290px;-}-input.span3, textarea.span3, .uneditable-input.span3 {-  width: 210px;-}-input.span2, textarea.span2, .uneditable-input.span2 {-  width: 130px;-}-input.span1, textarea.span1, .uneditable-input.span1 {-  width: 50px;-}-input[disabled],-select[disabled],-textarea[disabled],-input[readonly],-select[readonly],-textarea[readonly] {-  background-color: #eeeeee;-  border-color: #ddd;-  cursor: not-allowed;-}-.control-group.warning > label,-.control-group.warning .help-block,-.control-group.warning .help-inline {-  color: #c09853;-}-.control-group.warning input,-.control-group.warning select,-.control-group.warning textarea {-  color: #c09853;-  border-color: #c09853;-}-.control-group.warning input:focus,-.control-group.warning select:focus,-.control-group.warning textarea:focus {-  border-color: #a47e3c;-  -webkit-box-shadow: 0 0 6px #dbc59e;-  -moz-box-shadow: 0 0 6px #dbc59e;-  box-shadow: 0 0 6px #dbc59e;-}-.control-group.warning .input-prepend .add-on,-.control-group.warning .input-append .add-on {-  color: #c09853;-  background-color: #fcf8e3;-  border-color: #c09853;-}-.control-group.error > label,-.control-group.error .help-block,-.control-group.error .help-inline {-  color: #b94a48;-}-.control-group.error input,-.control-group.error select,-.control-group.error textarea {-  color: #b94a48;-  border-color: #b94a48;-}-.control-group.error input:focus,-.control-group.error select:focus,-.control-group.error textarea:focus {-  border-color: #953b39;-  -webkit-box-shadow: 0 0 6px #d59392;-  -moz-box-shadow: 0 0 6px #d59392;-  box-shadow: 0 0 6px #d59392;-}-.control-group.error .input-prepend .add-on,-.control-group.error .input-append .add-on {-  color: #b94a48;-  background-color: #f2dede;-  border-color: #b94a48;-}-.control-group.success > label,-.control-group.success .help-block,-.control-group.success .help-inline {-  color: #468847;-}-.control-group.success input,-.control-group.success select,-.control-group.success textarea {-  color: #468847;-  border-color: #468847;-}-.control-group.success input:focus,-.control-group.success select:focus,-.control-group.success textarea:focus {-  border-color: #356635;-  -webkit-box-shadow: 0 0 6px #7aba7b;-  -moz-box-shadow: 0 0 6px #7aba7b;-  box-shadow: 0 0 6px #7aba7b;-}-.control-group.success .input-prepend .add-on,-.control-group.success .input-append .add-on {-  color: #468847;-  background-color: #dff0d8;-  border-color: #468847;-}-input:focus:required:invalid,-textarea:focus:required:invalid,-select:focus:required:invalid {-  color: #b94a48;-  border-color: #ee5f5b;-}-input:focus:required:invalid:focus,-textarea:focus:required:invalid:focus,-select:focus:required:invalid:focus {-  border-color: #e9322d;-  -webkit-box-shadow: 0 0 6px #f8b9b7;-  -moz-box-shadow: 0 0 6px #f8b9b7;-  box-shadow: 0 0 6px #f8b9b7;-}-.form-actions {-  padding: 17px 20px 18px;-  margin-top: 18px;-  margin-bottom: 18px;-  background-color: #eeeeee;-  border-top: 1px solid #ddd;-  *zoom: 1;-}-.form-actions:before,-.form-actions:after {-  display: table;-  content: "";-}-.form-actions:after {-  clear: both;-}-.uneditable-input {-  display: block;-  background-color: #ffffff;-  border-color: #eee;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);-  cursor: not-allowed;-}-:-moz-placeholder {-  color: #999999;-}-::-webkit-input-placeholder {-  color: #999999;-}-.help-block,-.help-inline {-  color: #555555;-}-.help-block {-  display: block;-  margin-bottom: 9px;-}-.help-inline {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  vertical-align: middle;-  padding-left: 5px;-}-.input-prepend,-.input-append {-  margin-bottom: 5px;-}-.input-prepend input,-.input-append input,-.input-prepend select,-.input-append select,-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  *margin-left: 0;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend input:focus,-.input-append input:focus,-.input-prepend select:focus,-.input-append select:focus,-.input-prepend .uneditable-input:focus,-.input-append .uneditable-input:focus {-  position: relative;-  z-index: 2;-}-.input-prepend .uneditable-input,-.input-append .uneditable-input {-  border-left-color: #ccc;-}-.input-prepend .add-on,-.input-append .add-on {-  display: inline-block;-  width: auto;-  min-width: 16px;-  height: 18px;-  padding: 4px 5px;-  font-weight: normal;-  line-height: 18px;-  text-align: center;-  text-shadow: 0 1px 0 #ffffff;-  vertical-align: middle;-  background-color: #eeeeee;-  border: 1px solid #ccc;-}-.input-prepend .add-on,-.input-append .add-on,-.input-prepend .btn,-.input-append .btn {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend .active,-.input-append .active {-  background-color: #a9dba9;-  border-color: #46a546;-}-.input-prepend .add-on,-.input-prepend .btn {-  margin-right: -1px;-}-.input-append input,-.input-append select .uneditable-input {-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-append .uneditable-input {-  border-left-color: #eee;-  border-right-color: #ccc;-}-.input-append .add-on,-.input-append .btn {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.input-prepend.input-append input,-.input-prepend.input-append select,-.input-prepend.input-append .uneditable-input {-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.input-prepend.input-append .add-on:first-child,-.input-prepend.input-append .btn:first-child {-  margin-right: -1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.input-prepend.input-append .add-on:last-child,-.input-prepend.input-append .btn:last-child {-  margin-left: -1px;-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.search-query {-  padding-left: 14px;-  padding-right: 14px;-  margin-bottom: 0;-  -webkit-border-radius: 14px;-  -moz-border-radius: 14px;-  border-radius: 14px;-}-.form-search input,-.form-inline input,-.form-horizontal input,-.form-search textarea,-.form-inline textarea,-.form-horizontal textarea,-.form-search select,-.form-inline select,-.form-horizontal select,-.form-search .help-inline,-.form-inline .help-inline,-.form-horizontal .help-inline,-.form-search .uneditable-input,-.form-inline .uneditable-input,-.form-horizontal .uneditable-input,-.form-search .input-prepend,-.form-inline .input-prepend,-.form-horizontal .input-prepend,-.form-search .input-append,-.form-inline .input-append,-.form-horizontal .input-append {-  display: inline-block;-  margin-bottom: 0;-}-.form-search .hide,-.form-inline .hide,-.form-horizontal .hide {-  display: none;-}-.form-search label,-.form-inline label {-  display: inline-block;-}-.form-search .input-append,-.form-inline .input-append,-.form-search .input-prepend,-.form-inline .input-prepend {-  margin-bottom: 0;-}-.form-search .radio,-.form-search .checkbox,-.form-inline .radio,-.form-inline .checkbox {-  padding-left: 0;-  margin-bottom: 0;-  vertical-align: middle;-}-.form-search .radio input[type="radio"],-.form-search .checkbox input[type="checkbox"],-.form-inline .radio input[type="radio"],-.form-inline .checkbox input[type="checkbox"] {-  float: left;-  margin-left: 0;-  margin-right: 3px;-}-.control-group {-  margin-bottom: 9px;-}-legend + .control-group {-  margin-top: 18px;-  -webkit-margin-top-collapse: separate;-}-.form-horizontal .control-group {-  margin-bottom: 18px;-  *zoom: 1;-}-.form-horizontal .control-group:before,-.form-horizontal .control-group:after {-  display: table;-  content: "";-}-.form-horizontal .control-group:after {-  clear: both;-}-.form-horizontal .control-label {-  float: left;-  width: 140px;-  padding-top: 5px;-  text-align: right;-}-.form-horizontal .controls {-  margin-left: 160px;-  /* Super jank IE7 fix to ensure the inputs in .input-append and input-prepend don't inherit the margin of the parent, in this case .controls */--  *display: inline-block;-  *margin-left: 0;-  *padding-left: 20px;-}-.form-horizontal .help-block {-  margin-top: 9px;-  margin-bottom: 0;-}-.form-horizontal .form-actions {-  padding-left: 160px;-}-table {-  max-width: 100%;-  border-collapse: collapse;-  border-spacing: 0;-  background-color: transparent;-}-.table {-  width: 100%;-  margin-bottom: 18px;-}-.table th,-.table td {-  padding: 8px;-  line-height: 18px;-  text-align: left;-  vertical-align: top;-  border-top: 1px solid #dddddd;-}-.table th {-  font-weight: bold;-}-.table thead th {-  vertical-align: bottom;-}-.table colgroup + thead tr:first-child th,-.table colgroup + thead tr:first-child td,-.table thead:first-child tr:first-child th,-.table thead:first-child tr:first-child td {-  border-top: 0;-}-.table tbody + tbody {-  border-top: 2px solid #dddddd;-}-.table-condensed th,-.table-condensed td {-  padding: 4px 5px;-}-.table-bordered {-  border: 1px solid #dddddd;-  border-left: 0;-  border-collapse: separate;-  *border-collapse: collapsed;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.table-bordered th,-.table-bordered td {-  border-left: 1px solid #dddddd;-}-.table-bordered thead:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child th,-.table-bordered tbody:first-child tr:first-child td {-  border-top: 0;-}-.table-bordered thead:first-child tr:first-child th:first-child,-.table-bordered tbody:first-child tr:first-child td:first-child {-  -webkit-border-radius: 4px 0 0 0;-  -moz-border-radius: 4px 0 0 0;-  border-radius: 4px 0 0 0;-}-.table-bordered thead:first-child tr:first-child th:last-child,-.table-bordered tbody:first-child tr:first-child td:last-child {-  -webkit-border-radius: 0 4px 0 0;-  -moz-border-radius: 0 4px 0 0;-  border-radius: 0 4px 0 0;-}-.table-bordered thead:last-child tr:last-child th:first-child,-.table-bordered tbody:last-child tr:last-child td:first-child {-  -webkit-border-radius: 0 0 0 4px;-  -moz-border-radius: 0 0 0 4px;-  border-radius: 0 0 0 4px;-}-.table-bordered thead:last-child tr:last-child th:last-child,-.table-bordered tbody:last-child tr:last-child td:last-child {-  -webkit-border-radius: 0 0 4px 0;-  -moz-border-radius: 0 0 4px 0;-  border-radius: 0 0 4px 0;-}-.table-striped tbody tr:nth-child(odd) td,-.table-striped tbody tr:nth-child(odd) th {-  background-color: #f9f9f9;-}-.table tbody tr:hover td,-.table tbody tr:hover th {-  background-color: #f5f5f5;-}-table .span1 {-  float: none;-  width: 44px;-  margin-left: 0;-}-table .span2 {-  float: none;-  width: 124px;-  margin-left: 0;-}-table .span3 {-  float: none;-  width: 204px;-  margin-left: 0;-}-table .span4 {-  float: none;-  width: 284px;-  margin-left: 0;-}-table .span5 {-  float: none;-  width: 364px;-  margin-left: 0;-}-table .span6 {-  float: none;-  width: 444px;-  margin-left: 0;-}-table .span7 {-  float: none;-  width: 524px;-  margin-left: 0;-}-table .span8 {-  float: none;-  width: 604px;-  margin-left: 0;-}-table .span9 {-  float: none;-  width: 684px;-  margin-left: 0;-}-table .span10 {-  float: none;-  width: 764px;-  margin-left: 0;-}-table .span11 {-  float: none;-  width: 844px;-  margin-left: 0;-}-table .span12 {-  float: none;-  width: 924px;-  margin-left: 0;-}-table .span13 {-  float: none;-  width: 1004px;-  margin-left: 0;-}-table .span14 {-  float: none;-  width: 1084px;-  margin-left: 0;-}-table .span15 {-  float: none;-  width: 1164px;-  margin-left: 0;-}-table .span16 {-  float: none;-  width: 1244px;-  margin-left: 0;-}-table .span17 {-  float: none;-  width: 1324px;-  margin-left: 0;-}-table .span18 {-  float: none;-  width: 1404px;-  margin-left: 0;-}-table .span19 {-  float: none;-  width: 1484px;-  margin-left: 0;-}-table .span20 {-  float: none;-  width: 1564px;-  margin-left: 0;-}-table .span21 {-  float: none;-  width: 1644px;-  margin-left: 0;-}-table .span22 {-  float: none;-  width: 1724px;-  margin-left: 0;-}-table .span23 {-  float: none;-  width: 1804px;-  margin-left: 0;-}-table .span24 {-  float: none;-  width: 1884px;-  margin-left: 0;-}-[class^="icon-"],-[class*=" icon-"] {-  display: inline-block;-  width: 14px;-  height: 14px;-  line-height: 14px;-  vertical-align: text-top;-  background-image: url("../img/glyphicons-halflings.png");-  background-position: 14px 14px;-  background-repeat: no-repeat;-  *margin-right: .3em;-}-[class^="icon-"]:last-child,-[class*=" icon-"]:last-child {-  *margin-left: 0;-}-.icon-white {-  background-image: url("../img/glyphicons-halflings-white.png");-}-.icon-glass {-  background-position: 0      0;-}-.icon-music {-  background-position: -24px 0;-}-.icon-search {-  background-position: -48px 0;-}-.icon-envelope {-  background-position: -72px 0;-}-.icon-heart {-  background-position: -96px 0;-}-.icon-star {-  background-position: -120px 0;-}-.icon-star-empty {-  background-position: -144px 0;-}-.icon-user {-  background-position: -168px 0;-}-.icon-film {-  background-position: -192px 0;-}-.icon-th-large {-  background-position: -216px 0;-}-.icon-th {-  background-position: -240px 0;-}-.icon-th-list {-  background-position: -264px 0;-}-.icon-ok {-  background-position: -288px 0;-}-.icon-remove {-  background-position: -312px 0;-}-.icon-zoom-in {-  background-position: -336px 0;-}-.icon-zoom-out {-  background-position: -360px 0;-}-.icon-off {-  background-position: -384px 0;-}-.icon-signal {-  background-position: -408px 0;-}-.icon-cog {-  background-position: -432px 0;-}-.icon-trash {-  background-position: -456px 0;-}-.icon-home {-  background-position: 0 -24px;-}-.icon-file {-  background-position: -24px -24px;-}-.icon-time {-  background-position: -48px -24px;-}-.icon-road {-  background-position: -72px -24px;-}-.icon-download-alt {-  background-position: -96px -24px;-}-.icon-download {-  background-position: -120px -24px;-}-.icon-upload {-  background-position: -144px -24px;-}-.icon-inbox {-  background-position: -168px -24px;-}-.icon-play-circle {-  background-position: -192px -24px;-}-.icon-repeat {-  background-position: -216px -24px;-}-.icon-refresh {-  background-position: -240px -24px;-}-.icon-list-alt {-  background-position: -264px -24px;-}-.icon-lock {-  background-position: -287px -24px;-}-.icon-flag {-  background-position: -312px -24px;-}-.icon-headphones {-  background-position: -336px -24px;-}-.icon-volume-off {-  background-position: -360px -24px;-}-.icon-volume-down {-  background-position: -384px -24px;-}-.icon-volume-up {-  background-position: -408px -24px;-}-.icon-qrcode {-  background-position: -432px -24px;-}-.icon-barcode {-  background-position: -456px -24px;-}-.icon-tag {-  background-position: 0 -48px;-}-.icon-tags {-  background-position: -25px -48px;-}-.icon-book {-  background-position: -48px -48px;-}-.icon-bookmark {-  background-position: -72px -48px;-}-.icon-print {-  background-position: -96px -48px;-}-.icon-camera {-  background-position: -120px -48px;-}-.icon-font {-  background-position: -144px -48px;-}-.icon-bold {-  background-position: -167px -48px;-}-.icon-italic {-  background-position: -192px -48px;-}-.icon-text-height {-  background-position: -216px -48px;-}-.icon-text-width {-  background-position: -240px -48px;-}-.icon-align-left {-  background-position: -264px -48px;-}-.icon-align-center {-  background-position: -288px -48px;-}-.icon-align-right {-  background-position: -312px -48px;-}-.icon-align-justify {-  background-position: -336px -48px;-}-.icon-list {-  background-position: -360px -48px;-}-.icon-indent-left {-  background-position: -384px -48px;-}-.icon-indent-right {-  background-position: -408px -48px;-}-.icon-facetime-video {-  background-position: -432px -48px;-}-.icon-picture {-  background-position: -456px -48px;-}-.icon-pencil {-  background-position: 0 -72px;-}-.icon-map-marker {-  background-position: -24px -72px;-}-.icon-adjust {-  background-position: -48px -72px;-}-.icon-tint {-  background-position: -72px -72px;-}-.icon-edit {-  background-position: -96px -72px;-}-.icon-share {-  background-position: -120px -72px;-}-.icon-check {-  background-position: -144px -72px;-}-.icon-move {-  background-position: -168px -72px;-}-.icon-step-backward {-  background-position: -192px -72px;-}-.icon-fast-backward {-  background-position: -216px -72px;-}-.icon-backward {-  background-position: -240px -72px;-}-.icon-play {-  background-position: -264px -72px;-}-.icon-pause {-  background-position: -288px -72px;-}-.icon-stop {-  background-position: -312px -72px;-}-.icon-forward {-  background-position: -336px -72px;-}-.icon-fast-forward {-  background-position: -360px -72px;-}-.icon-step-forward {-  background-position: -384px -72px;-}-.icon-eject {-  background-position: -408px -72px;-}-.icon-chevron-left {-  background-position: -432px -72px;-}-.icon-chevron-right {-  background-position: -456px -72px;-}-.icon-plus-sign {-  background-position: 0 -96px;-}-.icon-minus-sign {-  background-position: -24px -96px;-}-.icon-remove-sign {-  background-position: -48px -96px;-}-.icon-ok-sign {-  background-position: -72px -96px;-}-.icon-question-sign {-  background-position: -96px -96px;-}-.icon-info-sign {-  background-position: -120px -96px;-}-.icon-screenshot {-  background-position: -144px -96px;-}-.icon-remove-circle {-  background-position: -168px -96px;-}-.icon-ok-circle {-  background-position: -192px -96px;-}-.icon-ban-circle {-  background-position: -216px -96px;-}-.icon-arrow-left {-  background-position: -240px -96px;-}-.icon-arrow-right {-  background-position: -264px -96px;-}-.icon-arrow-up {-  background-position: -289px -96px;-}-.icon-arrow-down {-  background-position: -312px -96px;-}-.icon-share-alt {-  background-position: -336px -96px;-}-.icon-resize-full {-  background-position: -360px -96px;-}-.icon-resize-small {-  background-position: -384px -96px;-}-.icon-plus {-  background-position: -408px -96px;-}-.icon-minus {-  background-position: -433px -96px;-}-.icon-asterisk {-  background-position: -456px -96px;-}-.icon-exclamation-sign {-  background-position: 0 -120px;-}-.icon-gift {-  background-position: -24px -120px;-}-.icon-leaf {-  background-position: -48px -120px;-}-.icon-fire {-  background-position: -72px -120px;-}-.icon-eye-open {-  background-position: -96px -120px;-}-.icon-eye-close {-  background-position: -120px -120px;-}-.icon-warning-sign {-  background-position: -144px -120px;-}-.icon-plane {-  background-position: -168px -120px;-}-.icon-calendar {-  background-position: -192px -120px;-}-.icon-random {-  background-position: -216px -120px;-}-.icon-comment {-  background-position: -240px -120px;-}-.icon-magnet {-  background-position: -264px -120px;-}-.icon-chevron-up {-  background-position: -288px -120px;-}-.icon-chevron-down {-  background-position: -313px -119px;-}-.icon-retweet {-  background-position: -336px -120px;-}-.icon-shopping-cart {-  background-position: -360px -120px;-}-.icon-folder-close {-  background-position: -384px -120px;-}-.icon-folder-open {-  background-position: -408px -120px;-}-.icon-resize-vertical {-  background-position: -432px -119px;-}-.icon-resize-horizontal {-  background-position: -456px -118px;-}-.dropdown {-  position: relative;-}-.dropdown-toggle {-  *margin-bottom: -3px;-}-.dropdown-toggle:active,-.open .dropdown-toggle {-  outline: 0;-}-.caret {-  display: inline-block;-  width: 0;-  height: 0;-  vertical-align: top;-  border-left: 4px solid transparent;-  border-right: 4px solid transparent;-  border-top: 4px solid #000000;-  opacity: 0.3;-  filter: alpha(opacity=30);-  content: "";-}-.dropdown .caret {-  margin-top: 8px;-  margin-left: 2px;-}-.dropdown:hover .caret,-.open.dropdown .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.dropdown-menu {-  position: absolute;-  top: 100%;-  left: 0;-  z-index: 1000;-  float: left;-  display: none;-  min-width: 160px;-  padding: 4px 0;-  margin: 0;-  list-style: none;-  background-color: #ffffff;-  border-color: #ccc;-  border-color: rgba(0, 0, 0, 0.2);-  border-style: solid;-  border-width: 1px;-  -webkit-border-radius: 0 0 5px 5px;-  -moz-border-radius: 0 0 5px 5px;-  border-radius: 0 0 5px 5px;-  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding;-  background-clip: padding-box;-  *border-right-width: 2px;-  *border-bottom-width: 2px;-}-.dropdown-menu.pull-right {-  right: 0;-  left: auto;-}-.dropdown-menu .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.dropdown-menu a {-  display: block;-  padding: 3px 15px;-  clear: both;-  font-weight: normal;-  line-height: 18px;-  color: #333333;-  white-space: nowrap;-}-.dropdown-menu li > a:hover,-.dropdown-menu .active > a,-.dropdown-menu .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #0088cc;-}-.dropdown.open {-  *z-index: 1000;-}-.dropdown.open .dropdown-toggle {-  color: #ffffff;-  background: #ccc;-  background: rgba(0, 0, 0, 0.3);-}-.dropdown.open .dropdown-menu {-  display: block;-}-.pull-right .dropdown-menu {-  left: auto;-  right: 0;-}-.dropup .caret,-.navbar-fixed-bottom .dropdown .caret {-  border-top: 0;-  border-bottom: 4px solid #000000;-  content: "\2191";-}-.dropup .dropdown-menu,-.navbar-fixed-bottom .dropdown .dropdown-menu {-  top: auto;-  bottom: 100%;-  margin-bottom: 1px;-}-.typeahead {-  margin-top: 2px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.well {-  min-height: 20px;-  padding: 19px;-  margin-bottom: 20px;-  background-color: #f5f5f5;-  border: 1px solid #eee;-  border: 1px solid rgba(0, 0, 0, 0.05);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);-}-.well blockquote {-  border-color: #ddd;-  border-color: rgba(0, 0, 0, 0.15);-}-.well-large {-  padding: 24px;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.well-small {-  padding: 9px;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.fade {-  -webkit-transition: opacity 0.15s linear;-  -moz-transition: opacity 0.15s linear;-  -ms-transition: opacity 0.15s linear;-  -o-transition: opacity 0.15s linear;-  transition: opacity 0.15s linear;-  opacity: 0;-}-.fade.in {-  opacity: 1;-}-.collapse {-  -webkit-transition: height 0.35s ease;-  -moz-transition: height 0.35s ease;-  -ms-transition: height 0.35s ease;-  -o-transition: height 0.35s ease;-  transition: height 0.35s ease;-  position: relative;-  overflow: hidden;-  height: 0;-}-.collapse.in {-  height: auto;-}-.close {-  float: right;-  font-size: 20px;-  font-weight: bold;-  line-height: 18px;-  color: #000000;-  text-shadow: 0 1px 0 #ffffff;-  opacity: 0.2;-  filter: alpha(opacity=20);-}-.close:hover {-  color: #000000;-  text-decoration: none;-  opacity: 0.4;-  filter: alpha(opacity=40);-  cursor: pointer;-}-.btn {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  padding: 4px 10px 4px;-  margin-bottom: 0;-  font-size: 13px;-  line-height: 18px;-  color: #333333;-  text-align: center;-  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);-  vertical-align: middle;-  background-color: #f5f5f5;-  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));-  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);-  background-image: linear-gradient(top, #ffffff, #e6e6e6);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e6e6e6', GradientType=0);-  border-color: #e6e6e6 #e6e6e6 #bfbfbf;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  border: 1px solid #cccccc;-  border-bottom-color: #b3b3b3;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  cursor: pointer;-  *margin-left: .3em;-}-.btn:hover,-.btn:active,-.btn.active,-.btn.disabled,-.btn[disabled] {-  background-color: #e6e6e6;-}-.btn:active,-.btn.active {-  background-color: #cccccc \9;-}-.btn:first-child {-  *margin-left: 0;-}-.btn:hover {-  color: #333333;-  text-decoration: none;-  background-color: #e6e6e6;-  background-position: 0 -15px;-  -webkit-transition: background-position 0.1s linear;-  -moz-transition: background-position 0.1s linear;-  -ms-transition: background-position 0.1s linear;-  -o-transition: background-position 0.1s linear;-  transition: background-position 0.1s linear;-}-.btn:focus {-  outline: thin dotted #333;-  outline: 5px auto -webkit-focus-ring-color;-  outline-offset: -2px;-}-.btn.active,-.btn:active {-  background-image: none;-  -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  background-color: #e6e6e6;-  background-color: #d9d9d9 \9;-  outline: 0;-}-.btn.disabled,-.btn[disabled] {-  cursor: default;-  background-image: none;-  background-color: #e6e6e6;-  opacity: 0.65;-  filter: alpha(opacity=65);-  -webkit-box-shadow: none;-  -moz-box-shadow: none;-  box-shadow: none;-}-.btn-large {-  padding: 9px 14px;-  font-size: 15px;-  line-height: normal;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-large [class^="icon-"] {-  margin-top: 1px;-}-.btn-small {-  padding: 5px 9px;-  font-size: 11px;-  line-height: 16px;-}-.btn-small [class^="icon-"] {-  margin-top: -1px;-}-.btn-mini {-  padding: 2px 6px;-  font-size: 11px;-  line-height: 14px;-}-.btn-primary,-.btn-primary:hover,-.btn-warning,-.btn-warning:hover,-.btn-danger,-.btn-danger:hover,-.btn-success,-.btn-success:hover,-.btn-info,-.btn-info:hover,-.btn-inverse,-.btn-inverse:hover {-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  color: #ffffff;-}-.btn-primary.active,-.btn-warning.active,-.btn-danger.active,-.btn-success.active,-.btn-info.active,-.btn-inverse.active {-  color: rgba(255, 255, 255, 0.75);-}-.btn-primary {-  background-color: #0074cc;-  background-image: -moz-linear-gradient(top, #0088cc, #0055cc);-  background-image: -ms-linear-gradient(top, #0088cc, #0055cc);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0055cc));-  background-image: -webkit-linear-gradient(top, #0088cc, #0055cc);-  background-image: -o-linear-gradient(top, #0088cc, #0055cc);-  background-image: linear-gradient(top, #0088cc, #0055cc);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0055cc', GradientType=0);-  border-color: #0055cc #0055cc #003580;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-primary:hover,-.btn-primary:active,-.btn-primary.active,-.btn-primary.disabled,-.btn-primary[disabled] {-  background-color: #0055cc;-}-.btn-primary:active,-.btn-primary.active {-  background-color: #004099 \9;-}-.btn-warning {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-  border-color: #f89406 #f89406 #ad6704;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-warning:hover,-.btn-warning:active,-.btn-warning.active,-.btn-warning.disabled,-.btn-warning[disabled] {-  background-color: #f89406;-}-.btn-warning:active,-.btn-warning.active {-  background-color: #c67605 \9;-}-.btn-danger {-  background-color: #da4f49;-  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -ms-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);-  background-image: linear-gradient(top, #ee5f5b, #bd362f);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#bd362f', GradientType=0);-  border-color: #bd362f #bd362f #802420;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-danger:hover,-.btn-danger:active,-.btn-danger.active,-.btn-danger.disabled,-.btn-danger[disabled] {-  background-color: #bd362f;-}-.btn-danger:active,-.btn-danger.active {-  background-color: #942a25 \9;-}-.btn-success {-  background-color: #5bb75b;-  background-image: -moz-linear-gradient(top, #62c462, #51a351);-  background-image: -ms-linear-gradient(top, #62c462, #51a351);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));-  background-image: -webkit-linear-gradient(top, #62c462, #51a351);-  background-image: -o-linear-gradient(top, #62c462, #51a351);-  background-image: linear-gradient(top, #62c462, #51a351);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);-  border-color: #51a351 #51a351 #387038;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-success:hover,-.btn-success:active,-.btn-success.active,-.btn-success.disabled,-.btn-success[disabled] {-  background-color: #51a351;-}-.btn-success:active,-.btn-success.active {-  background-color: #408140 \9;-}-.btn-info {-  background-color: #49afcd;-  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));-  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);-  background-image: linear-gradient(top, #5bc0de, #2f96b4);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0);-  border-color: #2f96b4 #2f96b4 #1f6377;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-info:hover,-.btn-info:active,-.btn-info.active,-.btn-info.disabled,-.btn-info[disabled] {-  background-color: #2f96b4;-}-.btn-info:active,-.btn-info.active {-  background-color: #24748c \9;-}-.btn-inverse {-  background-color: #414141;-  background-image: -moz-linear-gradient(top, #555555, #222222);-  background-image: -ms-linear-gradient(top, #555555, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#555555), to(#222222));-  background-image: -webkit-linear-gradient(top, #555555, #222222);-  background-image: -o-linear-gradient(top, #555555, #222222);-  background-image: linear-gradient(top, #555555, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#555555', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-}-.btn-inverse:hover,-.btn-inverse:active,-.btn-inverse.active,-.btn-inverse.disabled,-.btn-inverse[disabled] {-  background-color: #222222;-}-.btn-inverse:active,-.btn-inverse.active {-  background-color: #080808 \9;-}-button.btn,-input[type="submit"].btn {-  *padding-top: 2px;-  *padding-bottom: 2px;-}-button.btn::-moz-focus-inner,-input[type="submit"].btn::-moz-focus-inner {-  padding: 0;-  border: 0;-}-button.btn.btn-large,-input[type="submit"].btn.btn-large {-  *padding-top: 7px;-  *padding-bottom: 7px;-}-button.btn.btn-small,-input[type="submit"].btn.btn-small {-  *padding-top: 3px;-  *padding-bottom: 3px;-}-button.btn.btn-mini,-input[type="submit"].btn.btn-mini {-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group {-  position: relative;-  *zoom: 1;-  *margin-left: .3em;-}-.btn-group:before,-.btn-group:after {-  display: table;-  content: "";-}-.btn-group:after {-  clear: both;-}-.btn-group:first-child {-  *margin-left: 0;-}-.btn-group + .btn-group {-  margin-left: 5px;-}-.btn-toolbar {-  margin-top: 9px;-  margin-bottom: 9px;-}-.btn-toolbar .btn-group {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-}-.btn-group .btn {-  position: relative;-  float: left;-  margin-left: -1px;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.btn-group .btn:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 4px;-  -moz-border-radius-topleft: 4px;-  border-top-left-radius: 4px;-  -webkit-border-bottom-left-radius: 4px;-  -moz-border-radius-bottomleft: 4px;-  border-bottom-left-radius: 4px;-}-.btn-group .btn:last-child,-.btn-group .dropdown-toggle {-  -webkit-border-top-right-radius: 4px;-  -moz-border-radius-topright: 4px;-  border-top-right-radius: 4px;-  -webkit-border-bottom-right-radius: 4px;-  -moz-border-radius-bottomright: 4px;-  border-bottom-right-radius: 4px;-}-.btn-group .btn.large:first-child {-  margin-left: 0;-  -webkit-border-top-left-radius: 6px;-  -moz-border-radius-topleft: 6px;-  border-top-left-radius: 6px;-  -webkit-border-bottom-left-radius: 6px;-  -moz-border-radius-bottomleft: 6px;-  border-bottom-left-radius: 6px;-}-.btn-group .btn.large:last-child,-.btn-group .large.dropdown-toggle {-  -webkit-border-top-right-radius: 6px;-  -moz-border-radius-topright: 6px;-  border-top-right-radius: 6px;-  -webkit-border-bottom-right-radius: 6px;-  -moz-border-radius-bottomright: 6px;-  border-bottom-right-radius: 6px;-}-.btn-group .btn:hover,-.btn-group .btn:focus,-.btn-group .btn:active,-.btn-group .btn.active {-  z-index: 2;-}-.btn-group .dropdown-toggle:active,-.btn-group.open .dropdown-toggle {-  outline: 0;-}-.btn-group .dropdown-toggle {-  padding-left: 8px;-  padding-right: 8px;-  -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);-  *padding-top: 3px;-  *padding-bottom: 3px;-}-.btn-group .btn-mini.dropdown-toggle {-  padding-left: 5px;-  padding-right: 5px;-  *padding-top: 1px;-  *padding-bottom: 1px;-}-.btn-group .btn-small.dropdown-toggle {-  *padding-top: 4px;-  *padding-bottom: 4px;-}-.btn-group .btn-large.dropdown-toggle {-  padding-left: 12px;-  padding-right: 12px;-}-.btn-group.open {-  *z-index: 1000;-}-.btn-group.open .dropdown-menu {-  display: block;-  margin-top: 1px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.btn-group.open .dropdown-toggle {-  background-image: none;-  -webkit-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: inset 0 1px 6px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);-}-.btn .caret {-  margin-top: 7px;-  margin-left: 0;-}-.btn:hover .caret,-.open.btn-group .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.btn-mini .caret {-  margin-top: 5px;-}-.btn-small .caret {-  margin-top: 6px;-}-.btn-large .caret {-  margin-top: 6px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.btn-primary .caret,-.btn-warning .caret,-.btn-danger .caret,-.btn-info .caret,-.btn-success .caret,-.btn-inverse .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 0.75;-  filter: alpha(opacity=75);-}-.alert {-  padding: 8px 35px 8px 14px;-  margin-bottom: 18px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  background-color: #fcf8e3;-  border: 1px solid #fbeed5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  color: #c09853;-}-.alert-heading {-  color: inherit;-}-.alert .close {-  position: relative;-  top: -2px;-  right: -21px;-  line-height: 18px;-}-.alert-success {-  background-color: #dff0d8;-  border-color: #d6e9c6;-  color: #468847;-}-.alert-danger,-.alert-error {-  background-color: #f2dede;-  border-color: #eed3d7;-  color: #b94a48;-}-.alert-info {-  background-color: #d9edf7;-  border-color: #bce8f1;-  color: #3a87ad;-}-.alert-block {-  padding-top: 14px;-  padding-bottom: 14px;-}-.alert-block > p,-.alert-block > ul {-  margin-bottom: 0;-}-.alert-block p + p {-  margin-top: 5px;-}-.nav {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-}-.nav > li > a {-  display: block;-}-.nav > li > a:hover {-  text-decoration: none;-  background-color: #eeeeee;-}-.nav .nav-header {-  display: block;-  padding: 3px 15px;-  font-size: 11px;-  font-weight: bold;-  line-height: 18px;-  color: #999999;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-  text-transform: uppercase;-}-.nav li + .nav-header {-  margin-top: 9px;-}-.nav-list {-  padding-left: 15px;-  padding-right: 15px;-  margin-bottom: 0;-}-.nav-list > li > a,-.nav-list .nav-header {-  margin-left: -15px;-  margin-right: -15px;-  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);-}-.nav-list > li > a {-  padding: 3px 15px;-}-.nav-list > .active > a,-.nav-list > .active > a:hover {-  color: #ffffff;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);-  background-color: #0088cc;-}-.nav-list [class^="icon-"] {-  margin-right: 2px;-}-.nav-list .divider {-  height: 1px;-  margin: 8px 1px;-  overflow: hidden;-  background-color: #e5e5e5;-  border-bottom: 1px solid #ffffff;-  *width: 100%;-  *margin: -5px 0 5px;-}-.nav-tabs,-.nav-pills {-  *zoom: 1;-}-.nav-tabs:before,-.nav-pills:before,-.nav-tabs:after,-.nav-pills:after {-  display: table;-  content: "";-}-.nav-tabs:after,-.nav-pills:after {-  clear: both;-}-.nav-tabs > li,-.nav-pills > li {-  float: left;-}-.nav-tabs > li > a,-.nav-pills > li > a {-  padding-right: 12px;-  padding-left: 12px;-  margin-right: 2px;-  line-height: 14px;-}-.nav-tabs {-  border-bottom: 1px solid #ddd;-}-.nav-tabs > li {-  margin-bottom: -1px;-}-.nav-tabs > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  line-height: 18px;-  border: 1px solid transparent;-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #dddddd;-}-.nav-tabs > .active > a,-.nav-tabs > .active > a:hover {-  color: #555555;-  background-color: #ffffff;-  border: 1px solid #ddd;-  border-bottom-color: transparent;-  cursor: default;-}-.nav-pills > li > a {-  padding-top: 8px;-  padding-bottom: 8px;-  margin-top: 2px;-  margin-bottom: 2px;-  -webkit-border-radius: 5px;-  -moz-border-radius: 5px;-  border-radius: 5px;-}-.nav-pills > .active > a,-.nav-pills > .active > a:hover {-  color: #ffffff;-  background-color: #0088cc;-}-.nav-stacked > li {-  float: none;-}-.nav-stacked > li > a {-  margin-right: 0;-}-.nav-tabs.nav-stacked {-  border-bottom: 0;-}-.nav-tabs.nav-stacked > li > a {-  border: 1px solid #ddd;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.nav-tabs.nav-stacked > li:first-child > a {-  -webkit-border-radius: 4px 4px 0 0;-  -moz-border-radius: 4px 4px 0 0;-  border-radius: 4px 4px 0 0;-}-.nav-tabs.nav-stacked > li:last-child > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.nav-tabs.nav-stacked > li > a:hover {-  border-color: #ddd;-  z-index: 2;-}-.nav-pills.nav-stacked > li > a {-  margin-bottom: 3px;-}-.nav-pills.nav-stacked > li:last-child > a {-  margin-bottom: 1px;-}-.nav-tabs .dropdown-menu,-.nav-pills .dropdown-menu {-  margin-top: 1px;-  border-width: 1px;-}-.nav-pills .dropdown-menu {-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.nav-tabs .dropdown-toggle .caret,-.nav-pills .dropdown-toggle .caret {-  border-top-color: #0088cc;-  border-bottom-color: #0088cc;-  margin-top: 6px;-}-.nav-tabs .dropdown-toggle:hover .caret,-.nav-pills .dropdown-toggle:hover .caret {-  border-top-color: #005580;-  border-bottom-color: #005580;-}-.nav-tabs .active .dropdown-toggle .caret,-.nav-pills .active .dropdown-toggle .caret {-  border-top-color: #333333;-  border-bottom-color: #333333;-}-.nav > .dropdown.active > a:hover {-  color: #000000;-  cursor: pointer;-}-.nav-tabs .open .dropdown-toggle,-.nav-pills .open .dropdown-toggle,-.nav > .open.active > a:hover {-  color: #ffffff;-  background-color: #999999;-  border-color: #999999;-}-.nav .open .caret,-.nav .open.active .caret,-.nav .open a:hover .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-  opacity: 1;-  filter: alpha(opacity=100);-}-.tabs-stacked .open > a:hover {-  border-color: #999999;-}-.tabbable {-  *zoom: 1;-}-.tabbable:before,-.tabbable:after {-  display: table;-  content: "";-}-.tabbable:after {-  clear: both;-}-.tab-content {-  display: table;-  width: 100%;-}-.tabs-below .nav-tabs,-.tabs-right .nav-tabs,-.tabs-left .nav-tabs {-  border-bottom: 0;-}-.tab-content > .tab-pane,-.pill-content > .pill-pane {-  display: none;-}-.tab-content > .active,-.pill-content > .active {-  display: block;-}-.tabs-below .nav-tabs {-  border-top: 1px solid #ddd;-}-.tabs-below .nav-tabs > li {-  margin-top: -1px;-  margin-bottom: 0;-}-.tabs-below .nav-tabs > li > a {-  -webkit-border-radius: 0 0 4px 4px;-  -moz-border-radius: 0 0 4px 4px;-  border-radius: 0 0 4px 4px;-}-.tabs-below .nav-tabs > li > a:hover {-  border-bottom-color: transparent;-  border-top-color: #ddd;-}-.tabs-below .nav-tabs .active > a,-.tabs-below .nav-tabs .active > a:hover {-  border-color: transparent #ddd #ddd #ddd;-}-.tabs-left .nav-tabs > li,-.tabs-right .nav-tabs > li {-  float: none;-}-.tabs-left .nav-tabs > li > a,-.tabs-right .nav-tabs > li > a {-  min-width: 74px;-  margin-right: 0;-  margin-bottom: 3px;-}-.tabs-left .nav-tabs {-  float: left;-  margin-right: 19px;-  border-right: 1px solid #ddd;-}-.tabs-left .nav-tabs > li > a {-  margin-right: -1px;-  -webkit-border-radius: 4px 0 0 4px;-  -moz-border-radius: 4px 0 0 4px;-  border-radius: 4px 0 0 4px;-}-.tabs-left .nav-tabs > li > a:hover {-  border-color: #eeeeee #dddddd #eeeeee #eeeeee;-}-.tabs-left .nav-tabs .active > a,-.tabs-left .nav-tabs .active > a:hover {-  border-color: #ddd transparent #ddd #ddd;-  *border-right-color: #ffffff;-}-.tabs-right .nav-tabs {-  float: right;-  margin-left: 19px;-  border-left: 1px solid #ddd;-}-.tabs-right .nav-tabs > li > a {-  margin-left: -1px;-  -webkit-border-radius: 0 4px 4px 0;-  -moz-border-radius: 0 4px 4px 0;-  border-radius: 0 4px 4px 0;-}-.tabs-right .nav-tabs > li > a:hover {-  border-color: #eeeeee #eeeeee #eeeeee #dddddd;-}-.tabs-right .nav-tabs .active > a,-.tabs-right .nav-tabs .active > a:hover {-  border-color: #ddd #ddd #ddd transparent;-  *border-left-color: #ffffff;-}-.navbar {-  *position: relative;-  *z-index: 2;-  overflow: visible;-  margin-bottom: 18px;-}-.navbar-inner {-  padding-left: 20px;-  padding-right: 20px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25), inset 0 -1px 0 rgba(0, 0, 0, 0.1);-}-.navbar .container {-  width: auto;-}-.btn-navbar {-  display: none;-  float: right;-  padding: 7px 10px;-  margin-left: 5px;-  margin-right: 5px;-  background-color: #2c2c2c;-  background-image: -moz-linear-gradient(top, #333333, #222222);-  background-image: -ms-linear-gradient(top, #333333, #222222);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#333333), to(#222222));-  background-image: -webkit-linear-gradient(top, #333333, #222222);-  background-image: -o-linear-gradient(top, #333333, #222222);-  background-image: linear-gradient(top, #333333, #222222);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#333333', endColorstr='#222222', GradientType=0);-  border-color: #222222 #222222 #000000;-  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);-  filter: progid:dximagetransform.microsoft.gradient(enabled=false);-  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);-}-.btn-navbar:hover,-.btn-navbar:active,-.btn-navbar.active,-.btn-navbar.disabled,-.btn-navbar[disabled] {-  background-color: #222222;-}-.btn-navbar:active,-.btn-navbar.active {-  background-color: #080808 \9;-}-.btn-navbar .icon-bar {-  display: block;-  width: 18px;-  height: 2px;-  background-color: #f5f5f5;-  -webkit-border-radius: 1px;-  -moz-border-radius: 1px;-  border-radius: 1px;-  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);-}-.btn-navbar .icon-bar + .icon-bar {-  margin-top: 3px;-}-.nav-collapse.collapse {-  height: auto;-}-.navbar {-  color: #999999;-}-.navbar .brand:hover {-  text-decoration: none;-}-.navbar .brand {-  float: left;-  display: block;-  padding: 8px 20px 12px;-  margin-left: -20px;-  font-size: 20px;-  font-weight: 200;-  line-height: 1;-  color: #ffffff;-}-.navbar .navbar-text {-  margin-bottom: 0;-  line-height: 40px;-}-.navbar .btn,-.navbar .btn-group {-  margin-top: 5px;-}-.navbar .btn-group .btn {-  margin-top: 0;-}-.navbar-form {-  margin-bottom: 0;-  *zoom: 1;-}-.navbar-form:before,-.navbar-form:after {-  display: table;-  content: "";-}-.navbar-form:after {-  clear: both;-}-.navbar-form input,-.navbar-form select,-.navbar-form .radio,-.navbar-form .checkbox {-  margin-top: 5px;-}-.navbar-form input,-.navbar-form select {-  display: inline-block;-  margin-bottom: 0;-}-.navbar-form input[type="image"],-.navbar-form input[type="checkbox"],-.navbar-form input[type="radio"] {-  margin-top: 3px;-}-.navbar-form .input-append,-.navbar-form .input-prepend {-  margin-top: 6px;-  white-space: nowrap;-}-.navbar-form .input-append input,-.navbar-form .input-prepend input {-  margin-top: 0;-}-.navbar-search {-  position: relative;-  float: left;-  margin-top: 6px;-  margin-bottom: 0;-}-.navbar-search .search-query {-  padding: 4px 9px;-  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;-  font-size: 13px;-  font-weight: normal;-  line-height: 1;-  color: #ffffff;-  background-color: #626262;-  border: 1px solid #151515;-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0px rgba(255, 255, 255, 0.15);-  -webkit-transition: none;-  -moz-transition: none;-  -ms-transition: none;-  -o-transition: none;-  transition: none;-}-.navbar-search .search-query:-moz-placeholder {-  color: #cccccc;-}-.navbar-search .search-query::-webkit-input-placeholder {-  color: #cccccc;-}-.navbar-search .search-query:focus,-.navbar-search .search-query.focused {-  padding: 5px 10px;-  color: #333333;-  text-shadow: 0 1px 0 #ffffff;-  background-color: #ffffff;-  border: 0;-  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);-  outline: 0;-}-.navbar-fixed-top,-.navbar-fixed-bottom {-  position: fixed;-  right: 0;-  left: 0;-  z-index: 1030;-  margin-bottom: 0;-}-.navbar-fixed-top .navbar-inner,-.navbar-fixed-bottom .navbar-inner {-  padding-left: 0;-  padding-right: 0;-  -webkit-border-radius: 0;-  -moz-border-radius: 0;-  border-radius: 0;-}-.navbar-fixed-top .container,-.navbar-fixed-bottom .container {-  width: 940px;-}-.navbar-fixed-top {-  top: 0;-}-.navbar-fixed-bottom {-  bottom: 0;-}-.navbar .nav {-  position: relative;-  left: 0;-  display: block;-  float: left;-  margin: 0 10px 0 0;-}-.navbar .nav.pull-right {-  float: right;-}-.navbar .nav > li {-  display: block;-  float: left;-}-.navbar .nav > li > a {-  float: none;-  padding: 10px 10px 11px;-  line-height: 19px;-  color: #999999;-  text-decoration: none;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-}-.navbar .nav > li > a:hover {-  background-color: transparent;-  color: #ffffff;-  text-decoration: none;-}-.navbar .nav .active > a,-.navbar .nav .active > a:hover {-  color: #ffffff;-  text-decoration: none;-  background-color: #222222;-}-.navbar .divider-vertical {-  height: 40px;-  width: 1px;-  margin: 0 9px;-  overflow: hidden;-  background-color: #222222;-  border-right: 1px solid #333333;-}-.navbar .nav.pull-right {-  margin-left: 10px;-  margin-right: 0;-}-.navbar .dropdown-menu {-  margin-top: 1px;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.navbar .dropdown-menu:before {-  content: '';-  display: inline-block;-  border-left: 7px solid transparent;-  border-right: 7px solid transparent;-  border-bottom: 7px solid #ccc;-  border-bottom-color: rgba(0, 0, 0, 0.2);-  position: absolute;-  top: -7px;-  left: 9px;-}-.navbar .dropdown-menu:after {-  content: '';-  display: inline-block;-  border-left: 6px solid transparent;-  border-right: 6px solid transparent;-  border-bottom: 6px solid #ffffff;-  position: absolute;-  top: -6px;-  left: 10px;-}-.navbar-fixed-bottom .dropdown-menu:before {-  border-top: 7px solid #ccc;-  border-top-color: rgba(0, 0, 0, 0.2);-  border-bottom: 0;-  bottom: -7px;-  top: auto;-}-.navbar-fixed-bottom .dropdown-menu:after {-  border-top: 6px solid #ffffff;-  border-bottom: 0;-  bottom: -6px;-  top: auto;-}-.navbar .nav .dropdown-toggle .caret,-.navbar .nav .open.dropdown .caret {-  border-top-color: #ffffff;-  border-bottom-color: #ffffff;-}-.navbar .nav .active .caret {-  opacity: 1;-  filter: alpha(opacity=100);-}-.navbar .nav .open > .dropdown-toggle,-.navbar .nav .active > .dropdown-toggle,-.navbar .nav .open.active > .dropdown-toggle {-  background-color: transparent;-}-.navbar .nav .active > .dropdown-toggle:hover {-  color: #ffffff;-}-.navbar .nav.pull-right .dropdown-menu,-.navbar .nav .dropdown-menu.pull-right {-  left: auto;-  right: 0;-}-.navbar .nav.pull-right .dropdown-menu:before,-.navbar .nav .dropdown-menu.pull-right:before {-  left: auto;-  right: 12px;-}-.navbar .nav.pull-right .dropdown-menu:after,-.navbar .nav .dropdown-menu.pull-right:after {-  left: auto;-  right: 13px;-}-.breadcrumb {-  padding: 7px 14px;-  margin: 0 0 18px;-  list-style: none;-  background-color: #fbfbfb;-  background-image: -moz-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -ms-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f5f5f5));-  background-image: -webkit-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: -o-linear-gradient(top, #ffffff, #f5f5f5);-  background-image: linear-gradient(top, #ffffff, #f5f5f5);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f5f5f5', GradientType=0);-  border: 1px solid #ddd;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-}-.breadcrumb li {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  text-shadow: 0 1px 0 #ffffff;-}-.breadcrumb .divider {-  padding: 0 5px;-  color: #999999;-}-.breadcrumb .active a {-  color: #333333;-}-.pagination {-  height: 36px;-  margin: 18px 0;-}-.pagination ul {-  display: inline-block;-  *display: inline;-  /* IE7 inline-block hack */--  *zoom: 1;-  margin-left: 0;-  margin-bottom: 0;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);-}-.pagination li {-  display: inline;-}-.pagination a {-  float: left;-  padding: 0 14px;-  line-height: 34px;-  text-decoration: none;-  border: 1px solid #ddd;-  border-left-width: 0;-}-.pagination a:hover,-.pagination .active a {-  background-color: #f5f5f5;-}-.pagination .active a {-  color: #999999;-  cursor: default;-}-.pagination .disabled span,-.pagination .disabled a,-.pagination .disabled a:hover {-  color: #999999;-  background-color: transparent;-  cursor: default;-}-.pagination li:first-child a {-  border-left-width: 1px;-  -webkit-border-radius: 3px 0 0 3px;-  -moz-border-radius: 3px 0 0 3px;-  border-radius: 3px 0 0 3px;-}-.pagination li:last-child a {-  -webkit-border-radius: 0 3px 3px 0;-  -moz-border-radius: 0 3px 3px 0;-  border-radius: 0 3px 3px 0;-}-.pagination-centered {-  text-align: center;-}-.pagination-right {-  text-align: right;-}-.pager {-  margin-left: 0;-  margin-bottom: 18px;-  list-style: none;-  text-align: center;-  *zoom: 1;-}-.pager:before,-.pager:after {-  display: table;-  content: "";-}-.pager:after {-  clear: both;-}-.pager li {-  display: inline;-}-.pager a {-  display: inline-block;-  padding: 5px 14px;-  background-color: #fff;-  border: 1px solid #ddd;-  -webkit-border-radius: 15px;-  -moz-border-radius: 15px;-  border-radius: 15px;-}-.pager a:hover {-  text-decoration: none;-  background-color: #f5f5f5;-}-.pager .next a {-  float: right;-}-.pager .previous a {-  float: left;-}-.pager .disabled a,-.pager .disabled a:hover {-  color: #999999;-  background-color: #fff;-  cursor: default;-}-.modal-open .dropdown-menu {-  z-index: 2050;-}-.modal-open .dropdown.open {-  *z-index: 2050;-}-.modal-open .popover {-  z-index: 2060;-}-.modal-open .tooltip {-  z-index: 2070;-}-.modal-backdrop {-  position: fixed;-  top: 0;-  right: 0;-  bottom: 0;-  left: 0;-  z-index: 1040;-  background-color: #000000;-}-.modal-backdrop.fade {-  opacity: 0;-}-.modal-backdrop,-.modal-backdrop.fade.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.modal {-  position: fixed;-  top: 50%;-  left: 50%;-  z-index: 1050;-  overflow: auto;-  width: 560px;-  margin: -250px 0 0 -280px;-  background-color: #ffffff;-  border: 1px solid #999;-  border: 1px solid rgba(0, 0, 0, 0.3);-  *border: 1px solid #999;-  /* IE6-7 */--  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.modal.fade {-  -webkit-transition: opacity .3s linear, top .3s ease-out;-  -moz-transition: opacity .3s linear, top .3s ease-out;-  -ms-transition: opacity .3s linear, top .3s ease-out;-  -o-transition: opacity .3s linear, top .3s ease-out;-  transition: opacity .3s linear, top .3s ease-out;-  top: -25%;-}-.modal.fade.in {-  top: 50%;-}-.modal-header {-  padding: 9px 15px;-  border-bottom: 1px solid #eee;-}-.modal-header .close {-  margin-top: 2px;-}-.modal-body {-  overflow-y: auto;-  max-height: 400px;-  padding: 15px;-}-.modal-form {-  margin-bottom: 0;-}-.modal-footer {-  padding: 14px 15px 15px;-  margin-bottom: 0;-  text-align: right;-  background-color: #f5f5f5;-  border-top: 1px solid #ddd;-  -webkit-border-radius: 0 0 6px 6px;-  -moz-border-radius: 0 0 6px 6px;-  border-radius: 0 0 6px 6px;-  -webkit-box-shadow: inset 0 1px 0 #ffffff;-  -moz-box-shadow: inset 0 1px 0 #ffffff;-  box-shadow: inset 0 1px 0 #ffffff;-  *zoom: 1;-}-.modal-footer:before,-.modal-footer:after {-  display: table;-  content: "";-}-.modal-footer:after {-  clear: both;-}-.modal-footer .btn + .btn {-  margin-left: 5px;-  margin-bottom: 0;-}-.modal-footer .btn-group .btn + .btn {-  margin-left: -1px;-}-.tooltip {-  position: absolute;-  z-index: 1020;-  display: block;-  visibility: visible;-  padding: 5px;-  font-size: 11px;-  opacity: 0;-  filter: alpha(opacity=0);-}-.tooltip.in {-  opacity: 0.8;-  filter: alpha(opacity=80);-}-.tooltip.top {-  margin-top: -2px;-}-.tooltip.right {-  margin-left: 2px;-}-.tooltip.bottom {-  margin-top: 2px;-}-.tooltip.left {-  margin-left: -2px;-}-.tooltip.top .tooltip-arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.tooltip.left .tooltip-arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.tooltip.bottom .tooltip-arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.tooltip.right .tooltip-arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.tooltip-inner {-  max-width: 200px;-  padding: 3px 8px;-  color: #ffffff;-  text-align: center;-  text-decoration: none;-  background-color: #000000;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.tooltip-arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover {-  position: absolute;-  top: 0;-  left: 0;-  z-index: 1010;-  display: none;-  padding: 5px;-}-.popover.top {-  margin-top: -5px;-}-.popover.right {-  margin-left: 5px;-}-.popover.bottom {-  margin-top: 5px;-}-.popover.left {-  margin-left: -5px;-}-.popover.top .arrow {-  bottom: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-top: 5px solid #000000;-}-.popover.right .arrow {-  top: 50%;-  left: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-right: 5px solid #000000;-}-.popover.bottom .arrow {-  top: 0;-  left: 50%;-  margin-left: -5px;-  border-left: 5px solid transparent;-  border-right: 5px solid transparent;-  border-bottom: 5px solid #000000;-}-.popover.left .arrow {-  top: 50%;-  right: 0;-  margin-top: -5px;-  border-top: 5px solid transparent;-  border-bottom: 5px solid transparent;-  border-left: 5px solid #000000;-}-.popover .arrow {-  position: absolute;-  width: 0;-  height: 0;-}-.popover-inner {-  padding: 3px;-  width: 280px;-  overflow: hidden;-  background: #000000;-  background: rgba(0, 0, 0, 0.8);-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);-}-.popover-title {-  padding: 9px 15px;-  line-height: 1;-  background-color: #f5f5f5;-  border-bottom: 1px solid #eee;-  -webkit-border-radius: 3px 3px 0 0;-  -moz-border-radius: 3px 3px 0 0;-  border-radius: 3px 3px 0 0;-}-.popover-content {-  padding: 14px;-  background-color: #ffffff;-  -webkit-border-radius: 0 0 3px 3px;-  -moz-border-radius: 0 0 3px 3px;-  border-radius: 0 0 3px 3px;-  -webkit-background-clip: padding-box;-  -moz-background-clip: padding-box;-  background-clip: padding-box;-}-.popover-content p,-.popover-content ul,-.popover-content ol {-  margin-bottom: 0;-}-.thumbnails {-  margin-left: -20px;-  list-style: none;-  *zoom: 1;-}-.thumbnails:before,-.thumbnails:after {-  display: table;-  content: "";-}-.thumbnails:after {-  clear: both;-}-.thumbnails > li {-  float: left;-  margin: 0 0 18px 20px;-}-.thumbnail {-  display: block;-  padding: 4px;-  line-height: 1;-  border: 1px solid #ddd;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.075);-}-a.thumbnail:hover {-  border-color: #0088cc;-  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);-}-.thumbnail > img {-  display: block;-  max-width: 100%;-  margin-left: auto;-  margin-right: auto;-}-.thumbnail .caption {-  padding: 9px;-}-.label {-  padding: 1px 4px 2px;-  font-size: 10.998px;-  font-weight: bold;-  line-height: 13px;-  color: #ffffff;-  vertical-align: middle;-  white-space: nowrap;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #999999;-  -webkit-border-radius: 3px;-  -moz-border-radius: 3px;-  border-radius: 3px;-}-.label:hover {-  color: #ffffff;-  text-decoration: none;-}-.label-important {-  background-color: #b94a48;-}-.label-important:hover {-  background-color: #953b39;-}-.label-warning {-  background-color: #f89406;-}-.label-warning:hover {-  background-color: #c67605;-}-.label-success {-  background-color: #468847;-}-.label-success:hover {-  background-color: #356635;-}-.label-info {-  background-color: #3a87ad;-}-.label-info:hover {-  background-color: #2d6987;-}-.label-inverse {-  background-color: #333333;-}-.label-inverse:hover {-  background-color: #1a1a1a;-}-.badge {-  padding: 1px 9px 2px;-  font-size: 12.025px;-  font-weight: bold;-  white-space: nowrap;-  color: #ffffff;-  background-color: #999999;-  -webkit-border-radius: 9px;-  -moz-border-radius: 9px;-  border-radius: 9px;-}-.badge:hover {-  color: #ffffff;-  text-decoration: none;-  cursor: pointer;-}-.badge-error {-  background-color: #b94a48;-}-.badge-error:hover {-  background-color: #953b39;-}-.badge-warning {-  background-color: #f89406;-}-.badge-warning:hover {-  background-color: #c67605;-}-.badge-success {-  background-color: #468847;-}-.badge-success:hover {-  background-color: #356635;-}-.badge-info {-  background-color: #3a87ad;-}-.badge-info:hover {-  background-color: #2d6987;-}-.badge-inverse {-  background-color: #333333;-}-.badge-inverse:hover {-  background-color: #1a1a1a;-}-@-webkit-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-moz-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@-ms-keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-@keyframes progress-bar-stripes {-  from {-    background-position: 0 0;-  }-  to {-    background-position: 40px 0;-  }-}-.progress {-  overflow: hidden;-  height: 18px;-  margin-bottom: 18px;-  background-color: #f7f7f7;-  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -ms-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));-  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);-  background-image: linear-gradient(top, #f5f5f5, #f9f9f9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#f9f9f9', GradientType=0);-  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.progress .bar {-  width: 0%;-  height: 18px;-  color: #ffffff;-  font-size: 12px;-  text-align: center;-  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);-  background-color: #0e90d2;-  background-image: -moz-linear-gradient(top, #149bdf, #0480be);-  background-image: -ms-linear-gradient(top, #149bdf, #0480be);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));-  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);-  background-image: -o-linear-gradient(top, #149bdf, #0480be);-  background-image: linear-gradient(top, #149bdf, #0480be);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#149bdf', endColorstr='#0480be', GradientType=0);-  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);-  -webkit-box-sizing: border-box;-  -moz-box-sizing: border-box;-  -ms-box-sizing: border-box;-  box-sizing: border-box;-  -webkit-transition: width 0.6s ease;-  -moz-transition: width 0.6s ease;-  -ms-transition: width 0.6s ease;-  -o-transition: width 0.6s ease;-  transition: width 0.6s ease;-}-.progress-striped .bar {-  background-color: #149bdf;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  -webkit-background-size: 40px 40px;-  -moz-background-size: 40px 40px;-  -o-background-size: 40px 40px;-  background-size: 40px 40px;-}-.progress.active .bar {-  -webkit-animation: progress-bar-stripes 2s linear infinite;-  -moz-animation: progress-bar-stripes 2s linear infinite;-  animation: progress-bar-stripes 2s linear infinite;-}-.progress-danger .bar {-  background-color: #dd514c;-  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -ms-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));-  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);-  background-image: linear-gradient(top, #ee5f5b, #c43c35);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ee5f5b', endColorstr='#c43c35', GradientType=0);-}-.progress-danger.progress-striped .bar {-  background-color: #ee5f5b;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-success .bar {-  background-color: #5eb95e;-  background-image: -moz-linear-gradient(top, #62c462, #57a957);-  background-image: -ms-linear-gradient(top, #62c462, #57a957);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));-  background-image: -webkit-linear-gradient(top, #62c462, #57a957);-  background-image: -o-linear-gradient(top, #62c462, #57a957);-  background-image: linear-gradient(top, #62c462, #57a957);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#57a957', GradientType=0);-}-.progress-success.progress-striped .bar {-  background-color: #62c462;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-info .bar {-  background-color: #4bb1cf;-  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -ms-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));-  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);-  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);-  background-image: linear-gradient(top, #5bc0de, #339bb9);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#339bb9', GradientType=0);-}-.progress-info.progress-striped .bar {-  background-color: #5bc0de;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.progress-warning .bar {-  background-color: #faa732;-  background-image: -moz-linear-gradient(top, #fbb450, #f89406);-  background-image: -ms-linear-gradient(top, #fbb450, #f89406);-  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));-  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);-  background-image: -o-linear-gradient(top, #fbb450, #f89406);-  background-image: linear-gradient(top, #fbb450, #f89406);-  background-repeat: repeat-x;-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);-}-.progress-warning.progress-striped .bar {-  background-color: #fbb450;-  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));-  background-image: -webkit-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -moz-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -ms-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: -o-linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-  background-image: linear-gradient(-45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);-}-.accordion {-  margin-bottom: 18px;-}-.accordion-group {-  margin-bottom: 2px;-  border: 1px solid #e5e5e5;-  -webkit-border-radius: 4px;-  -moz-border-radius: 4px;-  border-radius: 4px;-}-.accordion-heading {-  border-bottom: 0;-}-.accordion-heading .accordion-toggle {-  display: block;-  padding: 8px 15px;-}-.accordion-inner {-  padding: 9px 15px;-  border-top: 1px solid #e5e5e5;-}-.carousel {-  position: relative;-  margin-bottom: 18px;-  line-height: 1;-}-.carousel-inner {-  overflow: hidden;-  width: 100%;-  position: relative;-}-.carousel .item {-  display: none;-  position: relative;-  -webkit-transition: 0.6s ease-in-out left;-  -moz-transition: 0.6s ease-in-out left;-  -ms-transition: 0.6s ease-in-out left;-  -o-transition: 0.6s ease-in-out left;-  transition: 0.6s ease-in-out left;-}-.carousel .item > img {-  display: block;-  line-height: 1;-}-.carousel .active,-.carousel .next,-.carousel .prev {-  display: block;-}-.carousel .active {-  left: 0;-}-.carousel .next,-.carousel .prev {-  position: absolute;-  top: 0;-  width: 100%;-}-.carousel .next {-  left: 100%;-}-.carousel .prev {-  left: -100%;-}-.carousel .next.left,-.carousel .prev.right {-  left: 0;-}-.carousel .active.left {-  left: -100%;-}-.carousel .active.right {-  left: 100%;-}-.carousel-control {-  position: absolute;-  top: 40%;-  left: 15px;-  width: 40px;-  height: 40px;-  margin-top: -20px;-  font-size: 60px;-  font-weight: 100;-  line-height: 30px;-  color: #ffffff;-  text-align: center;-  background: #222222;-  border: 3px solid #ffffff;-  -webkit-border-radius: 23px;-  -moz-border-radius: 23px;-  border-radius: 23px;-  opacity: 0.5;-  filter: alpha(opacity=50);-}-.carousel-control.right {-  left: auto;-  right: 15px;-}-.carousel-control:hover {-  color: #ffffff;-  text-decoration: none;-  opacity: 0.9;-  filter: alpha(opacity=90);-}-.carousel-caption {-  position: absolute;-  left: 0;-  right: 0;-  bottom: 0;-  padding: 10px 15px 5px;-  background: #333333;-  background: rgba(0, 0, 0, 0.75);-}-.carousel-caption h4,-.carousel-caption p {-  color: #ffffff;-}-.hero-unit {-  padding: 60px;-  margin-bottom: 30px;-  background-color: #eeeeee;-  -webkit-border-radius: 6px;-  -moz-border-radius: 6px;-  border-radius: 6px;-}-.hero-unit h1 {-  margin-bottom: 0;-  font-size: 60px;-  line-height: 1;-  color: inherit;-  letter-spacing: -1px;-}-.hero-unit p {-  font-size: 18px;-  font-weight: 200;-  line-height: 27px;-  color: inherit;-}-.pull-right {-  float: right;-}-.pull-left {-  float: left;-}-.hide {-  display: none;-}-.show {-  display: block;-}-.invisible {-  visibility: hidden;-}--{-# START_FILE BASE64 static/img/glyphicons-halflings-white.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAMAAACY07N7AAAC2VBMVEX///8AAAAAAAD5+fn///8A-AAD////9/f1tbW0AAAD///////////8AAAAAAAD////w8PD+/v729vYAAAD8/PwAAAAAAAD/////-///a2toAAADCwsL09PT////////09PT39/f///8AAAAAAACzs7P9/f0AAADi4uKwsLD////////7-+/vn5+f+/v7///8AAADt7e0AAADPz88AAAD9/f329vbt7e37+/vn5+f6+vrh4eGSkpL+/v7+/v7B-wcGYmJh0dHTh4eHQ0NAAAADz8/O7u7uhoaGAgID9/f3U1NRiYmL////V1dX4+Pjc3Nz6+vr7+/vp-6en7+/v9/f39/f3R0dHy8vL8/Pz4+Pjr6+v8/Py2trbGxsbl5eXu7u719fX9/f1lZWVnZ2fw8PC2-trbg4OD39/f6+vrp6enl5eX6+vr4+PjLy8v///+EhITx8fF4eHj39/fd3d35+fnIyMjS0tLs7Oz6-+vre3t7i4uLm5ubz8/Obm5uoqKilpaXc3Nzu7u7////x8fHJycnw8PD////////e3t7Gxsa8vLzr-6+vW1tbQ0NDi4uL5+fn09PTi4uLs7Oz19fW0tLT////9/f37+/v8/Pz6+vrm5uYAAADk5OT8/Pz3-9/ewsLCZmZn9/f3s7Oz8/PzBwcHp6en////a2trw8PDw8PD19fXx8fH+/v74+Pj+/v6Ojo7i4uL7-+/v5+fnc3Nz////y8vL6+vqfn5/t7e339/f29vbo6Ojz8/P6+vr19fX19fWmpqbLy8v6+vr4+PjT-09Pr6+v6+vrr6+uqqqrz8/Pt7e2ioqLPz8/a2trW1taioqLr6+vi4uL5+flVVVXNzc3////W1tbj-4+Ph4eHq6ur8/Pz////29vb7+/vz8/P09PTMzMz////////5+fn19fX////y8vL9/f0AAADZ2dn8-/Pz7+/v8/Pzp6em/v7/7+/vq6urp6en+/v7////4ck/mAAAA8nRSTlMAGgDUzwIP8SMQ759fCgUv-qfDGFeIYA78fbxNTt98/hsV/BhdD4Q1rRI+vwo3ATxJTD18IoKWasozTETbQ4D40IX5hC6dAMR7R-XydvEsRuotKLkZCATYahkzOxQlFqmbZwJiUhFWy1wyJYcXI7gB2XIEFbgjxgiWFtfTSFMy8wSYgE-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--{-# START_FILE BASE64 static/img/glyphicons-halflings.png #-}-iVBORw0KGgoAAAANSUhEUgAAAdUAAACfCAQAAAAFBIvCAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ-bWFnZVJlYWR5ccllPAAAA/dpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp-bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6-eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYxIDY0LjE0-MDk0OSwgMjAxMC8xMi8wNy0xMDo1NzowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo-dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw-dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu-MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz-b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5z-OmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wTU06T3JpZ2luYWxEb2N1-bWVudElEPSJ1dWlkOjY1RTYzOTA2ODZDRjExREJBNkUyRDg4N0NFQUNCNDA3IiB4bXBNTTpEb2N1-bWVudElEPSJ4bXAuZGlkOkZGMjM5QjMzN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXBNTTpJ-bnN0YW5jZUlEPSJ4bXAuaWlkOkZGMjM5QjMyN0VCMTExRTE4MTlBQjZENkFGQkE4NDFGIiB4bXA6-Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzUgTWFjaW50b3NoIj4gPHhtcE1NOkRlcml2-ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkM3RjExNzQwNzIwNjgxMTg4QzZCNDlB-QkI4MTk1Q0EiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDM4MDExNzQwNzIwNjgxMThDMTRB-NDlEMDJBQzk3NTUiLz4gPGRjOnRpdGxlPiA8cmRmOkFsdD4gPHJkZjpsaSB4bWw6bGFuZz0ieC1k-ZWZhdWx0Ij5nbHlwaGljb25zX3NtYWxsX2Rhcms8L3JkZjpsaT4gPC9yZGY6QWx0PiA8L2RjOnRp-dGxlPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0-IGVuZD0iciI/PjUYa9IAADGhSURBVHja7X1vbFxFtqdXsrReyXqORCR8Xxx3J/5Dd+z+Rzse4zS2-weTPPOMxy8bJBpx1mMSzjDZDgsgAIoHAIMbS5kUOyrwwCiI9GfGA9yzhtwoT7/vABJIFZjNv0gkw-oGCNEgjg/fTsuPW+7Jfac2519b3dvrfqVKc7MUudq8Rt+3fr1q17flWnznX9qqrKmDFjS86sOmvO-YvYx5/wwk/tR4ZEhFjhkTWAJClyvNWVdgYtPWb1LqkGmKoWHljljt+MZq8443g0/J03/0fc3axT+-MfRj/KRdP6ZigI2K0b1/4LYEY314JJySL/T1zCRZ4dEzc6FPcVmboivYKhZiUThD3gxB1sbiLAH/-B5mVVpSs2XVYAXgg0PdYE/D5oN0XTVkBUgPH2pg1pPFANPAN70XsloywhvfUj9nrIOADanQeHyj8-SsYTruDRTaXlHRT8PsMRgM0oPULLf0rAQx2a4P6Sth83MVE3uiUVDOBXWX22+RylZGztFVAib/ek-0/6supisSFRWLS9OUBSPzqysolZvEyD2jmMPcWhPZzascHe9rsOqa7zaBogE1Me60gpfk/CAGucp-TdL6K8C+SX8gOvhIvu4RpnrMrC/JnnvGOfhPZG7BD1bjfJa7kYMVX6l4yhWKn0jDxTBruOj/BKx0-GHwHEYiNsrCUTrr+o4uHbhXq0DMjCNczg3UrL1VhADmzAjwhAhSEOGtOXhofTYsP/qvqI9uQboJ4-R7apiCoeaH9m7OiJnSwlq2jrO0m2+yVWb19p2fjuJGv5RFZy40mvrqPxpDc68Hg8j3M+JVjgcQKd-vk6y9gV6Dxr5umeGiqc7edLuOe95yDn4T9QlF36W4xd/peF1qcrJlwQq+j2xqqrE50kb0XCRY+F5-fa72HxxZKP6j62/WKBKVdQjCsQ4kq14YrGqfvgvurrvvAmVc9YlpWO3xHZysndnjO1gtpXKH9gDX-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--{-# START_FILE templates/default-layout-wrapper.hamlet #-}-$newline never-\<!doctype html>-\<!--[if lt IE 7]> <html class="no-js ie6 oldie" lang="en"> <![endif]-->-\<!--[if IE 7]>    <html class="no-js ie7 oldie" lang="en"> <![endif]-->-\<!--[if IE 8]>    <html class="no-js ie8 oldie" lang="en"> <![endif]-->-\<!--[if gt IE 8]><!-->-<html class="no-js" lang="en"> <!--<![endif]-->-    <head>-        <meta charset="UTF-8">--        <title>#{pageTitle pc}-        <meta name="description" content="">-        <meta name="author" content="">--        <meta name="viewport" content="width=device-width,initial-scale=1">--        ^{pageHead pc}--        \<!--[if lt IE 9]>-        \<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-        \<![endif]-->--        <script>-          document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/,'js');-    <body>-        <div class="container">-            <header>-            <div id="main" role="main">-              ^{pageBody pc}-            <footer>-                #{extraCopyright $ appExtra $ settings master}--        $maybe analytics <- extraAnalytics $ appExtra $ settings master-            <script>-              if(!window.location.href.match(/localhost/)){-                window._gaq = [['_setAccount','#{analytics}'],['_trackPageview'],['_trackPageLoadTime']];-                (function() {-                \  var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;-                \  ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';-                \  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);-                })();-              }-        \<!-- Prompt IE 6 users to install Chrome Frame. Remove this if you want to support IE 6.  chromium.org/developers/how-tos/chrome-frame-getting-started -->-        \<!--[if lt IE 7 ]>-            <script src="//ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js">-            <script>-                window.attachEvent('onload',function(){CFInstall.check({mode:'overlay'})})-        \<![endif]-->--{-# START_FILE templates/default-layout.hamlet #-}-$maybe msg <- mmsg-    <div #message>#{msg}-^{widget}--{-# START_FILE templates/homepage.hamlet #-}-<h1>_{MsgHello}--<ol>-  <li>Now that you have a working project you should use the #-    \<a href="http://www.yesodweb.com/book/">Yesod book</a> to learn more. #-    You can also use this scaffolded site to explore some basic concepts.--  <li> This page was generated by the #{handlerName} handler in #-    \<em>Handler/Home.hs</em>.--  <li> The #{handlerName} handler is set to generate your site's home screen in Routes file #-    <em>config/routes--  <li> The HTML you are seeing now is actually composed by a number of <em>widgets</em>, #-    most of them are brought together by the <em>defaultLayout</em> function which #-    is defined in the <em>Foundation.hs</em> module, and used by <em>#{handlerName}</em>. #-    All the files for templates and wigdets are in <em>templates</em>.--  <li>-    A Widget's Html, Css and Javascript are separated in three files with the #-    \<em>.hamlet</em>, <em>.lucius</em> and <em>.julius</em> extensions.--  <li ##{aDomId}>If you had javascript enabled then you wouldn't be seeing this.--  <li #form>-    This is an example trivial Form. Read the #-    \<a href="http://www.yesodweb.com/book/forms">Forms chapter</a> #-    on the yesod book to learn more about them.-    $maybe (info,con) <- submission-      <div .message>-        Your file's type was <em>#{fileContentType info}</em>. You say it has: <em>#{con}</em>-    <form method=post action=@{HomeR}#form enctype=#{formEnctype}>-      ^{formWidget}-      <input type="submit" value="Send it!">--  <li> And last but not least, Testing. In <em>tests/main.hs</em> you will find a #-    test suite that performs tests on this page. #-    You can run your tests by doing: <pre>yesod test</pre>--{-# START_FILE templates/homepage.julius #-}-document.getElementById(#{toJSON aDomId}).innerHTML = "This text was added by the Javascript part of the homepage widget.";--{-# START_FILE templates/homepage.lucius #-}-h1 {-    text-align: center-}-h2##{aDomId} {-    color: #990-}--{-# START_FILE templates/normalize.lucius #-}-/*! normalize.css 2011-08-12T17:28 UTC · http://github.com/necolas/normalize.css */--/* =============================================================================-   HTML5 display definitions-   ========================================================================== */--/*- * Corrects block display not defined in IE6/7/8/9 & FF3- */--article,-aside,-details,-figcaption,-figure,-footer,-header,-hgroup,-nav,-section {-    display: block;-}--/*- * Corrects inline-block display not defined in IE6/7/8/9 & FF3- */--audio,-canvas,-video {-    display: inline-block;-    *display: inline;-    *zoom: 1;-}--/*- * Prevents modern browsers from displaying 'audio' without controls- */--audio:not([controls]) {-    display: none;-}--/*- * Addresses styling for 'hidden' attribute not present in IE7/8/9, FF3, S4- * Known issue: no IE6 support- */--[hidden] {-    display: none;-}---/* =============================================================================-   Base-   ========================================================================== */--/*- * 1. Corrects text resizing oddly in IE6/7 when body font-size is set using em units- *    http://clagnut.com/blog/348/#c790- * 2. Keeps page centred in all browsers regardless of content height- * 3. Prevents iOS text size adjust after orientation change, without disabling user zoom- *    www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/- */--html {-    font-size: 100%; /* 1 */-    overflow-y: scroll; /* 2 */-    -webkit-text-size-adjust: 100%; /* 3 */-    -ms-text-size-adjust: 100%; /* 3 */-}--/*- * Addresses margins handled incorrectly in IE6/7- */--body {-    margin: 0;-}--/*- * Addresses font-family inconsistency between 'textarea' and other form elements.- */--body,-button,-input,-select,-textarea {-    font-family: sans-serif;-}---/* =============================================================================-   Links-   ========================================================================== */--a {-    color: #00e;-}--a:visited {-    color: #551a8b;-}--/*- * Addresses outline displayed oddly in Chrome- */--a:focus {-    outline: thin dotted;-}--/*- * Improves readability when focused and also mouse hovered in all browsers- * people.opera.com/patrickl/experiments/keyboard/test- */--a:hover,-a:active {-    outline: 0;-}---/* =============================================================================-   Typography-   ========================================================================== */--/*- * Addresses styling not present in IE7/8/9, S5, Chrome- */--abbr[title] {-    border-bottom: 1px dotted;-}--/*- * Addresses style set to 'bolder' in FF3/4, S4/5, Chrome-*/--b,-strong {-    font-weight: bold;-}--blockquote {-    margin: 1em 40px;-}--/*- * Addresses styling not present in S5, Chrome- */--dfn {-    font-style: italic;-}--/*- * Addresses styling not present in IE6/7/8/9- */--mark {-    background: #ff0;-    color: #000;-}--/*- * Corrects font family set oddly in IE6, S4/5, Chrome- * en.wikipedia.org/wiki/User:Davidgothberg/Test59- */--pre,-code,-kbd,-samp {-    font-family: monospace, serif;-    _font-family: 'courier new', monospace;-    font-size: 1em;-}--/*- * Improves readability of pre-formatted text in all browsers- */--pre {-    white-space: pre;-    white-space: pre-wrap;-    word-wrap: break-word;-}--/*- * 1. Addresses CSS quotes not supported in IE6/7- * 2. Addresses quote property not supported in S4- */--/* 1 */--q {-    quotes: none;-}--/* 2 */--q:before,-q:after {-    content: '';-    content: none;-}--small {-    font-size: 75%;-}--/*- * Prevents sub and sup affecting line-height in all browsers- * gist.github.com/413930- */--sub,-sup {-    font-size: 75%;-    line-height: 0;-    position: relative;-    vertical-align: baseline;-}--sup {-    top: -0.5em;-}--sub {-    bottom: -0.25em;-}---/* =============================================================================-   Lists-   ========================================================================== */--ul,-ol {-    margin: 1em 0;-    padding: 0 0 0 40px;-}--dd {-    margin: 0 0 0 40px;-}--nav ul,-nav ol {-    list-style: none;-    list-style-image: none;-}---/* =============================================================================-   Embedded content-   ========================================================================== */--/*- * 1. Removes border when inside 'a' element in IE6/7/8/9- * 2. Improves image quality when scaled in IE7- *    code.flickr.com/blog/2008/11/12/on-ui-quality-the-little-things-client-side-image-resizing/- */--img {-    border: 0; /* 1 */-    -ms-interpolation-mode: bicubic; /* 2 */-}--/*- * Corrects overflow displayed oddly in IE9- */--svg:not(:root) {-    overflow: hidden;-}---/* =============================================================================-   Figures-   ========================================================================== */--/*- * Addresses margin not present in IE6/7/8/9, S5, O11- */--figure {-    margin: 0;-}---/* =============================================================================-   Forms-   ========================================================================== */--/*- * Corrects margin displayed oddly in IE6/7- */--form {-    margin: 0;-}--/*- * Define consistent margin and padding- */--fieldset {-    margin: 0 2px;-    padding: 0.35em 0.625em 0.75em;-}--/*- * 1. Corrects color not being inherited in IE6/7/8/9- * 2. Corrects alignment displayed oddly in IE6/7- */--legend {-    border: 0; /* 1 */-    *margin-left: -7px; /* 2 */-}--/*- * 1. Corrects font size not being inherited in all browsers- * 2. Addresses margins set differently in IE6/7, F3/4, S5, Chrome- * 3. Improves appearance and consistency in all browsers- */--button,-input,-select,-textarea {-    font-size: 100%; /* 1 */-    margin: 0; /* 2 */-    vertical-align: baseline; /* 3 */-    *vertical-align: middle; /* 3 */-}--/*- * 1. Addresses FF3/4 setting line-height using !important in the UA stylesheet- * 2. Corrects inner spacing displayed oddly in IE6/7- */--button,-input {-    line-height: normal; /* 1 */-    *overflow: visible;  /* 2 */-}--/*- * Corrects overlap and whitespace issue for buttons and inputs in IE6/7- * Known issue: reintroduces inner spacing- */--table button,-table input {-    *overflow: auto;-}--/*- * 1. Improves usability and consistency of cursor style between image-type 'input' and others- * 2. Corrects inability to style clickable 'input' types in iOS- */--button,-html input[type="button"],-input[type="reset"],-input[type="submit"] {-    cursor: pointer; /* 1 */-    -webkit-appearance: button; /* 2 */-}--/*- * 1. Addresses box sizing set to content-box in IE8/9- * 2. Addresses excess padding in IE8/9- */--input[type="checkbox"],-input[type="radio"] {-    box-sizing: border-box; /* 1 */-    padding: 0; /* 2 */-}--/*- * 1. Addresses appearance set to searchfield in S5, Chrome- * 2. Addresses box sizing set to border-box in S5, Chrome (include -moz to future-proof)- */--input[type="search"] {-    -webkit-appearance: textfield; /* 1 */-    -moz-box-sizing: content-box;-    -webkit-box-sizing: content-box; /* 2 */-    box-sizing: content-box;-}--/*- * Corrects inner padding displayed oddly in S5, Chrome on OSX- */--input[type="search"]::-webkit-search-decoration {-    -webkit-appearance: none;-}--/*- * Corrects inner padding and border displayed oddly in FF3/4- * www.sitepen.com/blog/2008/05/14/the-devils-in-the-details-fixing-dojos-toolbar-buttons/- */--button::-moz-focus-inner,-input::-moz-focus-inner {-    border: 0;-    padding: 0;-}--/*- * 1. Removes default vertical scrollbar in IE6/7/8/9- * 2. Improves readability and alignment in all browsers- */--textarea {-    overflow: auto; /* 1 */-    vertical-align: top; /* 2 */-}---/* =============================================================================-   Tables-   ========================================================================== */--/*- * Remove most spacing between table cells- */--table {-    border-collapse: collapse;-    border-spacing: 0;-}--{-# START_FILE tests/HomeTest.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module HomeTest-    ( homeSpecs-    ) where--import TestImport-import qualified Data.List as L--homeSpecs :: Specs-homeSpecs =-  describe "These are some example tests" $ do--    it "loads the index and checks it looks right" $ do-      get_ "/"-      statusIs 200-      htmlAllContain "h1" "Hello"--      post "/" $ do-        addNonce-        fileByLabel "Choose a file" "tests/main.hs" "text/plain" -- talk about self-reference-        byLabel "What's on the file?" "Some Content"--      statusIs 200-      htmlCount ".message" 1-      htmlAllContain ".message" "Some Content"-      htmlAllContain ".message" "text/plain"--    -- This is a simple example of using a database access in a test.  The-    -- test will succeed for a fresh scaffolded site with an empty database,-    -- but will fail on an existing database with a non-empty user table.-    it "leaves the user table empty" $ do-      get_ "/"-      statusIs 200-      users <- runDB $ selectList ([] :: [Filter User]) []-      assertEqual "user table empty" 0 $ L.length users--{-# START_FILE tests/TestImport.hs #-}-{-# LANGUAGE OverloadedStrings #-}-module TestImport-    ( module Yesod.Test-    , module Model-    , module Database.Persist-    , runDB-    , Specs-    ) where--import Yesod.Test-import Database.Persist hiding (get)-import Database.Persist.GenericSql (runSqlPool, SqlPersist, Connection)-import Control.Monad.Trans.Resource (ResourceT, runResourceT)-import Control.Monad.Logger (NoLoggingT, runNoLoggingT)--import Model--type Specs = SpecsConn Connection--runDB :: SqlPersist (NoLoggingT (ResourceT IO)) a -> OneSpec Connection a-runDB = runDBRunner poolRunner-  where-    poolRunner query pool = runResourceT-                          $ runNoLoggingT-                          $ runSqlPool query pool--{-# START_FILE tests/main.hs #-}-{-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE NoMonomorphismRestriction #-}-{-# OPTIONS_GHC -fno-warn-orphans #-}--module Main where--import Import-import Yesod.Default.Config-import Yesod.Test-import Application (makeFoundation)--import HomeTest--main :: IO ()-main = do-    conf <- loadConfig $ (configSettings Testing) { csParseExtra = parseExtra }-    foundation <- makeFoundation conf-    app <- toWaiAppPlain foundation-    runTests app (connPool foundation) homeSpecs-
− input/database.cg
@@ -1,13 +0,0 @@-Yesod uses Persistent for its (you guessed it) persistence layer.-This tool will build in either SQLite or PostgreSQL or MongoDB support for you.-We recommend starting with SQLite: it has no dependencies.--    s      = sqlite-    p      = postgresql-    pf     = postgresql + Fay (experimental)-    mongo  = mongodb-    mysql  = MySQL-    simple = no database, no auth-    url    = Let me specify URL containing a site (advanced)--So, what'll it be? 
− input/done.cg
@@ -1,32 +0,0 @@-------------------------------------------                     ___-                            {-)   |\-                       [m,].-"-.   /-      [][__][__]         \(/\__/\)/-      [__][__][__][__]~~~~  |  |-      [][__][__][__][__][] /   |-      [__][__][__][__][__]| /| |-      [][__][__][__][__][]| || |  ~~~~-  ejm [__][__][__][__][__]__,__,  \__/--------------------------------------------The foundation for your web application has been built.---There are a lot of resources to help you use Yesod.-Start with the book: http://www.yesodweb.com/book-Take part in the community: http://yesodweb.com/page/community---Start your project:--   cd PROJECTNAME && cabal install && yesod devel--or if you use cabal-dev:--   cd PROJECTNAME && cabal-dev install && yesod --dev devel-
− input/welcome.cg
@@ -1,6 +0,0 @@-Welcome to the Yesod scaffolder.-I'm going to be creating a skeleton Yesod project for you.--What do you want to call your project? We'll use this for the cabal name.--Project name: 
− main.hs
@@ -1,180 +0,0 @@-{-# LANGUAGE CPP             #-}-{-# LANGUAGE TemplateHaskell #-}--import           Control.Monad          (unless)-import           Data.Monoid-import           Data.Version           (showVersion)-import           Options.Applicative-import           System.Exit            (ExitCode (ExitSuccess), exitWith)-import           System.Process         (rawSystem)--import           Yesod.Core             (yesodVersion)--import           AddHandler             (addHandler)-import           Devel                  (DevelOpts (..), devel)-import           Keter                  (keter)-import           Options                (injectDefaults)-import qualified Paths_yesod-import           Scaffolding.Scaffolder--#if MIN_VERSION_optparse_applicative(0, 5, 0)-import           Options.Applicative.Builder.Internal (Mod, OptionFields)-#endif--#ifndef WINDOWS-import           Build                  (touch)--touch' :: IO ()-touch' = touch--windowsWarning :: String-windowsWarning = ""-#else-touch' :: IO ()-touch'  = return ()--windowsWarning :: String-windowsWarning = " (does not work on Windows)"-#endif--data CabalPgm = Cabal | CabalDev deriving (Show, Eq)--data Options = Options-               { optCabalPgm :: CabalPgm-               , optVerbose  :: Bool-               , optCommand  :: Command-               }-  deriving (Show, Eq)--data Command = Init-             | Configure-             | Build { buildExtraArgs   :: [String] }-             | Touch-             | Devel { _develDisableApi  :: Bool-                     , _develSuccessHook :: Maybe String-                     , _develFailHook    :: Maybe String-                     , _develRescan      :: Int-                     , _develBuildDir    :: Maybe String-                     , develIgnore       :: [String]-                     , develExtraArgs    :: [String]-                     , _develPort        :: Int-                     , _proxyTimeout     :: Int-                     }-             | Test-             | AddHandler-             | Keter { _keterNoRebuild :: Bool }-             | Version-  deriving (Show, Eq)--cabalCommand :: Options -> String-cabalCommand mopt-  | optCabalPgm mopt == CabalDev = "cabal-dev"-  | otherwise                    = "cabal"---main :: IO ()-main = do-  o <- execParser =<< injectDefaults "yesod" [ ("yesod.devel.extracabalarg" , \o args -> o { optCommand =-                                                    case optCommand o of-                                                        d@Devel{} -> d { develExtraArgs = args }-                                                        c -> c-                                                    })-                                             , ("yesod.devel.ignore"        , \o args -> o { optCommand =-                                                    case optCommand o of-                                                        d@Devel{} -> d { develIgnore = args }-                                                        c -> c-                                                    })-                                             , ("yesod.build.extracabalarg" , \o args -> o { optCommand =-                                                    case optCommand o of-                                                        b@Build{} -> b { buildExtraArgs = args }-                                                        c -> c-                                                    })-                                             ] optParser'-  let cabal xs = rawSystem' (cabalCommand o) xs-  case optCommand o of-    Init                    -> scaffold-    Configure               -> cabal ["configure"]-    Build es                -> touch' >> cabal ("build":es)-    Touch                   -> touch'-    Devel da s f r b _ig es p t -> devel (DevelOpts (optCabalPgm o == CabalDev) da (optVerbose o) r s f b p t) es-    Keter noRebuild         -> keter (cabalCommand o) noRebuild-    Version                 -> do putStrLn ("yesod-core version:" ++ yesodVersion)-                                  putStrLn ("yesod version:" ++ showVersion Paths_yesod.version)-    AddHandler              -> addHandler-    Test                    -> do touch'-                                  cabal ["configure", "--enable-tests", "-flibrary-only"]-                                  cabal ["build"]-                                  cabal ["test"]--optParser' :: ParserInfo Options-optParser' = info (helper <*> optParser) ( fullDesc <> header "Yesod Web Framework command line utility" )--optParser :: Parser Options-optParser = Options-        <$> flag Cabal CabalDev ( long "dev"     <> short 'd' <> help "use cabal-dev" )-        <*> switch              ( long "verbose" <> short 'v' <> help "More verbose output" )-        <*> subparser ( command "init"      (info (pure Init)-                            (progDesc "Scaffold a new site"))-                      <> command "configure" (info (pure Configure)-                            (progDesc "Configure a project for building"))-                      <> command "build"     (info (Build <$> extraCabalArgs)-                            (progDesc $ "Build project (performs TH dependency analysis)" ++ windowsWarning))-                      <> command "touch"     (info (pure Touch)-                            (progDesc $ "Touch any files with altered TH dependencies but do not build" ++ windowsWarning))-                      <> command "devel"     (info develOptions-                            (progDesc "Run project with the devel server"))-                      <> command "test"      (info (pure Test)-                            (progDesc "Build and run the integration tests"))-                      <> command "add-handler" (info (pure AddHandler)-                            (progDesc "Add a new handler and module to the project"))-                      <> command "keter"       (info keterOptions-                            (progDesc "Build a keter bundle"))-                      <> command "version"     (info (pure Version)-                            (progDesc "Print the version of Yesod"))-                      )--keterOptions :: Parser Command-keterOptions = Keter <$> switch ( long "nobuild" <> short 'n' <> help "Skip rebuilding" )--develOptions :: Parser Command-develOptions = Devel <$> switch ( long "disable-api"  <> short 'd'-                            <> help "Disable fast GHC API rebuilding")-                     <*> optStr ( long "success-hook" <> short 's' <> metavar "COMMAND"-                            <> help "Run COMMAND after rebuild succeeds")-                     <*> optStr ( long "failure-hook" <> short 'f' <> metavar "COMMAND"-                            <> help "Run COMMAND when rebuild fails")-                     <*> option ( long "event-timeout" <> short 't' <> value 1 <> metavar "N"-                            <> help "Force rescan of files every N seconds" )-                     <*> optStr ( long "builddir" <> short 'b'-                            <> help "Set custom cabal build directory, default `dist'")-                     <*> many ( strOption ( long "ignore" <> short 'i' <> metavar "DIR"-                                   <> help "ignore file changes in DIR" )-                              )-                     <*> extraCabalArgs-                     <*> option ( long "port" <> short 'p' <> value 3000 <> metavar "N"-                            <> help "Devel server listening port" )-                     <*> option ( long "proxy-timeout" <> short 'x' <> value 10 <> metavar "N"-                            <> help "Devel server timeout before returning 'not ready' message (in seconds)" )--extraCabalArgs :: Parser [String]-extraCabalArgs = many (strOption ( long "extra-cabal-arg" <> short 'e' <> metavar "ARG"-                                   <> help "pass extra argument ARG to cabal")-                      )---- | Optional @String@ argument-optStr :: Mod OptionFields (Maybe String) -> Parser (Maybe String)-optStr m =-    nullOption $ value Nothing <> reader (success . str)  <> m-  where-#if MIN_VERSION_optparse_applicative(0, 5, 0)-    success = Right-#else-    success = Just-#endif---- | Like @rawSystem@, but exits if it receives a non-success result.-rawSystem' :: String -> [String] -> IO ()-rawSystem' x y = do-    res <- rawSystem x y-    unless (res == ExitSuccess) $ exitWith res-
yesod.cabal view
@@ -1,5 +1,5 @@ name:            yesod-version:         1.1.9.4+version:         1.2.0 license:         MIT license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>@@ -17,23 +17,12 @@ build-type:      Simple homepage:        http://www.yesodweb.com/ -extra-source-files:-  input/*.cg-  hsfiles/mongo.hsfiles-  hsfiles/mysql.hsfiles-  hsfiles/postgres.hsfiles-  hsfiles/postgres-fay.hsfiles-  hsfiles/simple.hsfiles-  hsfiles/sqlite.hsfiles- library     build-depends:   base                      >= 4.3      && < 5-                   , yesod-core                >= 1.1.5    && < 1.2-                   , yesod-auth                >= 1.1      && < 1.2-                   , yesod-json                >= 1.1      && < 1.2-                   , yesod-persistent          >= 1.1      && < 1.2-                   , yesod-form                >= 1.1      && < 1.3-                   , yesod-default             >= 1.1.3    && < 1.2+                   , yesod-core                >= 1.2      && < 1.3+                   , yesod-auth                >= 1.2      && < 1.3+                   , yesod-persistent          >= 1.2      && < 1.3+                   , yesod-form                >= 1.3      && < 1.4                    , monad-control             >= 0.3      && < 0.4                    , transformers              >= 0.2.2    && < 0.4                    , wai                       >= 1.3      && < 1.5@@ -45,83 +34,25 @@                    , blaze-html                >= 0.5                    , blaze-markup              >= 0.5.1                    , aeson+                   , safe+                   , data-default+                   , network-conduit+                   , unordered-containers+                   , yaml+                   , text+                   , directory+                   , template-haskell+                   , bytestring      exposed-modules: Yesod+                   , Yesod.Default.Config+                   , Yesod.Default.Main+                   , Yesod.Default.Util+                   , Yesod.Default.Handlers     ghc-options:     -Wall -executable             yesod-ghc-wrapper-    main-is: ghcwrapper.hs-    build-depends:-                    base                       >= 4         && < 5-                  , Cabal--executable             yesod-ld-wrapper-    main-is: ghcwrapper.hs-    cpp-options:     -DLDCMD-    build-depends:-                    base                       >= 4         && < 5-                  , Cabal-executable             yesod-ar-wrapper-    main-is: ghcwrapper.hs-    cpp-options:     -DARCMD-    build-depends:-                     base                       >= 4         && < 5-                   , Cabal--executable             yesod-    if os(windows)-        cpp-options:     -DWINDOWS-    build-depends:     base               >= 4.3          && < 5-                     , ghc                >= 7.0.3        && < 7.8-                     , ghc-paths          >= 0.1-                     , parsec             >= 2.1          && < 4-                     , text               >= 0.11-                     , shakespeare-text   >= 1.0          && < 1.1-                     , shakespeare        >= 1.0.2        && < 1.1-                     , shakespeare-js     >= 1.0.2        && < 1.2-                     , shakespeare-css    >= 1.0.2        && < 1.1-                     , bytestring         >= 0.9.1.4-                     , time               >= 1.1.4-                     , template-haskell-                     , directory          >= 1.0-                     , Cabal-                     , unix-compat        >= 0.2          && < 0.5-                     , containers         >= 0.2-                     , attoparsec         >= 0.10-                     , http-types         >= 0.7-                     , blaze-builder      >= 0.2.1.4      && < 0.4-                     , filepath           >= 1.1-                     , process-                     , zlib               >= 0.5          && < 0.6-                     , tar                >= 0.4          && < 0.5-                     , system-filepath    >= 0.4          && < 0.5-                     , system-fileio      >= 0.3          && < 0.4-                     , unordered-containers-                     , yaml               >= 0.8          && < 0.9-                     , optparse-applicative >= 0.4-                     , fsnotify           >= 0.0          && < 0.1-                     , split              >= 0.2          && < 0.3-                     , file-embed-                     , conduit            >= 0.5          && < 1.1-                     , resourcet          >= 0.3          && < 0.5-                     , base64-bytestring-                     , lifted-base-                     , http-reverse-proxy >= 0.1.1        && < 0.2-                     , network-                     , http-conduit-                     , network-conduit-                     , project-template   >= 0.1.1--    ghc-options:       -Wall -threaded-    main-is:           main.hs-    other-modules:     Scaffolding.Scaffolder-                       Devel-                       Build-                       GhcBuild-                       Keter-                       AddHandler-                       Paths_yesod-                       Options+    if !os(windows)+         build-depends: unix  source-repository head   type:     git