packages feed

gitit 0.10.4 → 0.10.5

raw patch · 25 files changed

+393/−111 lines, 25 filesdep +aesondep +hoauth2dep +http-clientdep ~networkdep ~pandocPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: aeson, hoauth2, http-client, http-client-tls, network-uri

Dependency ranges changed: network, pandoc

API changes (from Hackage documentation)

+ Network.Gitit.Authentication: githubAuthHandlers :: OAuth2 -> [Handler]
+ Network.Gitit.Authentication.Github: data GithubCallbackPars
+ Network.Gitit.Authentication.Github: getGithubUser :: OAuth2 -> GithubCallbackPars -> IO (Either String User)
+ Network.Gitit.Authentication.Github: instance Eq GithubUser
+ Network.Gitit.Authentication.Github: instance Eq GithubUserMail
+ Network.Gitit.Authentication.Github: instance FromData GithubCallbackPars
+ Network.Gitit.Authentication.Github: instance FromJSON GithubUser
+ Network.Gitit.Authentication.Github: instance FromJSON GithubUserMail
+ Network.Gitit.Authentication.Github: instance Show GithubCallbackPars
+ Network.Gitit.Authentication.Github: instance Show GithubUser
+ Network.Gitit.Authentication.Github: instance Show GithubUserMail
+ Network.Gitit.Authentication.Github: loginGithubUser :: OAuth2 -> Handler
+ Network.Gitit.Config: getConfigFromFiles :: [FilePath] -> IO Config
+ Network.Gitit.Interface: githubAuth :: Config -> OAuth2
+ Network.Gitit.Types: githubAuth :: Config -> OAuth2
- Network.Gitit.Interface: Config :: FilePath -> FileStoreType -> PageType -> MathMethod -> Bool -> Bool -> (Handler -> Handler) -> AuthenticationLevel -> Handler -> FilePath -> Int -> FilePath -> FilePath -> Priority -> FilePath -> [String] -> Bool -> Integer -> Integer -> String -> Int -> Bool -> String -> [String] -> [String] -> String -> Maybe (String, [String]) -> Bool -> String -> String -> String -> String -> Bool -> Bool -> FilePath -> Map String String -> String -> String -> String -> Bool -> String -> Bool -> String -> Integer -> Integer -> Bool -> Maybe FilePath -> Bool -> Int -> Config
+ Network.Gitit.Interface: Config :: FilePath -> FileStoreType -> PageType -> MathMethod -> Bool -> Bool -> (Handler -> Handler) -> AuthenticationLevel -> Handler -> FilePath -> Int -> FilePath -> FilePath -> Priority -> FilePath -> [String] -> Bool -> Integer -> Integer -> String -> Int -> Bool -> String -> [String] -> [String] -> String -> Maybe (String, [String]) -> Bool -> String -> String -> String -> String -> Bool -> Bool -> FilePath -> Map String String -> String -> String -> String -> Bool -> String -> Bool -> String -> Integer -> Integer -> Bool -> Maybe FilePath -> Bool -> Int -> OAuth2 -> Config
- Network.Gitit.Types: Config :: FilePath -> FileStoreType -> PageType -> MathMethod -> Bool -> Bool -> (Handler -> Handler) -> AuthenticationLevel -> Handler -> FilePath -> Int -> FilePath -> FilePath -> Priority -> FilePath -> [String] -> Bool -> Integer -> Integer -> String -> Int -> Bool -> String -> [String] -> [String] -> String -> Maybe (String, [String]) -> Bool -> String -> String -> String -> String -> Bool -> Bool -> FilePath -> Map String String -> String -> String -> String -> Bool -> String -> Bool -> String -> Integer -> Integer -> Bool -> Maybe FilePath -> Bool -> Int -> Config
+ Network.Gitit.Types: Config :: FilePath -> FileStoreType -> PageType -> MathMethod -> Bool -> Bool -> (Handler -> Handler) -> AuthenticationLevel -> Handler -> FilePath -> Int -> FilePath -> FilePath -> Priority -> FilePath -> [String] -> Bool -> Integer -> Integer -> String -> Int -> Bool -> String -> [String] -> [String] -> String -> Maybe (String, [String]) -> Bool -> String -> String -> String -> String -> Bool -> Bool -> FilePath -> Map String String -> String -> String -> String -> Bool -> String -> Bool -> String -> Integer -> Integer -> Bool -> Maybe FilePath -> Bool -> Int -> OAuth2 -> Config

Files

CHANGES view
@@ -1,3 +1,32 @@+Version 0.10.5 released 23 August 2014++  * Added github login option (Freiric Barral).++  * Change default math display to mathjax.++  * Relaxed package bounds, fixed compiler warnings.+    Added Network.Gitit.Compat.Except module for compatibility+    with earlier and later mtl versions.++  * Added network-uri flag to accommodate network-uri/network split.++  * Fixed failure when loading the Subst plugin (Glenn Searby).++  * Added Makefile, for use in installing on server.++  * Include takeBaseName in System.FilePath import (Caleb McDaniel).++  * Update README.markdown on Apache installation (Peter Gallagher).++  * Add full versions of minified JavaScript (#400) (Peter Gallagher).++  * Enable highlighting of patterns that start or end with punctuation+    (Caleb McDaniel).++  * Moved oauth secret to separate config file (Freiric Barral).++  * Corrected MathJax CDN URL (Maciek Makowski).+ Version 0.10.4 released 30 Jun 2014  *   Updated package bounds for happstack (#382), pandoc, blaze-html,
Network/Gitit.hs view
@@ -158,7 +158,7 @@   resp' <- serveDirectory EnableBrowsing [] p   if rsCode resp' == 404 || lastNote "fileServeStrict'" (rqUri rq) == '/'      then mzero  -- pass through if not found or directory index-     else do+     else        -- turn off compresion filter unless it's text        case getHeader "Content-Type" resp' of             Just ct | B.pack "text/" `B.isPrefixOf` ct -> return resp'
Network/Gitit/Authentication.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE ScopedTypeVariables, StandaloneDeriving #-}+{-# LANGUAGE ScopedTypeVariables #-} {- Copyright (C) 2009 John MacFarlane <jgm@berkeley.edu>,                    Henry Laxen <nadine.and.henry@pobox.com>@@ -24,7 +24,8 @@ module Network.Gitit.Authentication ( loginUserForm                                     , formAuthHandlers                                     , httpAuthHandlers-                                    , rpxAuthHandlers) where+                                    , rpxAuthHandlers+                                    , githubAuthHandlers) where  import Network.Gitit.State import Network.Gitit.Types@@ -32,25 +33,27 @@ import Network.Gitit.Layout import Network.Gitit.Server import Network.Gitit.Util+import Network.Gitit.Authentication.Github import Network.Captcha.ReCaptcha (captchaFields, validateCaptcha) import Text.XHtml hiding ( (</>), dir, method, password, rev ) import qualified Text.XHtml as X ( password ) import System.Process (readProcessWithExitCode) import Control.Monad (unless, liftM, mplus)-import Control.Monad.Trans (MonadIO(), liftIO)+import Control.Monad.Trans (liftIO) import System.Exit import System.Log.Logger (logM, Priority(..))-import Data.Char (isAlphaNum, isAlpha, isAscii)+import Data.Char (isAlphaNum, isAlpha) import qualified Data.Map as M import Text.Pandoc.Shared (substitute) import Data.Maybe (isJust, fromJust, isNothing, fromMaybe)-import Network.URL (encString, exportURL, add_param, importURL)+import Network.URL (exportURL, add_param, importURL) import Network.BSD (getHostName) import qualified Text.StringTemplate as T import Network.HTTP (urlEncodeVars, urlDecode, urlEncode) import Codec.Binary.UTF8.String (encodeString) import Data.ByteString.UTF8 (toString) import Network.Gitit.Rpxnow as R+import Network.OAuth.OAuth2  data ValidationType = Register                     | ResetPassword@@ -298,11 +301,8 @@                then return $ Left "missing-challenge-or-response"                else liftIO $ do                       mbIPaddr <- lookupIPAddr peer-                      let ipaddr = case mbIPaddr of-                                        Just ip -> ip-                                        Nothing -> error $-                                          "Could not find ip address for " ++-                                          peer+                      let ipaddr = fromMaybe (error $ "Could not find ip address for " ++ peer)+                                   mbIPaddr                       ipaddr `seq` validateCaptcha (recaptchaPrivateKey cfg)                               ipaddr (recaptchaChallengeField recaptcha)                               (recaptchaResponseField recaptcha)@@ -385,9 +385,6 @@     else       withMessages ["Invalid username or password."] loginUserForm -encUrl :: String -> String-encUrl = encString True isAscii- logoutUser :: Params -> Handler logoutUser params = do   let key = pSessionKey params@@ -434,10 +431,37 @@  httpAuthHandlers :: [Handler] httpAuthHandlers =-  [ dir "_logout" $ logoutUserHTTP+  [ dir "_logout" logoutUserHTTP   , dir "_login"  $ withData loginUserHTTP   , dir "_user" currentUser ] +oauthGithubCallback :: OAuth2+                   -> GithubCallbackPars                  -- ^ Authentication code gained after authorization+                   -> Handler+oauthGithubCallback githubKey githubCallbackPars = do+    mUser <- liftIO $ getGithubUser githubKey githubCallbackPars+    case mUser of+      Right user -> do+               let userEmail = uEmail user+               updateGititState $ \s -> s { users = M.insert userEmail user (users s) }+               addUser (uUsername user) user+               key <- newSession (SessionData userEmail)+               cfg <- getConfig+               addCookie (MaxAge $ sessionTimeout cfg) (mkCookie "sid" (show key))+               base' <- getWikiBase+               let destination = base' ++ "/"+               seeOther (encUrl destination) $ toResponse ()+      Left err ->+               error err++githubAuthHandlers :: OAuth2+                   -> [Handler]+githubAuthHandlers githubKey =+  [ dir "_logout" $ withData logoutUser+  , dir "_login" $ loginGithubUser githubKey+  , dir "_githubCallback" $ withData $ oauthGithubCallback githubKey+  , dir "_user" currentUser ]+ -- Login using RPX (see RPX development docs at https://rpxnow.com/docs) loginRPXUser :: RPars  -- ^ The parameters passed by the RPX callback call (after authentication has taken place              -> Handler@@ -448,7 +472,7 @@   if isNothing mtoken      then do        let url = baseUrl cfg ++ "/_login?destination=" ++-                  (fromMaybe ref $ rDestination params)+                  fromMaybe ref (rDestination params)        if null (rpxDomain cfg)           then error "rpx-domain is not set."           else do
+ Network/Gitit/Authentication/Github.hs view
@@ -0,0 +1,89 @@+{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}++module Network.Gitit.Authentication.Github (loginGithubUser, getGithubUser, GithubCallbackPars) where++import Network.OAuth.OAuth2++import Network.Gitit.Types+import Network.Gitit.Server+import Network.Gitit.State+import qualified Data.ByteString.Char8 as BS+import qualified Data.ByteString.Lazy as BSL+import Network.HTTP.Client+import Network.HTTP.Client.TLS+import Control.Monad (liftM, mplus, mzero)+import Data.Aeson+import Data.Text (Text, pack, unpack)+import Data.Text.Encoding (encodeUtf8)+import Control.Applicative+import Data.Char (chr)++loginGithubUser :: OAuth2 -> Handler+loginGithubUser githubKey = do+  let state = "testGithubApi"+  let scopes = "user:email"+  let url = authorizationUrl githubKey `appendQueryParam` [("state", state), ("scope", scopes)]+  seeOther (BS.unpack url) $ toResponse ("redirecting to github" :: String)++getGithubUser :: OAuth2                  -- ^ Oauth2 configuration (client secret)+              -> GithubCallbackPars      -- ^ Authentication code gained after authorization+              -> IO (Either String User) -- ^ user email and name (password 'none')+getGithubUser githubKey githubCallbackPars = do+  let (Just code) = rCode githubCallbackPars+  let setting = tlsManagerSettings+  mgr <- newManager setting+  token <- fetchAccessToken mgr githubKey (sToBS code)+  let mUser = case token of+                Right at -> do+                      uinfo <- userInfo mgr at+                      minfo <- mailInfo mgr at+                      case (uinfo, minfo) of+                         (Right githubUser, Right githubUserMail) -> do+                                  user <- mkUser (unpack $ gname githubUser)+                                                 (unpack $ email $ head githubUserMail)+                                                 "none"+                                  return $ Right user+                         (Left err, _) -> return $ Left $ lbsToStr err+                         (_, Left err) -> return $ Left $ lbsToStr err+                Left err ->+                     return $ Left $  "no access token found yet: " ++ lbsToStr  err+  closeManager mgr+  mUser++data GithubCallbackPars = GithubCallbackPars { rCode :: Maybe String }+                          deriving Show++instance FromData GithubCallbackPars where+    fromData = do+         vcode <- liftM Just (look "code") `mplus` return Nothing+         return GithubCallbackPars {rCode = vcode }++userInfo :: Manager -> AccessToken -> IO (OAuth2Result GithubUser)+userInfo mgr token = authGetJSON mgr token "https://api.github.com/user"++mailInfo :: Manager -> AccessToken -> IO (OAuth2Result [GithubUserMail])+mailInfo mgr token = authGetJSON mgr token "https://api.github.com/user/emails"++data GithubUser = GithubUser { gid   :: Integer+                             , gname :: Text+                             } deriving (Show, Eq)++instance FromJSON GithubUser where+    parseJSON (Object o) = GithubUser+                           <$> o .: "id"+                           <*> o .: "name"+    parseJSON _ = mzero++data GithubUserMail = GithubUserMail { email :: Text+                             } deriving (Show, Eq)++instance FromJSON GithubUserMail where+    parseJSON (Object o) = GithubUserMail+                           <$> o .: "email"+    parseJSON _ = mzero++sToBS :: String -> BS.ByteString+sToBS = encodeUtf8 . pack++lbsToStr :: BSL.ByteString -> String+lbsToStr = map (chr . fromEnum) . BSL.unpack
+ Network/Gitit/Compat/Except.hs view
@@ -0,0 +1,36 @@+{-# LANGUAGE CPP #-}+module Network.Gitit.Compat.Except (+                                   ExceptT+                                 , Except+                                 , Error(..)+                                 , runExceptT+                                 , runExcept+                                 , MonadError+                                 , throwError+                                 , catchError )+       where++#if MIN_VERSION_mtl(2,2,1)+import Control.Monad.Except++class Error a where+  noMsg  :: a+  strMsg :: String -> a++  noMsg    = strMsg ""+  strMsg _ = noMsg++#else+import Control.Monad.Error+import Control.Monad.Identity (Identity, runIdentity)++type ExceptT = ErrorT++type Except s a = ErrorT s Identity a++runExceptT ::  ExceptT e m a -> m (Either e a)+runExceptT = runErrorT++runExcept :: ExceptT e Identity a -> Either e a+runExcept = runIdentity . runExceptT+#endif
Network/Gitit/Config.hs view
@@ -21,25 +21,29 @@ -}  module Network.Gitit.Config ( getConfigFromFile+                            , getConfigFromFiles                             , getDefaultConfig                             , readMimeTypesFile ) where import Network.Gitit.Types import Network.Gitit.Server (mimeTypes) import Network.Gitit.Framework-import Network.Gitit.Authentication (formAuthHandlers, rpxAuthHandlers, httpAuthHandlers)+import Network.Gitit.Authentication (formAuthHandlers, rpxAuthHandlers, httpAuthHandlers, githubAuthHandlers) import Network.Gitit.Util (parsePageType, readFileUTF8) import System.Log.Logger (logM, Priority(..)) import qualified Data.Map as M import Data.ConfigFile hiding (readfile)-import Control.Monad.Error-import System.Log.Logger () import Data.List (intercalate) import Data.Char (toLower, toUpper, isDigit) import Paths_gitit (getDataFileName) import System.FilePath ((</>)) import Text.Pandoc hiding (MathML, WebTeX, MathJax) import qualified Control.Exception as E+import Network.OAuth.OAuth2+import qualified Data.ByteString.Char8 as BS+import Network.Gitit.Compat.Except+import Control.Monad+import Control.Monad.Trans  forceEither :: Show e => Either e a -> a forceEither = either (error . show) id@@ -50,6 +54,20 @@   cp <- getDefaultConfigParser   readfile cp fname >>= extractConfig . forceEither +-- | Get configuration from config files.+getConfigFromFiles :: [FilePath] -> IO Config+getConfigFromFiles fnames = do+  config <- getConfigParserFromFiles fnames+  extractConfig config++getConfigParserFromFiles :: [FilePath] ->+                            IO ConfigParser+getConfigParserFromFiles (fname:fnames) = do+  cp <- getConfigParserFromFiles fnames+  config <- readfile cp fname+  return $ forceEither config+getConfigParserFromFiles [] = getDefaultConfigParser+ -- | A version of readfile that treats the file as UTF-8. readfile :: MonadError CPError m           => ConfigParser@@ -61,7 +79,7 @@  extractConfig :: ConfigParser -> IO Config extractConfig cp = do-  config' <- runErrorT $ do+  config' <- runExceptT $ do       cfRepositoryType <- get cp "DEFAULT" "repository-type"       cfRepositoryPath <- get cp "DEFAULT" "repository-path"       cfDefaultPageType <- get cp "DEFAULT" "default-page-type"@@ -125,9 +143,10 @@                         "mercurial" -> Mercurial                         x           -> error $ "Unknown repository type: " ++ x       when (authMethod == "rpx" && cfRPXDomain == "") $-         liftIO $ logM "gitit" WARNING $ "rpx-domain is not set"+         liftIO $ logM "gitit" WARNING "rpx-domain is not set"+      githubConfig <- extractGithubConfig cp -      return $! Config{+      return Config{           repositoryPath       = cfRepositoryPath         , repositoryType       = repotype'         , defaultPageType      = pt@@ -141,6 +160,7 @@         , showLHSBirdTracks    = cfShowLHSBirdTracks         , withUser             = case authMethod of                                       "form"     -> withUserFromSession+                                      "github"   -> withUserFromSession                                       "http"     -> withUserFromHTTPAuth                                       "rpx"      -> withUserFromSession                                       _          -> id@@ -152,6 +172,8 @@          , authHandler          = case authMethod of                                       "form"     -> msum formAuthHandlers+                                      "github"   -> msum $ githubAuthHandlers+                                                         $ githubConfig                                       "http"     -> msum httpAuthHandlers                                       "rpx"      -> msum rpxAuthHandlers                                       _          -> mzero@@ -204,12 +226,30 @@                                     else Just cfPandocUserData         , xssSanitize          = cfXssSanitize         , recentActivityDays   = cfRecentActivityDays+        , githubAuth           = githubConfig         }   case config' of         Left (ParseError e, e') -> error $ "Parse error: " ++ e ++ "\n" ++ e'         Left e                  -> error (show e)         Right c                 -> return c +extractGithubConfig ::  MonadError CPError m => ConfigParser+                    -> m OAuth2+extractGithubConfig cp = do+      cfOauthClientId <- getGithubProp "oauthClientId"+      cfOauthClientSecret <- getGithubProp "oauthClientSecret"+      cfOauthCallback  <- getGithubProp "oauthCallback"+      cfOauthOAuthorizeEndpoint  <- getGithubProp "oauthOAuthorizeEndpoint"+      cfOauthAccessTokenEndpoint <- getGithubProp "oauthAccessTokenEndpoint"+      return OAuth2{+        oauthClientId =  BS.pack cfOauthClientId+      , oauthClientSecret =  BS.pack cfOauthClientSecret+      , oauthCallback = Just $ BS.pack cfOauthCallback+      , oauthOAuthorizeEndpoint = BS.pack cfOauthOAuthorizeEndpoint+      , oauthAccessTokenEndpoint = BS.pack cfOauthAccessTokenEndpoint+      }+  where getGithubProp = get cp "Github"+ fromQuotedMultiline :: String -> String fromQuotedMultiline = unlines . map doline . lines . dropWhile (`elem` " \t\n")   where doline = dropWhile (`elem` " \t") . dropGt@@ -256,10 +296,10 @@ -- extensions, separated by spaces. Example: text/plain txt text readMimeTypesFile :: FilePath -> IO (M.Map String String) readMimeTypesFile f = E.catch-  (liftM (foldr go M.empty . map words . lines) $ readFileUTF8 f)+  (liftM (foldr (go . words)  M.empty . lines) $ readFileUTF8 f)   handleMimeTypesFileNotFound      where go []     m = m  -- skip blank lines-           go (x:xs) m = foldr (\ext -> M.insert ext x) m xs+           go (x:xs) m = foldr (`M.insert` x) m xs            handleMimeTypesFileNotFound (e :: E.SomeException) = do              logM "gitit" WARNING $ "Could not read mime types file: " ++                f ++ "\n" ++ show e ++ "\n" ++ "Using defaults instead."
Network/Gitit/ContentTransformer.hs view
@@ -69,7 +69,7 @@   ) where -import Control.Exception (throwIO, catch)+import qualified Control.Exception as E import Control.Monad.State import Control.Monad.Reader (ask) import Data.Foldable (traverse_)@@ -86,7 +86,6 @@ import Network.HTTP (urlDecode) import Network.URI (isUnescapedInURI) import Network.URL (encString)-import Prelude hiding (catch) import System.FilePath import qualified Text.Pandoc.Builder as B import Text.HTML.SanitizeXSS (sanitizeBalance)@@ -274,8 +273,8 @@   file <- getFileName   fs <- lift getFileStore   let rev = pRevision params-  liftIO $ catch (liftM Just $ FS.retrieve fs file rev)-                 (\e -> if e == FS.NotFound then return Nothing else throwIO e)+  liftIO $ E.catch (liftM Just $ FS.retrieve fs file rev)+               (\e -> if e == FS.NotFound then return Nothing else E.throwIO e)  -- -- Response-generating combinators
Network/Gitit/Export.hs view
@@ -124,13 +124,18 @@                         $ dropWhile (not . isPrefixOf "<!-- {{{{ dzslides core")                         $ lines dztempl                   else return ""-    let h = writeHtmlString opts'{+    let opts'' = opts'{                 writerVariables =                   ("body",body''):("dzslides-core",dzcore):("highlighting-css",pygmentsCss):variables'                ,writerTemplate = template                ,writerUserDataDir = pandocUserData cfg-               } (Pandoc meta [])+               }+    let h = writeHtmlString opts'' (Pandoc meta [])+#if MIN_VERSION_pandoc(1,13,0)+    h' <- liftIO $ makeSelfContained opts'' h+#else     h' <- liftIO $ makeSelfContained (pandocUserData cfg) h+#endif     ok . setContentType "text/html;charset=UTF-8" .       -- (setFilename (page ++ ".html")) .       toResponseBS B.empty $ fromString h'
Network/Gitit/Framework.hs view
@@ -60,7 +60,7 @@ import Network.Gitit.Types import Data.FileStore import Data.Char (toLower)-import Control.Monad (mzero, liftM, unless, MonadPlus)+import Control.Monad (mzero, liftM, unless) import qualified Data.Map as M import qualified Data.ByteString.UTF8 as UTF8 import qualified Data.ByteString.Lazy.UTF8 as LazyUTF8
Network/Gitit/Handlers.hs view
@@ -63,9 +63,8 @@ import Network.Gitit.ContentTransformer (showRawPage, showFileAsText, showPage,         exportPage, showHighlightedSource, preview, applyPreCommitPlugins) import Network.Gitit.Page (readCategories)-import Control.Exception (throwIO, catch, try)+import qualified Control.Exception as E import System.FilePath-import Prelude hiding (catch) import Network.Gitit.State import Text.XHtml hiding ( (</>), dir, method, password, rev ) import qualified Text.XHtml as X ( method )@@ -90,7 +89,7 @@          let rev = pRevision params          mimetype <- getMimeTypeForExtension                       (takeExtension path')-         res <- liftIO $ try+         res <- liftIO $ E.try                 (retrieve fs path' rev :: IO B.ByteString)          case res of                 Right contents -> ignoreFilters >>  -- don't compress@@ -201,10 +200,10 @@                         Just u  -> return (uUsername u, uEmail u)   let overwrite = pOverwrite params   fs <- getFileStore-  exists <- liftIO $ catch (latest fs wikiname >> return True) $ \e ->+  exists <- liftIO $ E.catch (latest fs wikiname >> return True) $ \e ->                       if e == NotFound                          then return False-                         else throwIO e >> return True+                         else E.throwIO e >> return True   let inStaticDir = staticDir cfg `isPrefixOf` (repositoryPath cfg </> wikiname)   let inTemplatesDir = templatesDir cfg `isPrefixOf` (repositoryPath cfg </> wikiname)   let dirs' = splitDirectories $ takeDirectory wikiname@@ -272,7 +271,7 @@   fs <- getFileStore   matchLines <- if null patterns                    then return []-                   else liftIO $ catch (search fs SearchQuery{+                   else liftIO $ E.catch (search fs SearchQuery{                                                   queryPatterns = patterns                                                 , queryWholeWords = True                                                 , queryMatchAll = True@@ -465,10 +464,10 @@                             -- immediately preceding revision                             then Just $ revId $ upto !! 1                             else Nothing-  result' <- liftIO $ try $ getDiff fs file from' to+  result' <- liftIO $ E.try $ getDiff fs file from' to   case result' of        Left NotFound  -> mzero-       Left e         -> liftIO $ throwIO e+       Left e         -> liftIO $ E.throwIO e        Right htmlDiff -> formattedPage defaultPageLayout{                                           pgPageName = page,                                           pgRevision = from' `mplus` to,@@ -500,7 +499,7 @@   let rev = pRevision params  -- if this is set, we're doing a revert   fs <- getFileStore   page <- getPage-  let getRevisionAndText = catch+  let getRevisionAndText = E.catch         (do c <- liftIO $ retrieve fs (pathForPage page) rev             -- even if pRevision is set, we return revId of latest             -- saved version (because we're doing a revert and@@ -510,7 +509,7 @@             return (Just $ revId r, c))         (\e -> if e == NotFound                   then return (Nothing, "")-                  else throwIO e)+                  else E.throwIO e)   (mbRev, raw) <- case pEditedText params of                          Nothing -> liftIO getRevisionAndText                          Just t  -> let r = if null (pSHA1 params)@@ -573,11 +572,11 @@   fs <- getFileStore   -- determine whether there is a corresponding page, and if not whether there   -- is a corresponding file-  pageTest <- liftIO $ try $ latest fs (pathForPage page)+  pageTest <- liftIO $ E.try $ latest fs (pathForPage page)   fileToDelete <- case pageTest of                        Right _        -> return $ pathForPage page  -- a page                        Left  NotFound -> do-                         fileTest <- liftIO $ try $ latest fs page+                         fileTest <- liftIO $ E.try $ latest fs page                          case fileTest of                               Right _       -> return page  -- a source file                               Left NotFound -> return ""@@ -642,12 +641,12 @@                                      return (Right ())                        else do                          expireCachedFile (pathForPage page) `mplus` return ()-                         liftIO $ catch (modify fs (pathForPage page)+                         liftIO $ E.catch (modify fs (pathForPage page)                                             oldSHA1 (Author user email) logMsg                                             editedText)                                      (\e -> if e == Unchanged                                                then return (Right ())-                                               else throwIO e)+                                               else E.throwIO e)        case modifyRes of             Right () -> seeOther (base' ++ urlForPage page) $ toResponse $ p << "Page updated"             Left (MergeInfo mergedWithRev conflicts mergedText) -> do
Network/Gitit/Layout.hs view
@@ -34,7 +34,6 @@ import Network.Gitit.Export (exportFormats) import Network.HTTP (urlEncodeVars) import qualified Text.StringTemplate as T-import Prelude hiding (catch) import Text.XHtml hiding ( (</>), dir, method, password, rev ) import Text.XHtml.Strict ( stringToHtmlString ) import Data.Maybe (isNothing, isJust, fromJust)@@ -79,7 +78,7 @@                            'h':'t':'t':'p':_  -> x                            _                  -> base' ++ "/js/" ++ x -      scripts  = ["jquery.min.js", "jquery-ui.packed.js", "footnotes.js"] ++ pgScripts layout+      scripts  = ["jquery-1.2.6.min.js", "jquery-ui-combined-1.6rc2.min.js", "footnotes.js"] ++ pgScripts layout       scriptLink x = script ! [src (prefixedScript x),         thetype "text/javascript"] << noHtml       javascriptlinks = renderHtmlFragment $ concatHtml $ map scriptLink scripts
Network/Gitit/Page.hs view
@@ -59,8 +59,7 @@ import qualified Data.ByteString as B import qualified Data.ByteString.Char8 as BC import System.IO (withFile, Handle, IOMode(..))-import Prelude hiding (catch)-import Control.Exception (catch, throwIO)+import qualified Control.Exception as E import System.IO.Error (isEOFError) #if MIN_VERSION_base(4,5,0) #else@@ -167,15 +166,15 @@ #else   withFile (encodeString f) ReadMode $ \h -> #endif-    catch (do fl <- B.hGetLine h-              if dashline fl-                 then do -- get rest of metadata-                   rest <- hGetLinesTill h dotline-                   let (md,_) = parseMetadata $ unlines $ "---":rest-                   return $ splitCategories $ fromMaybe ""-                          $ lookup "categories" md-                 else return [])-       (\e -> if isEOFError e then return [] else throwIO e)+    E.catch (do fl <- B.hGetLine h+                if dashline fl+                   then do -- get rest of metadata+                     rest <- hGetLinesTill h dotline+                     let (md,_) = parseMetadata $ unlines $ "---":rest+                     return $ splitCategories $ fromMaybe ""+                            $ lookup "categories" md+                   else return [])+       (\e -> if isEOFError e then return [] else E.throwIO e)  dashline :: B.ByteString -> Bool dashline x =
Network/Gitit/Plugins.hs view
@@ -23,7 +23,7 @@ module Network.Gitit.Plugins ( loadPlugin, loadPlugins ) where import Network.Gitit.Types-import System.FilePath+import System.FilePath (takeBaseName) import Control.Monad (unless) import System.Log.Logger (logM, Priority(..)) #ifdef _PLUGINS
Network/Gitit/Types.hs view
@@ -37,6 +37,7 @@ import Network.Gitit.Server import Text.HTML.TagSoup.Entity (lookupEntity) import Data.Char (isSpace)+import Network.OAuth.OAuth2  data PageType = Markdown | RST | LaTeX | HTML | Textile | Org | DocBook                 deriving (Read, Show, Eq)@@ -149,7 +150,10 @@   -- | Filter HTML through xss-sanitize   xssSanitize          :: Bool,   -- | The default number of days in the past to look for \"recent\" activity-  recentActivityDays   :: Int+  recentActivityDays   :: Int,+  -- | Github client data for authentication (id, secret, callback,+  -- authorize endpoint, access token endpoint)+  githubAuth           :: OAuth2   }  -- | Data for rendering a wiki page.
Network/Gitit/Util.hs view
@@ -25,6 +25,7 @@                           , trim                           , yesOrNo                           , parsePageType+                          , encUrl                           ) where import System.Directory@@ -32,10 +33,11 @@ import System.FilePath ((</>), (<.>)) import System.IO.Error (isAlreadyExistsError) import Control.Monad.Trans (liftIO)-import Data.Char (toLower)+import Data.Char (toLower, isAscii) import Network.Gitit.Types import qualified Control.Exception as E import qualified Text.Pandoc.UTF8 as UTF8+import Network.URL (encString)  -- | Read file as UTF-8 string.  Encode filename as UTF-8. readFileUTF8 :: FilePath -> IO String@@ -101,3 +103,5 @@        "latex+lhs"    -> (LaTeX,True)        x              -> error $ "Unknown page type: " ++ x +encUrl :: String -> String+encUrl = encString True isAscii
README.markdown view
@@ -345,6 +345,22 @@ Another approach is to use HTTP authentication. (See the config file comments on `authentication-method`.) +Authentication through github+-----------------------------++If you want to authenticate the user from github through oauth2, you need to+register your app with github to obtain a OAuth client secret and add the+following section to your configuration file:++```+[Github]+oauthclientid: 01239456789abcdef012+oauthclientsecret: 01239456789abcdef01239456789abcdef012394+oauthcallback: http://mysite/_githubCallback+oauthoauthorizeendpoint: https://github.com/login/oauth/authorize+oauthaccesstokenendpoint: https://github.com/login/oauth/access_token+```+ Plugins ======= @@ -452,7 +468,7 @@ ------------------------------------  Set up your DNS so that `http://wiki.mysite.com` maps to-your server's IP address. Make sure that the `mod_proxy` module is+your server's IP address. Make sure that the `mod_proxy`, `mod_proxy_http` and `mod_rewrite` modules are loaded, and set up a virtual host with the following configuration:      <VirtualHost *>
data/default.conf view
@@ -37,6 +37,10 @@ # will attempt to log in through https://rpxnow.com. # This requires that 'rpx-domain', 'rpx-key', and 'base-url' # be set below, and that 'curl' be in the system path.+# 'github' means that you are redirected to github website and+# need to avail gitit to use your credential from there (github name and+# email). Your email is used to identify you when you push your wiki data+# to git to identify you as the author.  user-file: gitit-users # specifies the path of the file containing user login information.@@ -62,7 +66,7 @@ # rendered correctly if RST is selected. The same goes for LaTeX and # HTML. -math: MathML+math: mathjax # specifies how LaTeX math is to be displayed.  Possible values # are MathML, raw, mathjax, jsMath, and google.  If mathml is selected, # gitit will convert LaTeX math to MathML and link in a script,@@ -76,7 +80,7 @@ # API is called to render the formula as an image. This requires a connection # to google, and might raise a technical or a privacy problem. -mathjax-script: https://d3eoax9i5htok0.cloudfront.net/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML+mathjax-script: https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML # specifies the path to MathJax rendering script. # You might want to use your own MathJax script to render formulas without # Internet connection or if you want to use some special LaTeX packages.@@ -275,3 +279,11 @@ # if the activity page receives no 'since' parameter specifiying the time # thereafter which to show the changes, it will by default show "recent" # changes. This allows you to specify how recent "recent" means, in days.++[Github]+# replace dummy oauthclientid and oauthclientsecret:+oauthclientid: 01239456789abcdef012+oauthclientsecret: 01239456789abcdef01239456789abcdef012394+oauthcallback: http://mysite/_githubCallback+oauthoauthorizeendpoint: https://github.com/login/oauth/authorize+oauthaccesstokenendpoint: https://github.com/login/oauth/access_token
+ data/static/js/jquery-1.2.6.min.js view
@@ -0,0 +1,32 @@+/*+ * jQuery 1.2.6 - New Wave Javascript+ *+ * Copyright (c) 2008 John Resig (jquery.com)+ * Dual licensed under the MIT (MIT-LICENSE.txt)+ * and GPL (GPL-LICENSE.txt) licenses.+ *+ * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $+ * $Rev: 5685 $+ */+(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else+return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else+return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else+selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else+return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else+this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else+return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else+jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else+script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else+for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else+for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else+jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else+ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else+while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else+while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else+for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else+jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else+xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else+jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else+for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else+s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else+e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
+ data/static/js/jquery-ui-combined-1.6rc2.min.js view
@@ -0,0 +1,1 @@+;(function($){var _remove=$.fn.remove;$.fn.remove=function(){$("*",this).add(this).triggerHandler("remove");return _remove.apply(this,arguments)};function isVisible(element){function checkStyles(element){var style=element.style;return(style.display!='none'&&style.visibility!='hidden')}var visible=checkStyles(element);(visible&&$.each($.dir(element,'parentNode'),function(){return(visible=checkStyles(this))}));return visible}$.extend($.expr[':'],{data:function(a,i,m){return $.data(a,m[3])},tabbable:function(a,i,m){var nodeName=a.nodeName.toLowerCase();return(a.tabIndex>=0&&(('a'==nodeName&&a.href)||(/input|select|textarea|button/.test(nodeName)&&'hidden'!=a.type&&!a.disabled))&&isVisible(a))}});$.keyCode={BACKSPACE:8,CAPS_LOCK:20,COMMA:188,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38};function getter(namespace,plugin,method,args){function getMethods(type){var methods=$[namespace][plugin][type]||[];return(typeof methods=='string'?methods.split(/,?\s+/):methods)}var methods=getMethods('getter');if(args.length==1&&typeof args[0]=='string'){methods=methods.concat(getMethods('getterSetter'))}return($.inArray(method,methods)!=-1)}$.widget=function(name,prototype){var namespace=name.split(".")[0];name=name.split(".")[1];$.fn[name]=function(options){var isMethodCall=(typeof options=='string'),args=Array.prototype.slice.call(arguments,1);if(isMethodCall&&options.substring(0,1)=='_'){return this}if(isMethodCall&&getter(namespace,name,options,args)){var instance=$.data(this[0],name);return(instance?instance[options].apply(instance,args):undefined)}return this.each(function(){var instance=$.data(this,name);(!instance&&!isMethodCall&&$.data(this,name,new $[namespace][name](this,options)));(instance&&isMethodCall&&$.isFunction(instance[options])&&instance[options].apply(instance,args))})};$[namespace][name]=function(element,options){var self=this;this.widgetName=name;this.widgetEventPrefix=$[namespace][name].eventPrefix||name;this.widgetBaseClass=namespace+'-'+name;this.options=$.extend({},$.widget.defaults,$[namespace][name].defaults,$.metadata&&$.metadata.get(element)[name],options);this.element=$(element).bind('setData.'+name,function(e,key,value){return self._setData(key,value)}).bind('getData.'+name,function(e,key){return self._getData(key)}).bind('remove',function(){return self.destroy()});this._init()};$[namespace][name].prototype=$.extend({},$.widget.prototype,prototype);$[namespace][name].getterSetter='option'};$.widget.prototype={_init:function(){},destroy:function(){this.element.removeData(this.widgetName)},option:function(key,value){var options=key,self=this;if(typeof key=="string"){if(value===undefined){return this._getData(key)}options={};options[key]=value}$.each(options,function(key,value){self._setData(key,value)})},_getData:function(key){return this.options[key]},_setData:function(key,value){this.options[key]=value;if(key=='disabled'){this.element[value?'addClass':'removeClass'](this.widgetBaseClass+'-disabled')}},enable:function(){this._setData('disabled',false)},disable:function(){this._setData('disabled',true)},_trigger:function(type,e,data){var eventName=(type==this.widgetEventPrefix?type:this.widgetEventPrefix+type);e=e||$.event.fix({type:eventName,target:this.element[0]});return this.element.triggerHandler(eventName,[e,data],this.options[type])}};$.widget.defaults={disabled:false};$.ui={plugin:{add:function(module,option,set){var proto=$.ui[module].prototype;for(var i in set){proto.plugins[i]=proto.plugins[i]||[];proto.plugins[i].push([option,set[i]])}},call:function(instance,name,args){var set=instance.plugins[name];if(!set){return}for(var i=0;i<set.length;i++){if(instance.options[set[i][0]]){set[i][1].apply(instance.element,args)}}}},cssCache:{},css:function(name){if($.ui.cssCache[name]){return $.ui.cssCache[name]}var tmp=$('<div class="ui-gen">').addClass(name).css({position:'absolute',top:'-5000px',left:'-5000px',display:'block'}).appendTo('body');$.ui.cssCache[name]=!!((!(/auto|default/).test(tmp.css('cursor'))||(/^[1-9]/).test(tmp.css('height'))||(/^[1-9]/).test(tmp.css('width'))||!(/none/).test(tmp.css('backgroundImage'))||!(/transparent|rgba\(0, 0, 0, 0\)/).test(tmp.css('backgroundColor'))));try{$('body').get(0).removeChild(tmp.get(0))}catch(e){}return $.ui.cssCache[name]},disableSelection:function(el){return $(el).attr('unselectable','on').css('MozUserSelect','none').bind('selectstart.ui',function(){return false})},enableSelection:function(el){return $(el).attr('unselectable','off').css('MozUserSelect','').unbind('selectstart.ui')},hasScroll:function(e,a){if($(e).css('overflow')=='hidden'){return false}var scroll=(a&&a=='left')?'scrollLeft':'scrollTop',has=false;if(e[scroll]>0){return true}e[scroll]=1;has=(e[scroll]>0);e[scroll]=0;return has}};$.ui.mouse={_mouseInit:function(){var self=this;this.element.bind('mousedown.'+this.widgetName,function(e){return self._mouseDown(e)});if($.browser.msie){this._mouseUnselectable=this.element.attr('unselectable');this.element.attr('unselectable','on')}this.started=false},_mouseDestroy:function(){this.element.unbind('.'+this.widgetName);($.browser.msie&&this.element.attr('unselectable',this._mouseUnselectable))},_mouseDown:function(e){(this._mouseStarted&&this._mouseUp(e));this._mouseDownEvent=e;var self=this,btnIsLeft=(e.which==1),elIsCancel=(typeof this.options.cancel=="string"?$(e.target).parents().add(e.target).filter(this.options.cancel).length:false);if(!btnIsLeft||elIsCancel||!this._mouseCapture(e)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){self.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(e)!==false);if(!this._mouseStarted){e.preventDefault();return true}}this._mouseMoveDelegate=function(e){return self._mouseMove(e)};this._mouseUpDelegate=function(e){return self._mouseUp(e)};$(document).bind('mousemove.'+this.widgetName,this._mouseMoveDelegate).bind('mouseup.'+this.widgetName,this._mouseUpDelegate);return false},_mouseMove:function(e){if($.browser.msie&&!e.button){return this._mouseUp(e)}if(this._mouseStarted){this._mouseDrag(e);return false}if(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,e)!==false);(this._mouseStarted?this._mouseDrag(e):this._mouseUp(e))}return!this._mouseStarted},_mouseUp:function(e){$(document).unbind('mousemove.'+this.widgetName,this._mouseMoveDelegate).unbind('mouseup.'+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;this._mouseStop(e)}return false},_mouseDistanceMet:function(e){return(Math.max(Math.abs(this._mouseDownEvent.pageX-e.pageX),Math.abs(this._mouseDownEvent.pageY-e.pageY))>=this.options.distance)},_mouseDelayMet:function(e){return this.mouseDelayMet},_mouseStart:function(e){},_mouseDrag:function(e){},_mouseStop:function(e){},_mouseCapture:function(e){return true}};$.ui.mouse.defaults={cancel:null,distance:1,delay:0}})(jQuery);(function($){$.widget("ui.draggable",$.extend({},$.ui.mouse,{getHandle:function(e){var handle=!this.options.handle||!$(this.options.handle,this.element).length?true:false;$(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==e.target)handle=true});return handle},createHelper:function(){var o=this.options;var helper=$.isFunction(o.helper)?$(o.helper.apply(this.element[0],[e])):(o.helper=='clone'?this.element.clone():this.element);if(!helper.parents('body').length)helper.appendTo((o.appendTo=='parent'?this.element[0].parentNode:o.appendTo));if(helper[0]!=this.element[0]&&!(/(fixed|absolute)/).test(helper.css("position")))helper.css("position","absolute");return helper},_init:function(){if(this.options.helper=='original'&&!(/^(?:r|a|f)/).test(this.element.css("position")))this.element[0].style.position='relative';(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-draggable"));(this.options.disabled&&this.element.addClass('ui-draggable-disabled'));this._mouseInit()},_mouseCapture:function(e){var o=this.options;if(this.helper||o.disabled||$(e.target).is('.ui-resizable-handle'))return false;this.handle=this.getHandle(e);if(!this.handle)return false;return true},_mouseStart:function(e){var o=this.options;this.helper=this.createHelper();if($.ui.ddmanager)$.ui.ddmanager.current=this;this.margins={left:(parseInt(this.element.css("marginLeft"),10)||0),top:(parseInt(this.element.css("marginTop"),10)||0)};this.cssPosition=this.helper.css("position");this.offset=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.offset.click={left:e.pageX-this.offset.left,top:e.pageY-this.offset.top};this.cacheScrollParents();this.offsetParent=this.helper.offsetParent();var po=this.offsetParent.offset();if(this.offsetParent[0]==document.body&&$.browser.mozilla)po={top:0,left:0};this.offset.parent={top:po.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:po.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)};if(this.cssPosition=="relative"){var p=this.element.position();this.offset.relative={top:p.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollTopParent.scrollTop(),left:p.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollLeftParent.scrollLeft()}}else{this.offset.relative={top:0,left:0}}this.originalPosition=this._generatePosition(e);this.cacheHelperProportions();if(o.cursorAt)this.adjustOffsetFromHelper(o.cursorAt);$.extend(this,{PAGEY_INCLUDES_SCROLL:(this.cssPosition=="absolute"&&(!this.scrollTopParent[0].tagName||(/(html|body)/i).test(this.scrollTopParent[0].tagName))),PAGEX_INCLUDES_SCROLL:(this.cssPosition=="absolute"&&(!this.scrollLeftParent[0].tagName||(/(html|body)/i).test(this.scrollLeftParent[0].tagName))),OFFSET_PARENT_NOT_SCROLL_PARENT_Y:this.scrollTopParent[0]!=this.offsetParent[0]&&!(this.scrollTopParent[0]==document&&(/(body|html)/i).test(this.offsetParent[0].tagName)),OFFSET_PARENT_NOT_SCROLL_PARENT_X:this.scrollLeftParent[0]!=this.offsetParent[0]&&!(this.scrollLeftParent[0]==document&&(/(body|html)/i).test(this.offsetParent[0].tagName))});if(o.containment)this.setContainment();this._propagate("start",e);this.cacheHelperProportions();if($.ui.ddmanager&&!o.dropBehaviour)$.ui.ddmanager.prepareOffsets(this,e);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(e);return true},cacheScrollParents:function(){this.scrollTopParent=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent()}while(el[0].parentNode);return $(document)}(this.helper);this.scrollLeftParent=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent()}while(el[0].parentNode);return $(document)}(this.helper)},adjustOffsetFromHelper:function(obj){if(obj.left!=undefined)this.offset.click.left=obj.left+this.margins.left;if(obj.right!=undefined)this.offset.click.left=this.helperProportions.width-obj.right+this.margins.left;if(obj.top!=undefined)this.offset.click.top=obj.top+this.margins.top;if(obj.bottom!=undefined)this.offset.click.top=this.helperProportions.height-obj.bottom+this.margins.top},cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},setContainment:function(){var o=this.options;if(o.containment=='parent')o.containment=this.helper[0].parentNode;if(o.containment=='document'||o.containment=='window')this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,$(o.containment=='document'?document:window).width()-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),($(o.containment=='document'?document:window).height()||document.body.parentNode.scrollHeight)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)];if(!(/^(document|window|parent)$/).test(o.containment)){var ce=$(o.containment)[0];var co=$(o.containment).offset();var over=($(ce).css("overflow")!='hidden');this.containment=[co.left+(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left,co.top+(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top,co.left+(over?Math.max(ce.scrollWidth,ce.offsetWidth):ce.offsetWidth)-(parseInt($(ce).css("borderLeftWidth"),10)||0)-this.offset.relative.left-this.offset.parent.left-this.helperProportions.width-this.margins.left-(parseInt(this.element.css("marginRight"),10)||0),co.top+(over?Math.max(ce.scrollHeight,ce.offsetHeight):ce.offsetHeight)-(parseInt($(ce).css("borderTopWidth"),10)||0)-this.offset.relative.top-this.offset.parent.top-this.helperProportions.height-this.margins.top-(parseInt(this.element.css("marginBottom"),10)||0)]}},_convertPositionTo:function(d,pos){if(!pos)pos=this.position;var mod=d=="absolute"?1:-1;return{top:(pos.top+this.offset.relative.top*mod+this.offset.parent.top*mod-(this.cssPosition=="fixed"||this.PAGEY_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y?0:this.scrollTopParent.scrollTop())*mod+(this.cssPosition=="fixed"?$(document).scrollTop():0)*mod+this.margins.top*mod),left:(pos.left+this.offset.relative.left*mod+this.offset.parent.left*mod-(this.cssPosition=="fixed"||this.PAGEX_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_X?0:this.scrollLeftParent.scrollLeft())*mod+(this.cssPosition=="fixed"?$(document).scrollLeft():0)*mod+this.margins.left*mod)}},_generatePosition:function(e){var o=this.options;var position={top:(e.pageY-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(this.cssPosition=="fixed"||this.PAGEY_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_Y?0:this.scrollTopParent.scrollTop())-(this.cssPosition=="fixed"?$(document).scrollTop():0)),left:(e.pageX-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(this.cssPosition=="fixed"||this.PAGEX_INCLUDES_SCROLL||this.OFFSET_PARENT_NOT_SCROLL_PARENT_X?0:this.scrollLeftParent.scrollLeft())-(this.cssPosition=="fixed"?$(document).scrollLeft():0))};if(!this.originalPosition)return position;if(this.containment){if(position.left<this.containment[0])position.left=this.containment[0];if(position.top<this.containment[1])position.top=this.containment[1];if(position.left>this.containment[2])position.left=this.containment[2];if(position.top>this.containment[3])position.top=this.containment[3]}if(o.grid){var top=this.originalPosition.top+Math.round((position.top-this.originalPosition.top)/o.grid[1])*o.grid[1];position.top=this.containment?(!(top<this.containment[1]||top>this.containment[3])?top:(!(top<this.containment[1])?top-o.grid[1]:top+o.grid[1])):top;var left=this.originalPosition.left+Math.round((position.left-this.originalPosition.left)/o.grid[0])*o.grid[0];position.left=this.containment?(!(left<this.containment[0]||left>this.containment[2])?left:(!(left<this.containment[0])?left-o.grid[0]:left+o.grid[0])):left}return position},_mouseDrag:function(e){this.position=this._generatePosition(e);this.positionAbs=this._convertPositionTo("absolute");this.position=this._propagate("drag",e)||this.position;if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+'px';if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+'px';if($.ui.ddmanager)$.ui.ddmanager.drag(this,e);return false},_mouseStop:function(e){var dropped=false;if($.ui.ddmanager&&!this.options.dropBehaviour)var dropped=$.ui.ddmanager.drop(this,e);if((this.options.revert=="invalid"&&!dropped)||(this.options.revert=="valid"&&dropped)||this.options.revert===true||($.isFunction(this.options.revert)&&this.options.revert.call(this.element,dropped))){var self=this;$(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10)||500,function(){self._propagate("stop",e);self._clear()})}else{this._propagate("stop",e);this._clear()}return false},_clear:function(){this.helper.removeClass("ui-draggable-dragging");if(this.options.helper!='original'&&!this.cancelHelperRemoval)this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},plugins:{},uiHash:function(e){return{helper:this.helper,position:this.position,absolutePosition:this.positionAbs,options:this.options}},_propagate:function(n,e){$.ui.plugin.call(this,n,[e,this.uiHash()]);if(n=="drag")this.positionAbs=this._convertPositionTo("absolute");return this.element.triggerHandler(n=="drag"?n:"drag"+n,[e,this.uiHash()],this.options[n])},destroy:function(){if(!this.element.data('draggable'))return;this.element.removeData("draggable").unbind(".draggable").removeClass('ui-draggable ui-draggable-dragging ui-draggable-disabled');this._mouseDestroy()}}));$.extend($.ui.draggable,{defaults:{appendTo:"parent",axis:false,cancel:":input",delay:0,distance:1,helper:"original",scope:"default",cssNamespace:"ui"}});$.ui.plugin.add("draggable","cursor",{start:function(e,ui){var t=$('body');if(t.css("cursor"))ui.options._cursor=t.css("cursor");t.css("cursor",ui.options.cursor)},stop:function(e,ui){if(ui.options._cursor)$('body').css("cursor",ui.options._cursor)}});$.ui.plugin.add("draggable","zIndex",{start:function(e,ui){var t=$(ui.helper);if(t.css("zIndex"))ui.options._zIndex=t.css("zIndex");t.css('zIndex',ui.options.zIndex)},stop:function(e,ui){if(ui.options._zIndex)$(ui.helper).css('zIndex',ui.options._zIndex)}});$.ui.plugin.add("draggable","opacity",{start:function(e,ui){var t=$(ui.helper);if(t.css("opacity"))ui.options._opacity=t.css("opacity");t.css('opacity',ui.options.opacity)},stop:function(e,ui){if(ui.options._opacity)$(ui.helper).css('opacity',ui.options._opacity)}});$.ui.plugin.add("draggable","iframeFix",{start:function(e,ui){$(ui.options.iframeFix===true?"iframe":ui.options.iframeFix).each(function(){$('<div class="ui-draggable-iframeFix" style="background: #fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1000}).css($(this).offset()).appendTo("body")})},stop:function(e,ui){$("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});$.ui.plugin.add("draggable","scroll",{start:function(e,ui){var o=ui.options;var i=$(this).data("draggable");o.scrollSensitivity=o.scrollSensitivity||20;o.scrollSpeed=o.scrollSpeed||20;i.overflowY=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-y')))return el;el=el.parent()}while(el[0].parentNode);return $(document)}(this);i.overflowX=function(el){do{if(/auto|scroll/.test(el.css('overflow'))||(/auto|scroll/).test(el.css('overflow-x')))return el;el=el.parent()}while(el[0].parentNode);return $(document)}(this);if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML')i.overflowYOffset=i.overflowY.offset();if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML')i.overflowXOffset=i.overflowX.offset()},drag:function(e,ui){var o=ui.options,scrolled=false;var i=$(this).data("draggable");if(i.overflowY[0]!=document&&i.overflowY[0].tagName!='HTML'){if((i.overflowYOffset.top+i.overflowY[0].offsetHeight)-e.pageY<o.scrollSensitivity)i.overflowY[0].scrollTop=scrolled=i.overflowY[0].scrollTop+o.scrollSpeed;if(e.pageY-i.overflowYOffset.top<o.scrollSensitivity)i.overflowY[0].scrollTop=scrolled=i.overflowY[0].scrollTop-o.scrollSpeed}else{if(e.pageY-$(document).scrollTop()<o.scrollSensitivity)scrolled=$(document).scrollTop($(document).scrollTop()-o.scrollSpeed);if($(window).height()-(e.pageY-$(document).scrollTop())<o.scrollSensitivity)scrolled=$(document).scrollTop($(document).scrollTop()+o.scrollSpeed)}if(i.overflowX[0]!=document&&i.overflowX[0].tagName!='HTML'){if((i.overflowXOffset.left+i.overflowX[0].offsetWidth)-e.pageX<o.scrollSensitivity)i.overflowX[0].scrollLeft=scrolled=i.overflowX[0].scrollLeft+o.scrollSpeed;if(e.pageX-i.overflowXOffset.left<o.scrollSensitivity)i.overflowX[0].scrollLeft=scrolled=i.overflowX[0].scrollLeft-o.scrollSpeed}else{if(e.pageX-$(document).scrollLeft()<o.scrollSensitivity)scrolled=$(document).scrollLeft($(document).scrollLeft()-o.scrollSpeed);if($(window).width()-(e.pageX-$(document).scrollLeft())<o.scrollSensitivity)scrolled=$(document).scrollLeft($(document).scrollLeft()+o.scrollSpeed)}if(scrolled!==false)$.ui.ddmanager.prepareOffsets(i,e)}});$.ui.plugin.add("draggable","snap",{start:function(e,ui){var inst=$(this).data("draggable");inst.snapElements=[];$(ui.options.snap.constructor!=String?(ui.options.snap.items||':data(draggable)'):ui.options.snap).each(function(){var $t=$(this);var $o=$t.offset();if(this!=inst.element[0])inst.snapElements.push({item:this,width:$t.outerWidth(),height:$t.outerHeight(),top:$o.top,left:$o.left})})},drag:function(e,ui){var inst=$(this).data("draggable");var d=ui.options.snapTolerance||20;var x1=ui.absolutePosition.left,x2=x1+inst.helperProportions.width,y1=ui.absolutePosition.top,y2=y1+inst.helperProportions.height;for(var i=inst.snapElements.length-1;i>=0;i--){var l=inst.snapElements[i].left,r=l+inst.snapElements[i].width,t=inst.snapElements[i].top,b=t+inst.snapElements[i].height;if(!((l-d<x1&&x1<r+d&&t-d<y1&&y1<b+d)||(l-d<x1&&x1<r+d&&t-d<y2&&y2<b+d)||(l-d<x2&&x2<r+d&&t-d<y1&&y1<b+d)||(l-d<x2&&x2<r+d&&t-d<y2&&y2<b+d))){if(inst.snapElements[i].snapping)(inst.options.snap.release&&inst.options.snap.release.call(inst.element,null,$.extend(inst.uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=false;continue}if(ui.options.snapMode!='inner'){var ts=Math.abs(t-y2)<=d;var bs=Math.abs(b-y1)<=d;var ls=Math.abs(l-x2)<=d;var rs=Math.abs(r-x1)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t-inst.helperProportions.height,left:0}).top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b,left:0}).top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l-inst.helperProportions.width}).left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r}).left}var first=(ts||bs||ls||rs);if(ui.options.snapMode!='outer'){var ts=Math.abs(t-y1)<=d;var bs=Math.abs(b-y2)<=d;var ls=Math.abs(l-x1)<=d;var rs=Math.abs(r-x2)<=d;if(ts)ui.position.top=inst._convertPositionTo("relative",{top:t,left:0}).top;if(bs)ui.position.top=inst._convertPositionTo("relative",{top:b-inst.helperProportions.height,left:0}).top;if(ls)ui.position.left=inst._convertPositionTo("relative",{top:0,left:l}).left;if(rs)ui.position.left=inst._convertPositionTo("relative",{top:0,left:r-inst.helperProportions.width}).left}if(!inst.snapElements[i].snapping&&(ts||bs||ls||rs||first))(inst.options.snap.snap&&inst.options.snap.snap.call(inst.element,null,$.extend(inst.uiHash(),{snapItem:inst.snapElements[i].item})));inst.snapElements[i].snapping=(ts||bs||ls||rs||first)}}});$.ui.plugin.add("draggable","connectToSortable",{start:function(e,ui){var inst=$(this).data("draggable");inst.sortables=[];$(ui.options.connectToSortable).each(function(){if($.data(this,'sortable')){var sortable=$.data(this,'sortable');inst.sortables.push({instance:sortable,shouldRevert:sortable.options.revert});sortable._refreshItems();sortable._propagate("activate",e,inst)}})},stop:function(e,ui){var inst=$(this).data("draggable");$.each(inst.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;inst.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(e);this.instance.element.triggerHandler("sortreceive",[e,$.extend(this.instance.ui(),{sender:inst.element})],this.instance.options["receive"]);this.instance.options.helper=this.instance.options._helper}else{this.instance._propagate("deactivate",e,inst)}})},drag:function(e,ui){var inst=$(this).data("draggable"),self=this;var checkPos=function(o){var l=o.left,r=l+o.width,t=o.top,b=t+o.height;return(l<(this.positionAbs.left+this.offset.click.left)&&(this.positionAbs.left+this.offset.click.left)<r&&t<(this.positionAbs.top+this.offset.click.top)&&(this.positionAbs.top+this.offset.click.top)<b)};$.each(inst.sortables,function(i){if(checkPos.call(inst,this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=$(self).clone().appendTo(this.instance.element).data("sortable-item",true);this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return ui.helper[0]};e.target=this.instance.currentItem[0];this.instance._mouseCapture(e,true);this.instance._mouseStart(e,true,true);this.instance.offset.click.top=inst.offset.click.top;this.instance.offset.click.left=inst.offset.click.left;this.instance.offset.parent.left-=inst.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=inst.offset.parent.top-this.instance.offset.parent.top;inst._propagate("toSortable",e)}if(this.instance.currentItem)this.instance._mouseDrag(e)}else{if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._mouseStop(e,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();if(this.instance.placeholder)this.instance.placeholder.remove();inst._propagate("fromSortable",e)}}})}});$.ui.plugin.add("draggable","stack",{start:function(e,ui){var group=$.makeArray($(ui.options.stack.group)).sort(function(a,b){return(parseInt($(a).css("zIndex"),10)||ui.options.stack.min)-(parseInt($(b).css("zIndex"),10)||ui.options.stack.min)});$(group).each(function(i){this.style.zIndex=ui.options.stack.min+i});this[0].style.zIndex=ui.options.stack.min+group.length}})})(jQuery);(function($){$.widget("ui.droppable",{_setData:function(key,value){if(key=='accept'){this.options.accept=value&&$.isFunction(value)?value:function(d){return d.is(accept)}}else{$.widget.prototype._setData.apply(this,arguments)}},_init:function(){var o=this.options,accept=o.accept;this.isover=0;this.isout=1;this.options.accept=this.options.accept&&$.isFunction(this.options.accept)?this.options.accept:function(d){return d.is(accept)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};$.ui.ddmanager.droppables[this.options.scope]=$.ui.ddmanager.droppables[this.options.scope]||[];$.ui.ddmanager.droppables[this.options.scope].push(this);(this.options.cssNamespace&&this.element.addClass(this.options.cssNamespace+"-droppable"))},plugins:{},ui:function(c){return{draggable:(c.currentItem||c.element),helper:c.helper,position:c.position,absolutePosition:c.positionAbs,options:this.options,element:this.element}},destroy:function(){var drop=$.ui.ddmanager.droppables[this.options.scope];for(var i=0;i<drop.length;i++)if(drop[i]==this)drop.splice(i,1);this.element.removeClass("ui-droppable-disabled").removeData("droppable").unbind(".droppable")},_over:function(e){var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){$.ui.plugin.call(this,'over',[e,this.ui(draggable)]);this.element.triggerHandler("dropover",[e,this.ui(draggable)],this.options.over)}},_out:function(e){var draggable=$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){$.ui.plugin.call(this,'out',[e,this.ui(draggable)]);this.element.triggerHandler("dropout",[e,this.ui(draggable)],this.options.out)}},_drop:function(e,custom){var draggable=custom||$.ui.ddmanager.current;if(!draggable||(draggable.currentItem||draggable.element)[0]==this.element[0])return false;var childrenIntersection=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var inst=$.data(this,'droppable');if(inst.options.greedy&&$.ui.intersect(draggable,$.extend(inst,{offset:inst.element.offset()}),inst.options.tolerance)){childrenIntersection=true;return false}});if(childrenIntersection)return false;if(this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){$.ui.plugin.call(this,'drop',[e,this.ui(draggable)]);this.element.triggerHandler("drop",[e,this.ui(draggable)],this.options.drop);return this.element}return false},_activate:function(e){var draggable=$.ui.ddmanager.current;$.ui.plugin.call(this,'activate',[e,this.ui(draggable)]);if(draggable)this.element.triggerHandler("dropactivate",[e,this.ui(draggable)],this.options.activate)},_deactivate:function(e){var draggable=$.ui.ddmanager.current;$.ui.plugin.call(this,'deactivate',[e,this.ui(draggable)]);if(draggable)this.element.triggerHandler("dropdeactivate",[e,this.ui(draggable)],this.options.deactivate)}});$.extend($.ui.droppable,{defaults:{disabled:false,tolerance:'intersect',scope:'default',cssNamespace:'ui'}});$.ui.intersect=function(draggable,droppable,toleranceMode){if(!droppable.offset)return false;var x1=(draggable.positionAbs||draggable.position.absolute).left,x2=x1+draggable.helperProportions.width,y1=(draggable.positionAbs||draggable.position.absolute).top,y2=y1+draggable.helperProportions.height;var l=droppable.offset.left,r=l+droppable.proportions.width,t=droppable.offset.top,b=t+droppable.proportions.height;switch(toleranceMode){case'fit':return(l<x1&&x2<r&&t<y1&&y2<b);break;case'intersect':return(l<x1+(draggable.helperProportions.width/2) &&x2-(draggable.helperProportions.width/2)<r &&t<y1+(draggable.helperProportions.height/2) &&y2-(draggable.helperProportions.height/2)<b); break;case'pointer':return(l<((draggable.positionAbs||draggable.position.absolute).left+(draggable.clickOffset||draggable.offset.click).left)&&((draggable.positionAbs||draggable.position.absolute).left+(draggable.clickOffset||draggable.offset.click).left)<r&&t<((draggable.positionAbs||draggable.position.absolute).top+(draggable.clickOffset||draggable.offset.click).top)&&((draggable.positionAbs||draggable.position.absolute).top+(draggable.clickOffset||draggable.offset.click).top)<b);break;case'touch':return((y1>=t&&y1<=b)||(y2>=t&&y2<=b)||(y1<t&&y2>b))&&((x1>=l&&x1<=r)||(x2>=l&&x2<=r)||(x1<l&&x2>r));break;default:return false;break}};$.ui.ddmanager={current:null,droppables:{'default':[]},prepareOffsets:function(t,e){var m=$.ui.ddmanager.droppables[t.options.scope];var type=e?e.type:null;var list=(t.currentItem||t.element).find(":data(droppable)").andSelf();droppablesLoop:for(var i=0;i<m.length;i++){if(m[i].options.disabled||(t&&!m[i].options.accept.call(m[i].element,(t.currentItem||t.element))))continue;for(var j=0;j<list.length;j++){if(list[j]==m[i].element[0]){m[i].proportions.height=0;continue droppablesLoop}};m[i].visible=m[i].element.css("display")!="none";if(!m[i].visible)continue;m[i].offset=m[i].element.offset();m[i].proportions={width:m[i].element[0].offsetWidth,height:m[i].element[0].offsetHeight};if(type=="dragstart"||type=="sortactivate")m[i]._activate.call(m[i],e)}},drop:function(draggable,e){var dropped=false;$.each($.ui.ddmanager.droppables[draggable.options.scope],function(){if(!this.options)return;if(!this.options.disabled&&this.visible&&$.ui.intersect(draggable,this,this.options.tolerance))dropped=this._drop.call(this,e);if(!this.options.disabled&&this.visible&&this.options.accept.call(this.element,(draggable.currentItem||draggable.element))){this.isout=1;this.isover=0;this._deactivate.call(this,e)}});return dropped},drag:function(draggable,e){if(draggable.options.refreshPositions)$.ui.ddmanager.prepareOffsets(draggable,e);$.each($.ui.ddmanager.droppables[draggable.options.scope],function(){if(this.options.disabled||this.greedyChild||!this.visible)return;var intersects=$.ui.intersect(draggable,this,this.options.tolerance);var c=!intersects&&this.isover==1?'isout':(intersects&&this.isover==0?'isover':null);if(!c)return;var parentInstance;if(this.options.greedy){var parent=this.element.parents(':data(droppable):eq(0)');if(parent.length){parentInstance=$.data(parent[0],'droppable');parentInstance.greedyChild=(c=='isover'?1:0)}}if(parentInstance&&c=='isover'){parentInstance['isover']=0;parentInstance['isout']=1;parentInstance._out.call(parentInstance,e)}this[c]=1;this[c=='isout'?'isover':'isout']=0;this[c=="isover"?"_over":"_out"].call(this,e);if(parentInstance&&c=='isout'){parentInstance['isout']=0;parentInstance['isover']=1;parentInstance._over.call(parentInstance,e)}})}};$.ui.plugin.add("droppable","activeClass",{activate:function(e,ui){$(this).addClass(ui.options.activeClass)},deactivate:function(e,ui){$(this).removeClass(ui.options.activeClass)},drop:function(e,ui){$(this).removeClass(ui.options.activeClass)}});$.ui.plugin.add("droppable","hoverClass",{over:function(e,ui){$(this).addClass(ui.options.hoverClass)},out:function(e,ui){$(this).removeClass(ui.options.hoverClass)},drop:function(e,ui){$(this).removeClass(ui.options.hoverClass)}})})(jQuery);(function($){$.widget("ui.tabs",{_init:function(){this.options.event+='.tabs';this._tabify(true)},_setData:function(key,value){if((/^selected/).test(key))this.select(value);else{this.options[key]=value;this._tabify()}},length:function(){return this.$tabs.length},_tabId:function(a){return a.title&&a.title.replace(/\s/g,'_').replace(/[^A-Za-z0-9\-_:\.]/g,'')||this.options.idPrefix+$.data(a)},ui:function(tab,panel){return{options:this.options,tab:tab,panel:panel,index:this.$tabs.index(tab)}},_tabify:function(init){this.$lis=$('li:has(a[href])',this.element);this.$tabs=this.$lis.map(function(){return $('a',this)[0]});this.$panels=$([]);var self=this,o=this.options;this.$tabs.each(function(i,a){if(a.hash&&a.hash.replace('#',''))self.$panels=self.$panels.add(a.hash);else if($(a).attr('href')!='#'){$.data(a,'href.tabs',a.href);$.data(a,'load.tabs',a.href);var id=self._tabId(a);a.href='#'+id;var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.panelClass).insertAfter(self.$panels[i-1]||self.element);$panel.data('destroy.tabs',true)}self.$panels=self.$panels.add($panel)}else o.disabled.push(i+1)});if(init){this.element.addClass(o.navClass);this.$panels.each(function(){var $this=$(this);$this.addClass(o.panelClass)});if(o.selected===undefined){if(location.hash){this.$tabs.each(function(i,a){if(a.hash==location.hash){o.selected=i;if($.browser.msie||$.browser.opera){var $toShow=$(location.hash),toShowId=$toShow.attr('id');$toShow.attr('id','');setTimeout(function(){$toShow.attr('id',toShowId)},500)}scrollTo(0,0);return false}})}else if(o.cookie){var index=parseInt($.cookie('ui-tabs-'+$.data(self.element[0])),10);if(index&&self.$tabs[index])o.selected=index}else if(self.$lis.filter('.'+o.selectedClass).length)o.selected=self.$lis.index(self.$lis.filter('.'+o.selectedClass)[0])}o.selected=o.selected===null||o.selected!==undefined?o.selected:0;o.disabled=$.unique(o.disabled.concat($.map(this.$lis.filter('.'+o.disabledClass),function(n,i){return self.$lis.index(n)}))).sort();if($.inArray(o.selected,o.disabled)!=-1)o.disabled.splice($.inArray(o.selected,o.disabled),1);this.$panels.addClass(o.hideClass);this.$lis.removeClass(o.selectedClass);if(o.selected!==null){this.$panels.eq(o.selected).show().removeClass(o.hideClass);this.$lis.eq(o.selected).addClass(o.selectedClass);var onShow=function(){self._trigger('show',null,self.ui(self.$tabs[o.selected],self.$panels[o.selected]))};if($.data(this.$tabs[o.selected],'load.tabs'))this.load(o.selected,onShow);else onShow()}$(window).bind('unload',function(){self.$tabs.unbind('.tabs');self.$lis=self.$tabs=self.$panels=null})}else o.selected=this.$lis.index(this.$lis.filter('.'+o.selectedClass)[0]);if(o.cookie)$.cookie('ui-tabs-'+$.data(self.element[0]),o.selected,o.cookie);for(var i=0,li;li=this.$lis[i];i++)$(li)[$.inArray(i,o.disabled)!=-1&&!$(li).hasClass(o.selectedClass)?'addClass':'removeClass'](o.disabledClass);if(o.cache===false)this.$tabs.removeData('cache.tabs');var hideFx,showFx,baseFx={'min-width':0,duration:1},baseDuration='normal';if(o.fx&&o.fx.constructor==Array)hideFx=o.fx[0]||baseFx,showFx=o.fx[1]||baseFx;else hideFx=showFx=o.fx||baseFx;var resetCSS={display:'',overflow:'',height:''};if(!$.browser.msie)resetCSS.opacity='';function hideTab(clicked,$hide,$show){$hide.animate(hideFx,hideFx.duration||baseDuration,function(){$hide.addClass(o.hideClass).css(resetCSS);if($.browser.msie&&hideFx.opacity)$hide[0].style.filter='';if($show)showTab(clicked,$show,$hide)})}function showTab(clicked,$show,$hide){if(showFx===baseFx)$show.css('display','block');$show.animate(showFx,showFx.duration||baseDuration,function(){$show.removeClass(o.hideClass).css(resetCSS);if($.browser.msie&&showFx.opacity)$show[0].style.filter='';self._trigger('show',null,self.ui(clicked,$show[0]))})}function switchTab(clicked,$li,$hide,$show){$li.addClass(o.selectedClass).siblings().removeClass(o.selectedClass);hideTab(clicked,$hide,$show)}this.$tabs.unbind('.tabs').bind(o.event,function(){var $li=$(this).parents('li:eq(0)'),$hide=self.$panels.filter(':visible'),$show=$(this.hash);if(($li.hasClass(o.selectedClass)&&!o.unselect)||$li.hasClass(o.disabledClass)||$(this).hasClass(o.loadingClass)||self._trigger('select',null,self.ui(this,$show[0]))===false){this.blur();return false}self.options.selected=self.$tabs.index(this);if(o.unselect){if($li.hasClass(o.selectedClass)){self.options.selected=null;$li.removeClass(o.selectedClass);self.$panels.stop();hideTab(this,$hide);this.blur();return false}else if(!$hide.length){self.$panels.stop();var a=this;self.load(self.$tabs.index(this),function(){$li.addClass(o.selectedClass).addClass(o.unselectClass);showTab(a,$show)});this.blur();return false}}if(o.cookie)$.cookie('ui-tabs-'+$.data(self.element[0]),self.options.selected,o.cookie);self.$panels.stop();if($show.length){var a=this;self.load(self.$tabs.index(this),$hide.length?function(){switchTab(a,$li,$hide,$show)}:function(){$li.addClass(o.selectedClass);showTab(a,$show)})}else throw'jQuery UI Tabs: Mismatching fragment identifier.';if($.browser.msie)this.blur();return false});if(!(/^click/).test(o.event))this.$tabs.bind('click.tabs',function(){return false})},add:function(url,label,index){if(index==undefined)index=this.$tabs.length;var o=this.options;var $li=$(o.tabTemplate.replace(/#\{href\}/g,url).replace(/#\{label\}/g,label));$li.data('destroy.tabs',true);var id=url.indexOf('#')==0?url.replace('#',''):this._tabId($('a:first-child',$li)[0]);var $panel=$('#'+id);if(!$panel.length){$panel=$(o.panelTemplate).attr('id',id).addClass(o.hideClass).data('destroy.tabs',true)}$panel.addClass(o.panelClass);if(index>=this.$lis.length){$li.appendTo(this.element);$panel.appendTo(this.element[0].parentNode)}else{$li.insertBefore(this.$lis[index]);$panel.insertBefore(this.$panels[index])}o.disabled=$.map(o.disabled,function(n,i){return n>=index?++n:n});this._tabify();if(this.$tabs.length==1){$li.addClass(o.selectedClass);$panel.removeClass(o.hideClass);var href=$.data(this.$tabs[0],'load.tabs');if(href)this.load(index,href)}this._trigger('add',null,this.ui(this.$tabs[index],this.$panels[index]))},remove:function(index){var o=this.options,$li=this.$lis.eq(index).remove(),$panel=this.$panels.eq(index).remove();if($li.hasClass(o.selectedClass)&&this.$tabs.length>1)this.select(index+(index+1<this.$tabs.length?1:-1));o.disabled=$.map($.grep(o.disabled,function(n,i){return n!=index}),function(n,i){return n>=index?--n:n});this._tabify();this._trigger('remove',null,this.ui($li.find('a')[0],$panel[0]))},enable:function(index){var o=this.options;if($.inArray(index,o.disabled)==-1)return;var $li=this.$lis.eq(index).removeClass(o.disabledClass);if($.browser.safari){$li.css('display','inline-block');setTimeout(function(){$li.css('display','block')},0)}o.disabled=$.grep(o.disabled,function(n,i){return n!=index});this._trigger('enable',null,this.ui(this.$tabs[index],this.$panels[index]))},disable:function(index){var self=this,o=this.options;if(index!=o.selected){this.$lis.eq(index).addClass(o.disabledClass);o.disabled.push(index);o.disabled.sort();this._trigger('disable',null,this.ui(this.$tabs[index],this.$panels[index]))}},select:function(index){if(typeof index=='string')index=this.$tabs.index(this.$tabs.filter('[href$='+index+']')[0]);this.$tabs.eq(index).trigger(this.options.event)},load:function(index,callback){var self=this,o=this.options,$a=this.$tabs.eq(index),a=$a[0],bypassCache=callback==undefined||callback===false,url=$a.data('load.tabs');callback=callback||function(){};if(!url||!bypassCache&&$.data(a,'cache.tabs')){callback();return}var inner=function(parent){var $parent=$(parent),$inner=$parent.find('*:last');return $inner.length&&$inner.is(':not(img)')&&$inner||$parent};var cleanup=function(){self.$tabs.filter('.'+o.loadingClass).removeClass(o.loadingClass).each(function(){if(o.spinner)inner(this).parent().html(inner(this).data('label.tabs'))});self.xhr=null};if(o.spinner){var label=inner(a).html();inner(a).wrapInner('<em></em>').find('em').data('label.tabs',label).html(o.spinner)}var ajaxOptions=$.extend({},o.ajaxOptions,{url:url,success:function(r,s){$(a.hash).html(r);cleanup();if(o.cache)$.data(a,'cache.tabs',true);self._trigger('load',null,self.ui(self.$tabs[index],self.$panels[index]));o.ajaxOptions.success&&o.ajaxOptions.success(r,s);callback()}});if(this.xhr){this.xhr.abort();cleanup()}$a.addClass(o.loadingClass);setTimeout(function(){self.xhr=$.ajax(ajaxOptions)},0)},url:function(index,url){this.$tabs.eq(index).removeData('cache.tabs').data('load.tabs',url)},destroy:function(){var o=this.options;this.element.unbind('.tabs').removeClass(o.navClass).removeData('tabs');this.$tabs.each(function(){var href=$.data(this,'href.tabs');if(href)this.href=href;var $this=$(this).unbind('.tabs');$.each(['href','load','cache'],function(i,prefix){$this.removeData(prefix+'.tabs')})});this.$lis.add(this.$panels).each(function(){if($.data(this,'destroy.tabs'))$(this).remove();else $(this).removeClass([o.selectedClass,o.unselectClass,o.disabledClass,o.panelClass,o.hideClass].join(' '))})}});$.ui.tabs.defaults={unselect:false,event:'click',disabled:[],cookie:null,spinner:'Loading&#8230;',cache:false,idPrefix:'ui-tabs-',ajaxOptions:{},fx:null,tabTemplate:'<li><a href="#{href}"><span>#{label}</span></a></li>',panelTemplate:'<div></div>',navClass:'ui-tabs-nav',selectedClass:'ui-tabs-selected',unselectClass:'ui-tabs-unselect',disabledClass:'ui-tabs-disabled',panelClass:'ui-tabs-panel',hideClass:'ui-tabs-hide',loadingClass:'ui-tabs-loading'};$.ui.tabs.getter="length";$.extend($.ui.tabs.prototype,{rotation:null,rotate:function(ms,continuing){continuing=continuing||false;var self=this,t=this.options.selected;function start(){self.rotation=setInterval(function(){t=++t<self.$tabs.length?t:0;self.select(t)},ms)}function stop(e){if(!e||e.clientX){clearInterval(self.rotation)}}if(ms){start();if(!continuing)this.$tabs.bind(this.options.event,stop);else this.$tabs.bind(this.options.event,function(){stop();t=self.options.selected;start()})}else{stop();this.$tabs.unbind(this.options.event,stop)}}})})(jQuery);
− data/static/js/jquery-ui.packed.js
@@ -1,1 +0,0 @@-eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(6(D){b A=D.4e.1B;D.4e.1B=6(){D("*",4).1j(4).21("1B");d A.2W(4,4g)};6 C(E){6 G(H){b I=H.24;d(I.2G!="3I"&&I.6g!="3F")}b F=G(E);(F&&D.1c(D.6m(E,"1X"),6(){d(F=G(4))}));d F}D.1x(D.6e[":"],{p:6(F,G,E){d D.p(F,E[3])},6v:6(F,G,E){b H=F.62.61();d(F.64>=0&&(("a"==H&&F.1q)||(/5A|2L|67|5B/.18(H)&&"3F"!=F.4R&&!F.v))&&C(F))}});D.6U={6w:8,6S:20,6X:6Z,6C:17,6D:46,6x:40,75:35,6Y:13,6V:27,76:36,6t:45,68:37,69:6c,65:6b,6s:6i,6r:6y,5Z:60,6o:6u,6n:34,6l:33,6q:6k,6f:39,6h:16,63:32,5Y:9,6d:38};6 B(I,E,J,H){6 G(L){b K=D[I][E][L]||[];d(2T K=="2S"?K.4f(/,?\\s+/):K)}b F=G("5m");5(H.X==1&&2T H[0]=="2S"){F=F.5l(G("5P"))}d(D.3q(J,F)!=-1)}D.2g=6(E,F){b G=E.4f(".")[0];E=E.4f(".")[1];D.4e[E]=6(K){b I=(2T K=="2S"),J=5f.2y.6a.12(4g,1);5(I&&K.6W(0,1)=="4Q"){d 4}5(I&&B(G,E,K,J)){b H=D.p(4[0],E);d(H?H[K].2W(H,J):1Q)}d 4.1c(6(){b L=D.p(4,E);(!L&&!I&&D.p(4,E,6T D[G][E](4,K)));(L&&I&&D.3s(L[K])&&L[K].2W(L,J))})};D[G][E]=6(I,J){b H=4;4.2v=E;4.4N=D[G][E].6Q||E;4.5J=G+"-"+E;4.7=D.1x({},D.2g.2B,D[G][E].2B,D.5T&&D.5T.4a(I)[E],J);4.k=D(I).1A("74."+E,6(M,K,L){d H.2j(K,L)}).1A("71."+E,6(L,K){d H.4k(K)}).1A("1B",6(){d H.2f()});4.3f()};D[G][E].2y=D.1x({},D.2g.2y,F);D[G][E].5P="5O"};D.2g.2y={3f:6(){},2f:6(){4.k.2E(4.2v)},5O:6(G,H){b F=G,E=4;5(2T G=="2S"){5(H===1Q){d 4.4k(G)}F={};F[G]=H}D.1c(F,6(I,J){E.2j(I,J)})},4k:6(E){d 4.7[E]},2j:6(E,F){4.7[E]=F;5(E=="v"){4.k[F?"Z":"1f"](4.5J+"-v")}},4j:6(){4.2j("v",o)},4m:6(){4.2j("v",Y)},2b:6(F,H,G){b E=(F==4.4N?F:4.4N+F);H=H||D.2h.6E({4R:E,30:4.k[0]});d 4.k.21(E,[H,G],4.7[F])}};D.2g.2B={v:o};D.c={1k:{1j:6(F,E,I){b H=D.c[F].2y;2A(b G 6z I){H.2Y[G]=H.2Y[G]||[];H.2Y[G].2U([E,I[G]])}},12:6(E,G,F){b I=E.2Y[G];5(!I){d}2A(b H=0;H<I.X;H++){5(E.7[I[H][0]]){I[H][1].2W(E.k,F)}}}},3e:{},n:6(E){5(D.c.3e[E]){d D.c.3e[E]}b F=D(\'<2V 56="c-6F">\').Z(E).n({w:"1p",j:"-5W",h:"-5W",2G:"44"}).1Y("1y");D.c.3e[E]=!!((!(/2i|3r/).18(F.n("2D"))||(/^[1-9]/).18(F.n("19"))||(/^[1-9]/).18(F.n("1d"))||!(/3I/).18(F.n("6K"))||!(/6H|6I\\(0, 0, 0, 0\\)/).18(F.n("6R"))));6J{D("1y").4a(0).52(F.4a(0))}6L(G){}d D.c.3e[E]},6N:6(E){d D(E).1J("3c","5k").n("5j","3I").1A("5h.c",6(){d o})},6M:6(E){d D(E).1J("3c","6G").n("5j","").1D("5h.c")},6A:6(H,E){5(D(H).n("1F")=="3F"){d o}b G=(E&&E=="h")?"1n":"1m",F=o;5(H[G]>0){d Y}H[G]=1;F=(H[G]>0);H[G]=0;d F}};D.c.4q={5r:6(){b E=4;4.k.1A("6B."+4.2v,6(F){d E.53(F)});5(D.1I.2k){4.4Z=4.k.1J("3c");4.k.1J("3c","5k")}4.6P=o},5y:6(){4.k.1D("."+4.2v);(D.1I.2k&&4.k.1J("3c",4.4Z))},53:6(G){(4.28&&4.3i(G));4.3J=G;b E=4,H=(G.70==1),F=(2T 4.7.3S=="2S"?D(G.30).3X().1j(G.30).1S(4.7.3S).X:o);5(!H||F||!4.3G(G)){d Y}4.3K=!4.7.3x;5(!4.3K){4.72=3U(6(){E.3K=Y},4.7.3x)}5(4.4B(G)&&4.4A(G)){4.28=(4.3j(G)!==o);5(!4.28){G.73();d Y}}4.4K=6(I){d E.55(I)};4.4I=6(I){d E.3i(I)};D(u).1A("5F."+4.2v,4.4K).1A("5w."+4.2v,4.4I);d o},55:6(E){5(D.1I.2k&&!E.5B){d 4.3i(E)}5(4.28){4.2X(E);d o}5(4.4B(E)&&4.4A(E)){4.28=(4.3j(4.3J,E)!==o);(4.28?4.2X(E):4.3i(E))}d!4.28},3i:6(E){D(u).1D("5F."+4.2v,4.4K).1D("5w."+4.2v,4.4I);5(4.28){4.28=o;4.3p(E)}d o},4B:6(E){d(1o.4y(1o.1R(4.3J.2u-E.2u),1o.1R(4.3J.2m-E.2m))>=4.7.4G)},4A:6(E){d 4.3K},3j:6(E){},2X:6(E){},3p:6(E){},3G:6(E){d Y}};D.c.4q.2B={3S:15,4G:1,3x:0}})(3b);(6(A){A.2g("c.z",A.1x({},A.c.4q,{5H:6(C){b B=!4.7.2H||!A(4.7.2H,4.k).X?Y:o;A(4.7.2H,4.k).2Z("*").5K().1c(6(){5(4==C.30){B=Y}});d B},5a:6(){b C=4.7;b B=A.3s(C.t)?A(C.t.2W(4.k[0],[e])):(C.t=="4l"?4.k.4l():4.k);5(!B.3X("1y").X){B.1Y((C.1Y=="V"?4.k[0].1X:C.1Y))}5(B[0]!=4.k[0]&&!(/(26|1p)/).18(B.n("w"))){B.n("w","1p")}d B},3f:6(){5(4.7.t=="4C"&&!(/^(?:r|a|f)/).18(4.k.n("w"))){4.k[0].24.w="11"}(4.7.2O&&4.k.Z(4.7.2O+"-z"));(4.7.v&&4.k.Z("c-z-v"));4.5r()},3G:6(B){b C=4.7;5(4.t||C.v||A(B.30).3W(".c-6j-2H")){d o}4.2H=4.5H(B);5(!4.2H){d o}d Y},3j:6(D){b E=4.7;4.t=4.5a();5(A.c.14){A.c.14.2C=4}4.1w={h:(1i(4.k.n("66"),10)||0),j:(1i(4.k.n("6O"),10)||0)};4.1C=4.t.n("w");4.m=4.k.m();4.m={j:4.m.j-4.1w.j,h:4.m.h-4.1w.h};4.m.1a={h:D.2u-4.m.h,j:D.2m-4.m.j};4.5e();4.1U=4.t.1U();b B=4.1U.m();5(4.1U[0]==u.1y&&A.1I.7q){B={j:0,h:0}}4.m.V={j:B.j+(1i(4.1U.n("4z"),10)||0),h:B.h+(1i(4.1U.n("4x"),10)||0)};5(4.1C=="11"){b C=4.k.w();4.m.11={j:C.j-(1i(4.t.n("j"),10)||0)+4.2p.1m(),h:C.h-(1i(4.t.n("h"),10)||0)+4.2n.1n()}}1e{4.m.11={j:0,h:0}}4.2w=4.4J(D);4.4w();5(E.5d){4.57(E.5d)}A.1x(4,{4v:(4.1C=="1p"&&(!4.2p[0].1V||(/(2o|1y)/i).18(4.2p[0].1V))),4r:(4.1C=="1p"&&(!4.2n[0].1V||(/(2o|1y)/i).18(4.2n[0].1V))),4u:4.2p[0]!=4.1U[0]&&!(4.2p[0]==u&&(/(1y|2o)/i).18(4.1U[0].1V)),4s:4.2n[0]!=4.1U[0]&&!(4.2n[0]==u&&(/(1y|2o)/i).18(4.1U[0].1V))});5(E.U){4.5s()}4.23("22",D);4.4w();5(A.c.14&&!E.5E){A.c.14.3P(4,D)}4.t.Z("c-z-3E");4.2X(D);d Y},5e:6(){4.2p=6(B){3A{5(/2i|2c/.18(B.n("1F"))||(/2i|2c/).18(B.n("1F-y"))){d B}B=B.V()}3w(B[0].1X);d A(u)}(4.t);4.2n=6(B){3A{5(/2i|2c/.18(B.n("1F"))||(/2i|2c/).18(B.n("1F-x"))){d B}B=B.V()}3w(B[0].1X);d A(u)}(4.t)},57:6(B){5(B.h!=1Q){4.m.1a.h=B.h+4.1w.h}5(B.5n!=1Q){4.m.1a.h=4.1h.1d-B.5n+4.1w.h}5(B.j!=1Q){4.m.1a.j=B.j+4.1w.j}5(B.5q!=1Q){4.m.1a.j=4.1h.19-B.5q+4.1w.j}},4w:6(){4.1h={1d:4.t.5b(),19:4.t.5c()}},5s:6(){b E=4.7;5(E.U=="V"){E.U=4.t[0].1X}5(E.U=="u"||E.U=="2x"){4.U=[0-4.m.11.h-4.m.V.h,0-4.m.11.j-4.m.V.j,A(E.U=="u"?u:2x).1d()-4.m.11.h-4.m.V.h-4.1h.1d-4.1w.h-(1i(4.k.n("5t"),10)||0),(A(E.U=="u"?u:2x).19()||u.1y.1X.5u)-4.m.11.j-4.m.V.j-4.1h.19-4.1w.j-(1i(4.k.n("5v"),10)||0)]}5(!(/^(u|2x|V)$/).18(E.U)){b C=A(E.U)[0];b D=A(E.U).m();b B=(A(C).n("1F")!="3F");4.U=[D.h+(1i(A(C).n("4x"),10)||0)-4.m.11.h-4.m.V.h,D.j+(1i(A(C).n("4z"),10)||0)-4.m.11.j-4.m.V.j,D.h+(B?1o.4y(C.82,C.2K):C.2K)-(1i(A(C).n("4x"),10)||0)-4.m.11.h-4.m.V.h-4.1h.1d-4.1w.h-(1i(4.k.n("5t"),10)||0),D.j+(B?1o.4y(C.5u,C.2N):C.2N)-(1i(A(C).n("4z"),10)||0)-4.m.11.j-4.m.V.j-4.1h.19-4.1w.j-(1i(4.k.n("5v"),10)||0)]}},1L:6(C,D){5(!D){D=4.w}b B=C=="1p"?1:-1;d{j:(D.j+4.m.11.j*B+4.m.V.j*B-(4.1C=="26"||4.4v||4.4u?0:4.2p.1m())*B+(4.1C=="26"?A(u).1m():0)*B+4.1w.j*B),h:(D.h+4.m.11.h*B+4.m.V.h*B-(4.1C=="26"||4.4r||4.4s?0:4.2n.1n())*B+(4.1C=="26"?A(u).1n():0)*B+4.1w.h*B)}},4J:6(E){b F=4.7;b B={j:(E.2m-4.m.1a.j-4.m.11.j-4.m.V.j+(4.1C=="26"||4.4v||4.4u?0:4.2p.1m())-(4.1C=="26"?A(u).1m():0)),h:(E.2u-4.m.1a.h-4.m.11.h-4.m.V.h+(4.1C=="26"||4.4r||4.4s?0:4.2n.1n())-(4.1C=="26"?A(u).1n():0))};5(!4.2w){d B}5(4.U){5(B.h<4.U[0]){B.h=4.U[0]}5(B.j<4.U[1]){B.j=4.U[1]}5(B.h>4.U[2]){B.h=4.U[2]}5(B.j>4.U[3]){B.j=4.U[3]}}5(F.1Z){b D=4.2w.j+1o.5o((B.j-4.2w.j)/F.1Z[1])*F.1Z[1];B.j=4.U?(!(D<4.U[1]||D>4.U[3])?D:(!(D<4.U[1])?D-F.1Z[1]:D+F.1Z[1])):D;b C=4.2w.h+1o.5o((B.h-4.2w.h)/F.1Z[0])*F.1Z[0];B.h=4.U?(!(C<4.U[0]||C>4.U[2])?C:(!(C<4.U[0])?C-F.1Z[0]:C+F.1Z[0])):C}d B},2X:6(B){4.w=4.4J(B);4.1s=4.1L("1p");4.w=4.23("2a",B)||4.w;5(!4.7.3g||4.7.3g!="y"){4.t[0].24.h=4.w.h+"3v"}5(!4.7.3g||4.7.3g!="x"){4.t[0].24.j=4.w.j+"3v"}5(A.c.14){A.c.14.2a(4,B)}d o},3p:6(C){b D=o;5(A.c.14&&!4.7.5E){b D=A.c.14.2F(4,C)}5((4.7.2q=="81"&&!D)||(4.7.2q=="80"&&D)||4.7.2q===Y||(A.3s(4.7.2q)&&4.7.2q.12(4.k,D))){b B=4;A(4.t).4U(4.2w,1i(4.7.77,10)||5z,6(){B.23("1W",C);B.4L()})}1e{4.23("1W",C);4.4L()}d o},4L:6(){4.t.1f("c-z-3E");5(4.7.t!="4C"&&!4.3m){4.t.1B()}4.t=15;4.3m=o},2Y:{},3k:6(B){d{t:4.t,w:4.w,3T:4.1s,7:4.7}},23:6(C,B){A.c.1k.12(4,C,[B,4.3k()]);5(C=="2a"){4.1s=4.1L("1p")}d 4.k.21(C=="2a"?C:"2a"+C,[B,4.3k()],4.7[C])},2f:6(){5(!4.k.p("z")){d}4.k.2E("z").1D(".z").1f("c-z c-z-3E c-z-v");4.5y()}}));A.1x(A.c.z,{2B:{1Y:"V",3g:o,3S:":5A",3x:0,4G:1,t:"4C",2d:"3r",2O:"c"}});A.c.1k.1j("z","2D",{22:6(D,C){b B=A("1y");5(B.n("2D")){C.7.4E=B.n("2D")}B.n("2D",C.7.2D)},1W:6(C,B){5(B.7.4E){A("1y").n("2D",B.7.4E)}}});A.c.1k.1j("z","1K",{22:6(D,C){b B=A(C.t);5(B.n("1K")){C.7.4F=B.n("1K")}B.n("1K",C.7.1K)},1W:6(C,B){5(B.7.4F){A(B.t).n("1K",B.7.4F)}}});A.c.1k.1j("z","1O",{22:6(D,C){b B=A(C.t);5(B.n("1O")){C.7.4M=B.n("1O")}B.n("1O",C.7.1O)},1W:6(C,B){5(B.7.4M){A(B.t).n("1O",B.7.4M)}}});A.c.1k.1j("z","3d",{22:6(C,B){A(B.7.3d===Y?"7V":B.7.3d).1c(6(){A(\'<2V 56="c-z-3d" 24="7U: #7T;"></2V>\').n({1d:4.2K+"3v",19:4.2N+"3v",w:"1p",1O:"0.7W",1K:7X}).n(A(4).m()).1Y("1y")})},1W:6(C,B){A("2V.c-z-3d").1c(6(){4.1X.52(4)})}});A.c.1k.1j("z","2c",{22:6(D,C){b E=C.7;b B=A(4).p("z");E.1N=E.1N||20;E.1P=E.1P||20;B.1H=6(F){3A{5(/2i|2c/.18(F.n("1F"))||(/2i|2c/).18(F.n("1F-y"))){d F}F=F.V()}3w(F[0].1X);d A(u)}(4);B.1M=6(F){3A{5(/2i|2c/.18(F.n("1F"))||(/2i|2c/).18(F.n("1F-x"))){d F}F=F.V()}3w(F[0].1X);d A(u)}(4);5(B.1H[0]!=u&&B.1H[0].1V!="3y"){B.4c=B.1H.m()}5(B.1M[0]!=u&&B.1M[0].1V!="3y"){B.4b=B.1M.m()}},2a:6(E,D){b F=D.7,C=o;b B=A(4).p("z");5(B.1H[0]!=u&&B.1H[0].1V!="3y"){5((B.4c.j+B.1H[0].2N)-E.2m<F.1N){B.1H[0].1m=C=B.1H[0].1m+F.1P}5(E.2m-B.4c.j<F.1N){B.1H[0].1m=C=B.1H[0].1m-F.1P}}1e{5(E.2m-A(u).1m()<F.1N){C=A(u).1m(A(u).1m()-F.1P)}5(A(2x).19()-(E.2m-A(u).1m())<F.1N){C=A(u).1m(A(u).1m()+F.1P)}}5(B.1M[0]!=u&&B.1M[0].1V!="3y"){5((B.4b.h+B.1M[0].2K)-E.2u<F.1N){B.1M[0].1n=C=B.1M[0].1n+F.1P}5(E.2u-B.4b.h<F.1N){B.1M[0].1n=C=B.1M[0].1n-F.1P}}1e{5(E.2u-A(u).1n()<F.1N){C=A(u).1n(A(u).1n()-F.1P)}5(A(2x).1d()-(E.2u-A(u).1n())<F.1N){C=A(u).1n(A(u).1n()+F.1P)}}5(C!==o){A.c.14.3P(B,E)}}});A.c.1k.1j("z","1T",{22:6(D,C){b B=A(4).p("z");B.1v=[];A(C.7.1T.5I!=8f?(C.7.1T.8a||":p(z)"):C.7.1T).1c(6(){b F=A(4);b E=F.m();5(4!=B.k[0]){B.1v.2U({3H:4,1d:F.5b(),19:F.5c(),j:E.j,h:E.h})}})},2a:6(P,K){b E=A(4).p("z");b Q=K.7.8b||20;b O=K.3T.h,N=O+E.1h.1d,D=K.3T.j,C=D+E.1h.19;2A(b M=E.1v.X-1;M>=0;M--){b L=E.1v[M].h,J=L+E.1v[M].1d,I=E.1v[M].j,R=I+E.1v[M].19;5(!((L-Q<O&&O<J+Q&&I-Q<D&&D<R+Q)||(L-Q<O&&O<J+Q&&I-Q<C&&C<R+Q)||(L-Q<N&&N<J+Q&&I-Q<D&&D<R+Q)||(L-Q<N&&N<J+Q&&I-Q<C&&C<R+Q))){5(E.1v[M].3M){(E.7.1T.5C&&E.7.1T.5C.12(E.k,15,A.1x(E.3k(),{5U:E.1v[M].3H})))}E.1v[M].3M=o;3O}5(K.7.5X!="8c"){b B=1o.1R(I-C)<=Q;b S=1o.1R(R-D)<=Q;b G=1o.1R(L-N)<=Q;b H=1o.1R(J-O)<=Q;5(B){K.w.j=E.1L("11",{j:I-E.1h.19,h:0}).j}5(S){K.w.j=E.1L("11",{j:R,h:0}).j}5(G){K.w.h=E.1L("11",{j:0,h:L-E.1h.1d}).h}5(H){K.w.h=E.1L("11",{j:0,h:J}).h}}b F=(B||S||G||H);5(K.7.5X!="8d"){b B=1o.1R(I-D)<=Q;b S=1o.1R(R-C)<=Q;b G=1o.1R(L-O)<=Q;b H=1o.1R(J-N)<=Q;5(B){K.w.j=E.1L("11",{j:I,h:0}).j}5(S){K.w.j=E.1L("11",{j:R-E.1h.19,h:0}).j}5(G){K.w.h=E.1L("11",{j:0,h:L}).h}5(H){K.w.h=E.1L("11",{j:0,h:J-E.1h.1d}).h}}5(!E.1v[M].3M&&(B||S||G||H||F)){(E.7.1T.1T&&E.7.1T.1T.12(E.k,15,A.1x(E.3k(),{5U:E.1v[M].3H})))}E.1v[M].3M=(B||S||G||H||F)}}});A.c.1k.1j("z","5M",{22:6(D,C){b B=A(4).p("z");B.3L=[];A(C.7.5M).1c(6(){5(A.p(4,"4d")){b E=A.p(4,"4d");B.3L.2U({q:E,5V:E.7.2q});E.7n();E.23("3z",D,B)}})},1W:6(D,C){b B=A(4).p("z");A.1c(B.3L,6(){5(4.q.2R){4.q.2R=0;B.3m=Y;4.q.3m=o;5(4.5V){4.q.7.2q=Y}4.q.3p(D);4.q.k.21("7m",[D,A.1x(4.q.c(),{7l:B.k})],4.q.7.7k);4.q.7.t=4.q.7.4i}1e{4.q.23("3D",D,B)}})},2a:6(F,E){b D=A(4).p("z"),B=4;b C=6(K){b H=K.h,J=H+K.1d,I=K.j,G=I+K.19;d(H<(4.1s.h+4.m.1a.h)&&(4.1s.h+4.m.1a.h)<J&&I<(4.1s.j+4.m.1a.j)&&(4.1s.j+4.m.1a.j)<G)};A.1c(D.3L,6(G){5(C.12(D,4.q.7o)){5(!4.q.2R){4.q.2R=1;4.q.1r=A(B).4l().1Y(4.q.k).p("4d-3H",Y);4.q.7.4i=4.q.7.t;4.q.7.t=6(){d E.t[0]};F.30=4.q.1r[0];4.q.3G(F,Y);4.q.3j(F,Y,Y);4.q.m.1a.j=D.m.1a.j;4.q.m.1a.h=D.m.1a.h;4.q.m.V.h-=D.m.V.h-4.q.m.V.h;4.q.m.V.j-=D.m.V.j-4.q.m.V.j;D.23("7t",F)}5(4.q.1r){4.q.2X(F)}}1e{5(4.q.2R){4.q.2R=0;4.q.3m=Y;4.q.7.2q=o;4.q.3p(F,Y);4.q.7.t=4.q.7.4i;4.q.1r.1B();5(4.q.5R){4.q.5R.1B()}D.23("7S",F)}}})}});A.c.1k.1j("z","2P",{22:6(D,B){b C=A.7i(A(B.7.2P.7b)).4n(6(F,E){d(1i(A(F).n("1K"),10)||B.7.2P.3a)-(1i(A(E).n("1K"),10)||B.7.2P.3a)});A(C).1c(6(E){4.24.1K=B.7.2P.3a+E});4[0].24.1K=B.7.2P.3a+C.X}})})(3b);(6(A){A.2g("c.1u",{2j:6(B,C){5(B=="1t"){4.7.1t=C&&A.3s(C)?C:6(D){d D.3W(1t)}}1e{A.2g.2y.2j.2W(4,4g)}},3f:6(){b C=4.7,B=C.1t;4.1E=0;4.2s=1;4.7.1t=4.7.1t&&A.3s(4.7.1t)?4.7.1t:6(D){d D.3W(B)};4.3l={1d:4.k[0].2K,19:4.k[0].2N};A.c.14.2t[4.7.2d]=A.c.14.2t[4.7.2d]||[];A.c.14.2t[4.7.2d].2U(4);(4.7.2O&&4.k.Z(4.7.2O+"-1u"))},2Y:{},c:6(B){d{z:(B.1r||B.k),t:B.t,w:B.w,3T:B.1s,7:4.7,k:4.k}},2f:6(){b B=A.c.14.2t[4.7.2d];2A(b C=0;C<B.X;C++){5(B[C]==4){B.54(C,1)}}4.k.1f("c-1u-v").2E("1u").1D(".1u")},4P:6(C){b B=A.c.14.2C;5(!B||(B.1r||B.k)[0]==4.k[0]){d}5(4.7.1t.12(4.k,(B.1r||B.k))){A.c.1k.12(4,"4V",[C,4.c(B)]);4.k.21("7c",[C,4.c(B)],4.7.4V)}},4O:6(C){b B=A.c.14.2C;5(!B||(B.1r||B.k)[0]==4.k[0]){d}5(4.7.1t.12(4.k,(B.1r||B.k))){A.c.1k.12(4,"4X",[C,4.c(B)]);4.k.21("7d",[C,4.c(B)],4.7.4X)}},4Y:6(E,B){b C=B||A.c.14.2C;5(!C||(C.1r||C.k)[0]==4.k[0]){d o}b D=o;4.k.2Z(":p(1u)").5S(".c-z-3E").1c(6(){b F=A.p(4,"1u");5(F.7.5x&&A.c.2I(C,A.1x(F,{m:F.k.m()}),F.7.3B)){D=Y;d o}});5(D){d o}5(4.7.1t.12(4.k,(C.1r||C.k))){A.c.1k.12(4,"2F",[E,4.c(C)]);4.k.21("2F",[E,4.c(C)],4.7.2F);d 4.k}d o},51:6(C){b B=A.c.14.2C;A.c.1k.12(4,"3z",[C,4.c(B)]);5(B){4.k.21("7g",[C,4.c(B)],4.7.3z)}},5g:6(C){b B=A.c.14.2C;A.c.1k.12(4,"3D",[C,4.c(B)]);5(B){4.k.21("7f",[C,4.c(B)],4.7.3D)}}});A.1x(A.c.1u,{2B:{v:o,3B:"2I",2d:"3r",2O:"c"}});A.c.2I=6(I,E,J){5(!E.m){d o}b D=(I.1s||I.w.1p).h,C=D+I.1h.1d,K=(I.1s||I.w.1p).j,H=K+I.1h.19;b F=E.m.h,B=F+E.3l.1d,L=E.m.j,G=L+E.3l.19;7u(J){3R"7v":d(F<D&&C<B&&L<K&&H<G);3n;3R"2I":d(F<D+(I.1h.1d/2)&&C-(I.1h.1d/2)<B&&L<K+(I.1h.19/2)&&H-(I.1h.19/2)<G);3n;3R"7K":d(F<((I.1s||I.w.1p).h+(I.3N||I.m.1a).h)&&((I.1s||I.w.1p).h+(I.3N||I.m.1a).h)<B&&L<((I.1s||I.w.1p).j+(I.3N||I.m.1a).j)&&((I.1s||I.w.1p).j+(I.3N||I.m.1a).j)<G);3n;3R"7Q":d((K>=L&&K<=G)||(H>=L&&H<=G)||(K<L&&H>G))&&((D>=F&&D<=B)||(C>=F&&C<=B)||(D<F&&C>B));3n;3r:d o;3n}};A.c.14={2C:15,2t:{"3r":[]},3P:6(E,H){b B=A.c.14.2t[E.7.2d];b F=H?H.4R:15;b G=(E.1r||E.k).2Z(":p(1u)").5K();5N:2A(b D=0;D<B.X;D++){5(B[D].7.v||(E&&!B[D].7.1t.12(B[D].k,(E.1r||E.k)))){3O}2A(b C=0;C<G.X;C++){5(G[C]==B[D].k[0]){B[D].3l.19=0;3O 5N}}B[D].2M=B[D].k.n("2G")!="3I";5(!B[D].2M){3O}B[D].m=B[D].k.m();B[D].3l={1d:B[D].k[0].2K,19:B[D].k[0].2N};5(F=="7H"||F=="7G"){B[D].51.12(B[D],H)}}},2F:6(B,C){b D=o;A.1c(A.c.14.2t[B.7.2d],6(){5(!4.7){d}5(!4.7.v&&4.2M&&A.c.2I(B,4,4.7.3B)){D=4.4Y.12(4,C)}5(!4.7.v&&4.2M&&4.7.1t.12(4.k,(B.1r||B.k))){4.2s=1;4.1E=0;4.5g.12(4,C)}});d D},2a:6(B,C){5(B.7.7y){A.c.14.3P(B,C)}A.1c(A.c.14.2t[B.7.2d],6(){5(4.7.v||4.5p||!4.2M){d}b D=A.c.2I(B,4,4.7.3B);b G=!D&&4.1E==1?"2s":(D&&4.1E==0?"1E":15);5(!G){d}b F;5(4.7.5x){b E=4.k.3X(":p(1u):1G(0)");5(E.X){F=A.p(E[0],"1u");F.5p=(G=="1E"?1:0)}}5(F&&G=="1E"){F.1E=0;F.2s=1;F.4O.12(F,C)}4[G]=1;4[G=="2s"?"1E":"2s"]=0;4[G=="1E"?"4P":"4O"].12(4,C);5(F&&G=="2s"){F.2s=0;F.1E=1;F.4P.12(F,C)}})}};A.c.1k.1j("1u","3C",{3z:6(C,B){A(4).Z(B.7.3C)},3D:6(C,B){A(4).1f(B.7.3C)},2F:6(C,B){A(4).1f(B.7.3C)}});A.c.1k.1j("1u","3Q",{4V:6(C,B){A(4).Z(B.7.3Q)},4X:6(C,B){A(4).1f(B.7.3Q)},2F:6(C,B){A(4).1f(B.7.3Q)}})})(3b);(6(A){A.2g("c.l",{3f:6(){4.7.2h+=".l";4.3o(Y)},2j:6(B,C){5((/^W/).18(B)){4.2L(C)}1e{4.7[B]=C;4.3o()}},X:6(){d 4.$l.X},4h:6(B){d B.5D&&B.5D.2J(/\\s/g,"4Q").2J(/[^A-7C-7D-9\\-4Q:\\.]/g,"")||4.7.59+A.p(B)},c:6(C,B){d{7:4.7,7E:C,5G:B,29:4.$l.29(C)}},3o:6(P){4.$1g=A("42:7F(a[1q])",4.k);4.$l=4.$1g.47(6(){d A("a",4)[0]});4.$1b=A([]);b O=4,E=4.7;4.$l.1c(6(R,Q){5(Q.25&&Q.25.2J("#","")){O.$1b=O.$1b.1j(Q.25)}1e{5(A(Q).1J("1q")!="#"){A.p(Q,"1q.l",Q.1q);A.p(Q,"1z.l",Q.1q);b T=O.4h(Q);Q.1q="#"+T;b S=A("#"+T);5(!S.X){S=A(E.4p).1J("3u",T).Z(E.3h).7B(O.$1b[R-1]||O.k);S.p("2f.l",Y)}O.$1b=O.$1b.1j(S)}1e{E.v.2U(R+1)}}});5(P){4.k.Z(E.4D);4.$1b.1c(6(){b Q=A(4);Q.Z(E.3h)});5(E.W===1Q){5(4W.25){4.$l.1c(6(T,Q){5(Q.25==4W.25){E.W=T;5(A.1I.2k||A.1I.7A){b S=A(4W.25),R=S.1J("3u");S.1J("3u","");3U(6(){S.1J("3u",R)},5z)}7w(0,0);d o}})}1e{5(E.2e){b I=1i(A.2e("c-l-"+A.p(O.k[0])),10);5(I&&O.$l[I]){E.W=I}}1e{5(O.$1g.1S("."+E.1l).X){E.W=O.$1g.29(O.$1g.1S("."+E.1l)[0])}}}}E.W=E.W===15||E.W!==1Q?E.W:0;E.v=A.7x(E.v.5l(A.47(4.$1g.1S("."+E.2z),6(R,Q){d O.$1g.29(R)}))).4n();5(A.3q(E.W,E.v)!=-1){E.v.54(A.3q(E.W,E.v),1)}4.$1b.Z(E.2r);4.$1g.1f(E.1l);5(E.W!==15){4.$1b.1G(E.W).4S().1f(E.2r);4.$1g.1G(E.W).Z(E.1l);b B=6(){O.2b("4S",15,O.c(O.$l[E.W],O.$1b[E.W]))};5(A.p(4.$l[E.W],"1z.l")){4.1z(E.W,B)}1e{B()}}A(2x).1A("7z",6(){O.$l.1D(".l");O.$1g=O.$l=O.$1b=15})}1e{E.W=4.$1g.29(4.$1g.1S("."+E.1l)[0])}5(E.2e){A.2e("c-l-"+A.p(O.k[0]),E.W,E.2e)}2A(b H=0,N;N=4.$1g[H];H++){A(N)[A.3q(H,E.v)!=-1&&!A(N).31(E.1l)?"Z":"1f"](E.2z)}5(E.2l===o){4.$l.2E("2l.l")}b J,D,K={"3a-1d":0,4T:1},F="7O";5(E.2Q&&E.2Q.5I==5f){J=E.2Q[0]||K,D=E.2Q[1]||K}1e{J=D=E.2Q||K}b C={2G:"",1F:"",19:""};5(!A.1I.2k){C.1O=""}6 M(R,Q,S){Q.4U(J,J.4T||F,6(){Q.Z(E.2r).n(C);5(A.1I.2k&&J.1O){Q[0].24.1S=""}5(S){L(R,S,Q)}})}6 L(R,S,Q){5(D===K){S.n("2G","44")}S.4U(D,D.4T||F,6(){S.1f(E.2r).n(C);5(A.1I.2k&&D.1O){S[0].24.1S=""}O.2b("4S",15,O.c(R,S[0]))})}6 G(R,T,Q,S){T.Z(E.1l).7P().1f(E.1l);M(R,Q,S)}4.$l.1D(".l").1A(E.2h,6(){b T=A(4).3X("42:1G(0)"),Q=O.$1b.1S(":2M"),S=A(4.25);5((T.31(E.1l)&&!E.3Z)||T.31(E.2z)||A(4).31(E.3t)||O.2b("2L",15,O.c(4,S[0]))===o){4.48();d o}O.7.W=O.$l.29(4);5(E.3Z){5(T.31(E.1l)){O.7.W=15;T.1f(E.1l);O.$1b.1W();M(4,Q);4.48();d o}1e{5(!Q.X){O.$1b.1W();b R=4;O.1z(O.$l.29(4),6(){T.Z(E.1l).Z(E.4H);L(R,S)});4.48();d o}}}5(E.2e){A.2e("c-l-"+A.p(O.k[0]),O.7.W,E.2e)}O.$1b.1W();5(S.X){b R=4;O.1z(O.$l.29(4),Q.X?6(){G(R,T,Q,S)}:6(){T.Z(E.1l);L(R,S)})}1e{7N"3b 7M 7I: 7J 7L 7e."}5(A.1I.2k){4.48()}d o});5(!(/^1a/).18(E.2h)){4.$l.1A("1a.l",6(){d o})}},1j:6(E,D,C){5(C==1Q){C=4.$l.X}b G=4.7;b I=A(G.58.2J(/#\\{1q\\}/g,E).2J(/#\\{43\\}/g,D));I.p("2f.l",Y);b H=E.7h("#")==0?E.2J("#",""):4.4h(A("a:78-79",I)[0]);b F=A("#"+H);5(!F.X){F=A(G.4p).1J("3u",H).Z(G.2r).p("2f.l",Y)}F.Z(G.3h);5(C>=4.$1g.X){I.1Y(4.k);F.1Y(4.k[0].1X)}1e{I.5L(4.$1g[C]);F.5L(4.$1b[C])}G.v=A.47(G.v,6(K,J){d K>=C?++K:K});4.3o();5(4.$l.X==1){I.Z(G.1l);F.1f(G.2r);b B=A.p(4.$l[0],"1z.l");5(B){4.1z(C,B)}}4.2b("1j",15,4.c(4.$l[C],4.$1b[C]))},1B:6(B){b D=4.7,E=4.$1g.1G(B).1B(),C=4.$1b.1G(B).1B();5(E.31(D.1l)&&4.$l.X>1){4.2L(B+(B+1<4.$l.X?1:-1))}D.v=A.47(A.5Q(D.v,6(G,F){d G!=B}),6(G,F){d G>=B?--G:G});4.3o();4.2b("1B",15,4.c(E.2Z("a")[0],C[0]))},4j:6(B){b C=4.7;5(A.3q(B,C.v)==-1){d}b D=4.$1g.1G(B).1f(C.2z);5(A.1I.7a){D.n("2G","7j-44");3U(6(){D.n("2G","44")},0)}C.v=A.5Q(C.v,6(F,E){d F!=B});4.2b("4j",15,4.c(4.$l[B],4.$1b[B]))},4m:6(C){b B=4,D=4.7;5(C!=D.W){4.$1g.1G(C).Z(D.2z);D.v.2U(C);D.v.4n();4.2b("4m",15,4.c(4.$l[C],4.$1b[C]))}},2L:6(B){5(2T B=="2S"){B=4.$l.29(4.$l.1S("[1q$="+B+"]")[0])}4.$l.1G(B).7r(4.7.2h)},1z:6(G,K){b L=4,D=4.7,E=4.$l.1G(G),J=E[0],H=K==1Q||K===o,B=E.p("1z.l");K=K||6(){};5(!B||!H&&A.p(J,"2l.l")){K();d}b M=6(N){b O=A(N),P=O.2Z("*:7s");d P.X&&P.3W(":5S(7p)")&&P||O};b C=6(){L.$l.1S("."+D.3t).1f(D.3t).1c(6(){5(D.41){M(4).V().2o(M(4).p("43.l"))}});L.3V=15};5(D.41){b I=M(J).2o();M(J).7R("<4o></4o>").2Z("4o").p("43.l",I).2o(D.41)}b F=A.1x({},D.3Y,{5i:B,49:6(O,N){A(J.25).2o(O);C();5(D.2l){A.p(J,"2l.l",Y)}L.2b("1z",15,L.c(L.$l[G],L.$1b[G]));D.3Y.49&&D.3Y.49(O,N);K()}});5(4.3V){4.3V.8e();C()}E.Z(D.3t);3U(6(){L.3V=A.8g(F)},0)},5i:6(C,B){4.$l.1G(C).2E("2l.l").p("1z.l",B)},2f:6(){b B=4.7;4.k.1D(".l").1f(B.4D).2E("l");4.$l.1c(6(){b C=A.p(4,"1q.l");5(C){4.1q=C}b D=A(4).1D(".l");A.1c(["1q","1z","2l"],6(F,E){D.2E(E+".l")})});4.$1g.1j(4.$1b).1c(6(){5(A.p(4,"2f.l")){A(4).1B()}1e{A(4).1f([B.1l,B.4H,B.2z,B.3h,B.2r].88(" "))}})}});A.c.l.2B={3Z:o,2h:"1a",v:[],2e:15,41:"7Y&#7Z;",2l:o,59:"c-l-",3Y:{},2Q:15,58:\'<42><a 1q="#{1q}"><50>#{43}</50></a></42>\',4p:"<2V></2V>",4D:"c-l-89",1l:"c-l-W",4H:"c-l-3Z",2z:"c-l-v",3h:"c-l-5G",2r:"c-l-86",3t:"c-l-87"};A.c.l.5m="X";A.1x(A.c.l.2y,{4t:15,85:6(C,F){F=F||o;b B=4,E=4.7.W;6 G(){B.4t=84(6(){E=++E<B.$l.X?E:0;B.2L(E)},C)}6 D(H){5(!H||H.83){6p(B.4t)}}5(C){G();5(!F){4.$l.1A(4.7.2h,D)}1e{4.$l.1A(4.7.2h,6(){D();E=B.7.W;G()})}}1e{D();4.$l.1D(4.7.2h,D)}}})})(3b);',62,513,'||||this|if|function|options||||var|ui|return||||left||top|element|tabs|offset|css|false|data|instance|||helper|document|disabled|position|||draggable|||||||||||||||||||||containment|parent|selected|length|true|addClass||relative|call||ddmanager|null|||test|height|click|panels|each|width|else|removeClass|lis|helperProportions|parseInt|add|plugin|selectedClass|scrollTop|scrollLeft|Math|absolute|href|currentItem|positionAbs|accept|droppable|snapElements|margins|extend|body|load|bind|remove|cssPosition|unbind|isover|overflow|eq|overflowY|browser|attr|zIndex|_convertPositionTo|overflowX|scrollSensitivity|opacity|scrollSpeed|undefined|abs|filter|snap|offsetParent|tagName|stop|parentNode|appendTo|grid||triggerHandler|start|_propagate|style|hash|fixed||_mouseStarted|index|drag|_trigger|scroll|scope|cookie|destroy|widget|event|auto|_setData|msie|cache|pageY|scrollLeftParent|html|scrollTopParent|revert|hideClass|isout|droppables|pageX|widgetName|originalPosition|window|prototype|disabledClass|for|defaults|current|cursor|removeData|drop|display|handle|intersect|replace|offsetWidth|select|visible|offsetHeight|cssNamespace|stack|fx|isOver|string|typeof|push|div|apply|_mouseDrag|plugins|find|target|hasClass|||||||||min|jQuery|unselectable|iframeFix|cssCache|_init|axis|panelClass|_mouseUp|_mouseStart|uiHash|proportions|cancelHelperRemoval|break|_tabify|_mouseStop|inArray|default|isFunction|loadingClass|id|px|while|delay|HTML|activate|do|tolerance|activeClass|deactivate|dragging|hidden|_mouseCapture|item|none|_mouseDownEvent|mouseDelayMet|sortables|snapping|clickOffset|continue|prepareOffsets|hoverClass|case|cancel|absolutePosition|setTimeout|xhr|is|parents|ajaxOptions|unselect||spinner|li|label|block|||map|blur|success|get|overflowXOffset|overflowYOffset|sortable|fn|split|arguments|_tabId|_helper|enable|_getData|clone|disable|sort|em|panelTemplate|mouse|PAGEX_INCLUDES_SCROLL|OFFSET_PARENT_NOT_SCROLL_PARENT_X|rotation|OFFSET_PARENT_NOT_SCROLL_PARENT_Y|PAGEY_INCLUDES_SCROLL|cacheHelperProportions|borderLeftWidth|max|borderTopWidth|_mouseDelayMet|_mouseDistanceMet|original|navClass|_cursor|_zIndex|distance|unselectClass|_mouseUpDelegate|_generatePosition|_mouseMoveDelegate|_clear|_opacity|widgetEventPrefix|_out|_over|_|type|show|duration|animate|over|location|out|_drop|_mouseUnselectable|span|_activate|removeChild|_mouseDown|splice|_mouseMove|class|adjustOffsetFromHelper|tabTemplate|idPrefix|createHelper|outerWidth|outerHeight|cursorAt|cacheScrollParents|Array|_deactivate|selectstart|url|MozUserSelect|on|concat|getter|right|round|greedyChild|bottom|_mouseInit|setContainment|marginRight|scrollHeight|marginBottom|mouseup|greedy|_mouseDestroy|500|input|button|release|title|dropBehaviour|mousemove|panel|getHandle|constructor|widgetBaseClass|andSelf|insertBefore|connectToSortable|droppablesLoop|option|getterSetter|grep|placeholder|not|metadata|snapItem|shouldRevert|5000px|snapMode|TAB|NUMPAD_MULTIPLY|106|toLowerCase|nodeName|SPACE|tabIndex|NUMPAD_DECIMAL|marginLeft|textarea|LEFT|NUMPAD_ADD|slice|110|107|UP|expr|RIGHT|visibility|SHIFT|111|resizable|190|PAGE_UP|dir|PAGE_DOWN|NUMPAD_SUBTRACT|clearInterval|PERIOD|NUMPAD_ENTER|NUMPAD_DIVIDE|INSERT|109|tabbable|BACKSPACE|DOWN|108|in|hasScroll|mousedown|CONTROL|DELETE|fix|gen|off|transparent|rgba|try|backgroundImage|catch|enableSelection|disableSelection|marginTop|started|eventPrefix|backgroundColor|CAPS_LOCK|new|keyCode|ESCAPE|substring|COMMA|ENTER|188|which|getData|_mouseDelayTimer|preventDefault|setData|END|HOME|revertDuration|first|child|safari|group|dropover|dropout|identifier|dropdeactivate|dropactivate|indexOf|makeArray|inline|receive|sender|sortreceive|_refreshItems|containerCache|img|mozilla|trigger|last|toSortable|switch|fit|scrollTo|unique|refreshPositions|unload|opera|insertAfter|Za|z0|tab|has|sortactivate|dragstart|Tabs|Mismatching|pointer|fragment|UI|throw|normal|siblings|touch|wrapInner|fromSortable|fff|background|iframe|001|1000|Loading|8230|valid|invalid|scrollWidth|clientX|setInterval|rotate|hide|loading|join|nav|items|snapTolerance|inner|outer|abort|String|ajax'.split('|'),0,{}))
− data/static/js/jquery.min.js
@@ -1,32 +0,0 @@-/*- * jQuery 1.2.6 - New Wave Javascript- *- * Copyright (c) 2008 John Resig (jquery.com)- * Dual licensed under the MIT (MIT-LICENSE.txt)- * and GPL (GPL-LICENSE.txt) licenses.- *- * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $- * $Rev: 5685 $- */-(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else-return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else-return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else-selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else-return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else-this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else-return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else-jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else-script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else-for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else-for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else-jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else-ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else-while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else-while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else-for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else-jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else-xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else-jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else-for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else-s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else-e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
data/static/js/search.js view
@@ -1,8 +1,21 @@ jQuery.fn.highlightPattern = function (patt, className) {+    // check if patt starts or ends with non-word character+    // and set regex boundary accordingly.+    var start = '\\b(';+    var end = ')\\b';+    if (/\W/.test(patt.charAt(0))) {+       var start = '\(?=\\W\)(';+    };+    if (/\W/.test(patt.charAt(patt.length - 1))) {+       var end = ')\(?!\\w\)';+    }+    // escape regex metacharacters that may be in the patt+    var epatt = patt.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, "\\$1")+     // patt is a space separated list of strings - we want to highlight     // an occurrence of any of these strings as a separate word.-    var regex = new RegExp('\\b(' + patt.replace(/ /g, '|') + ')\\b', 'gi');+    var regex = new RegExp(start + epatt.replace(/ /g, '| ') + end, 'gi');      return this.each(function ()     {
gitit.cabal view
@@ -1,5 +1,5 @@ name:                gitit-version:             0.10.4+version:             0.10.5 Cabal-version:       >= 1.6 build-type:          Simple synopsis:            Wiki using happstack, git or darcs, and pandoc.@@ -48,8 +48,8 @@                      data/static/css/custom.css,                      data/static/img/logo.png, data/static/img/icons/feed.png,                      data/static/img/icons/folder.png, data/static/img/icons/page.png,-                     data/static/js/dragdiff.js, data/static/js/jquery.min.js,-                     data/static/js/uploadForm.js, data/static/js/jquery-ui.packed.js,+                     data/static/js/dragdiff.js, data/static/js/jquery-1.2.6.min.js,+                     data/static/js/uploadForm.js, data/static/js/jquery-ui-combined-1.6rc2.min.js,                      data/static/js/jquery.hotkeys-0.7.9.min.js,                      data/static/js/preview.js, data/static/js/search.js,                      data/static/js/MathMLinHTML.js, data/static/js/footnotes.js,@@ -97,6 +97,10 @@   type:          git   location:      git://github.com/jgm/gitit.git +Flag network-uri+  Description: Get Network.URI from the network-uri package+  Default: True+ Flag plugins   description:       Compile in support for plugins.  This will increase the size of                      the executable and the memory it uses, so those who will not need@@ -108,17 +112,19 @@   exposed-modules:   Network.Gitit, Network.Gitit.ContentTransformer,                      Network.Gitit.Types, Network.Gitit.Framework,                      Network.Gitit.Initialize, Network.Gitit.Config,-                     Network.Gitit.Layout, Network.Gitit.Authentication+                     Network.Gitit.Layout, Network.Gitit.Authentication,+                     Network.Gitit.Authentication.Github   other-modules:     Network.Gitit.Cache, Network.Gitit.State,                      Paths_gitit, Network.Gitit.Server, Network.Gitit.Export,                      Network.Gitit.Util, Network.Gitit.Handlers,                      Network.Gitit.Plugins, Network.Gitit.Rpxnow,-                     Network.Gitit.Page, Network.Gitit.Feed+                     Network.Gitit.Page, Network.Gitit.Feed,+                     Network.Gitit.Compat.Except   if flag(plugins)     exposed-modules: Network.Gitit.Interface     build-depends:   ghc, ghc-paths     cpp-options:     -D_PLUGINS-  build-depends:     base >= 3, pandoc >= 1.12.4 && < 1.13,+  build-depends:     base >= 3, pandoc >= 1.12.4 && < 1.14,                      pandoc-types >= 1.12.3 && < 1.13, filepath, safe   extensions:        CPP   if impl(ghc >= 6.12)@@ -135,7 +141,7 @@                      pretty,                      xhtml,                      containers,-                     pandoc >= 1.12.4 && < 1.13,+                     pandoc >= 1.12.4 && < 1.14,                      pandoc-types >= 1.12.3 && < 1.13,                      process,                      filepath,@@ -146,7 +152,6 @@                      bytestring,                      text,                      random,-                     network >= 2.3 && < 2.6,                      utf8-string >= 0.3 && < 0.4,                      SHA > 1 && < 1.7,                      HTTP >= 4000.0 && < 4000.3,@@ -168,9 +173,17 @@                      blaze-html >= 0.4 && < 0.8,                      json >= 0.4 && < 0.8,                      uri >= 0.1 && < 0.2,-                     split+                     split,+                     hoauth2 >= 0.4.1 && < 0.5,+                     http-client >= 0.3.5 && < 0.4,+                     http-client-tls >= 0.2.2 && < 0.3,+                     aeson >= 0.7 && < 0.9   if impl(ghc >= 6.10)     build-depends:   base >= 4, syb+  if flag(network-uri)+    build-depends:   network-uri >= 2.6 && < 2.7, network >= 2.6+  else+    build-depends:   network >= 2 && < 2.6   if flag(plugins)     build-depends:   ghc, ghc-paths     cpp-options:     -D_PLUGINS
gitit.hs view
@@ -24,7 +24,7 @@ import Network.Gitit.Util (readFileUTF8) import System.Directory import Data.Maybe (isNothing)-import Control.Monad.Error()+import Network.Gitit.Compat.Except() import Control.Monad.Reader import System.Log.Logger (Priority(..), setLevel, setHandlers,         getLogger, saveGlobalLogger)@@ -58,8 +58,7 @@     Right xs -> return xs    conf' <- case [f | ConfigFile f <- opts] of-                (x:_) -> getConfigFromFile x-                []    -> getDefaultConfig+                fs -> getConfigFromFiles fs    let conf = foldl handleFlag conf' opts 
plugins/Subst.hs view
@@ -1,3 +1,5 @@+{-# LANGUAGE PackageImports #-}+ -- Usage:  a paragraph containing just [My page](!subst) -- will be replaced by the contents of My page. --@@ -6,7 +8,7 @@  module Subst (plugin) where -import Control.Monad.CatchIO (try)+import "MonadCatchIO-mtl" Control.Monad.CatchIO (try) import Data.FileStore (FileStoreError, retrieve) import Text.Pandoc (def, readMarkdown) import Network.Gitit.ContentTransformer (inlinesToString)