From 77967c3f0350fcce2ad6e3af7ca501af72236834 Mon Sep 17 00:00:00 2001 From: Gutenberg back end service account Date: Thu, 2 Jan 2020 14:57:27 -0500 Subject: [PATCH] Adding back .js, needed for landing pages. --- js/pg-desktop-one.js | 6941 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 6941 insertions(+) create mode 100644 js/pg-desktop-one.js diff --git a/js/pg-desktop-one.js b/js/pg-desktop-one.js new file mode 100644 index 0000000..2458dd9 --- /dev/null +++ b/js/pg-desktop-one.js @@ -0,0 +1,6941 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 2.1.18 Copyright (c) 2010-2015, The Dojo Foundation All Rights Reserved. + * Available via the MIT or new BSD license. + * see: http://github.com/jrburke/requirejs for details + */ + +/*! + * jQuery JavaScript Library v1.11.3 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2015-04-28T16:19Z + */ + +/*! + * Sizzle CSS Selector Engine v2.2.0-pre + * http://sizzlejs.com/ + * + * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: 2014-12-16 + */ + +/*! + * jQuery UI Core 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + +/*! + * jQuery UI Widget 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ + +/*! + * jQuery UI Position 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/position/ + */ + +/*! + * jQuery UI Menu 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/menu/ + */ + +/*! + * jQuery UI Autocomplete 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/autocomplete/ + */ + +/*! + * jQuery UI Button 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/button/ + */ + +/*! + * jQuery UI Mouse 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/mouse/ + */ + +/*! + * jQuery UI Draggable 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/draggable/ + */ + +/*! + * jQuery UI Resizable 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/resizable/ + */ + +/*! + * jQuery UI Dialog 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/dialog/ + */ + +/*! + * jQuery UI Tabs 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/tabs/ + */ + +/*! + * jQuery Cookie Plugin v1.4.1 + * https://github.com/carhartl/jquery-cookie + * + * Copyright 2013 Klaus Hartl + * Released under the MIT license + */ + +/* + * pg-desktop.js Project Gutenberg Website + * + * Copyright 2010-2014 Marcello Perathoner + * Licensed under GPL version 3.0 or later. + */ + +function open_share_popup(url, target, w, h) { + var x = (window.screen.width - w) / 2, y = (window.screen.height - h) / 2; + window.open(url, target, "width=" + w + ",height=" + h + ",left=" + x + ",top=" + y + ",status=1,resizable=0"); +} + +function init_help_button() { + $("#help-button").click(function() { + $("#helpbox").slideToggle("fast"); + }), $("#helpbox").click(function() { + $(this).slideUp("fast"); + }); +} + +function dropbox_push(url, filename) { + $.getScript("https://www.dropbox.com/static/api/2/dropins.js").done(function() { + Dropbox.appKey = dropbox_app_key; + var options = { + files: [ { + url: url, + filename: filename + } ], + success: function() { + alert("done"); + }, + error: function(errorMessage) { + alert(errorMessage); + } + }; + Dropbox.save(options); + }); +} + +function fb_post_to_feed(url, title, description, icon) { + function callback() {} + var obj = { + method: "feed", + redirect_uri: "https://www.gutenberg.org/fb_redirect.html", + link: url, + picture: icon, + name: title, + caption: url, + description: description, + ref: "bibrec" + }; + FB.ui(obj, callback); +} + +function get_logo_token() { + var logo = $("#logo .icon"), token = logo.attr("id"); + $.cookie("bonus", token, { + path: "/", + domain: "gutenberg.org" + }); +} + +function init_search_dropdown() { + function extractLast(term) { + return term.split(/\s+/).pop(); + } + var search = $("#search-input"); + search.attr("placeholder", search.attr("title")), search.autocomplete({ + minLength: 4, + delay: 500, + source: function(request, response) { + $.ajax({ + url: json_search, + data: { + query: request.term + }, + dataType: "json", + cache: !1, + xhrFields: { + withCredentials: !0 + } + }).done(function(data) { + response(data[1]); + }); + }, + search: function() { + var term = extractLast(this.value); + return term.length < 4 ? !1 : void 0; + }, + focus: function() { + return !1; + }, + position: { + my: "left top", + at: "left bottom", + of: "#search-input-cell" + } + }), search.bind("keydown", function(event) { + event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active && event.preventDefault(); + }), search.focus(function() { + $("#search form").addClass("focused"); + }), search.blur(function() { + $("#search form").removeClass("focused"); + }); +} + +function printpage() { + $("#tabs").tabs("destroy"), $(".noprint").hide(), $(".noscreen").show(), window.print(); +} + +function screen_mode() { + $(".noprint").show(), $(".noscreen").hide(), $("#tabs").tabs(), window.location.hash && $("#tabs").tabs("select", window.location.hash); +} + +function doc_ready(jquery) { + jquery(document).ready(function() { + if (get_logo_token(), screen_mode(), init_help_button(), init_search_dropdown(), + "" !== dialog_message) { + var dlg = jquery("#dialog"); + dlg && (dlg.append("

" + dialog_message + "

"), dlg.dialog({ + title: dialog_title, + resizable: !1, + modal: !0, + buttons: { + Ok: function() { + jquery(this).dialog("close"); + } + } + })); + } + }); +} + +var requirejs, require, define; + +!function(global) { + function isFunction(it) { + return "[object Function]" === ostring.call(it); + } + function isArray(it) { + return "[object Array]" === ostring.call(it); + } + function each(ary, func) { + if (ary) { + var i; + for (i = 0; i < ary.length && (!ary[i] || !func(ary[i], i, ary)); i += 1) ; + } + } + function eachReverse(ary, func) { + if (ary) { + var i; + for (i = ary.length - 1; i > -1 && (!ary[i] || !func(ary[i], i, ary)); i -= 1) ; + } + } + function hasProp(obj, prop) { + return hasOwn.call(obj, prop); + } + function getOwn(obj, prop) { + return hasProp(obj, prop) && obj[prop]; + } + function eachProp(obj, func) { + var prop; + for (prop in obj) if (hasProp(obj, prop) && func(obj[prop], prop)) break; + } + function mixin(target, source, force, deepStringMixin) { + return source && eachProp(source, function(value, prop) { + (force || !hasProp(target, prop)) && (!deepStringMixin || "object" != typeof value || !value || isArray(value) || isFunction(value) || value instanceof RegExp ? target[prop] = value : (target[prop] || (target[prop] = {}), + mixin(target[prop], value, force, deepStringMixin))); + }), target; + } + function bind(obj, fn) { + return function() { + return fn.apply(obj, arguments); + }; + } + function scripts() { + return document.getElementsByTagName("script"); + } + function defaultOnError(err) { + throw err; + } + function getGlobal(value) { + if (!value) return value; + var g = global; + return each(value.split("."), function(part) { + g = g[part]; + }), g; + } + function makeError(id, msg, err, requireModules) { + var e = new Error(msg + "\nhttp://requirejs.org/docs/errors.html#" + id); + return e.requireType = id, e.requireModules = requireModules, err && (e.originalError = err), + e; + } + function newContext(contextName) { + function trimDots(ary) { + var i, part; + for (i = 0; i < ary.length; i++) if (part = ary[i], "." === part) ary.splice(i, 1), + i -= 1; else if (".." === part) { + if (0 === i || 1 === i && ".." === ary[2] || ".." === ary[i - 1]) continue; + i > 0 && (ary.splice(i - 1, 2), i -= 2); + } + } + function normalize(name, baseName, applyMap) { + var pkgMain, mapValue, nameParts, i, j, nameSegment, lastIndex, foundMap, foundI, foundStarMap, starI, normalizedBaseParts, baseParts = baseName && baseName.split("/"), map = config.map, starMap = map && map["*"]; + if (name && (name = name.split("/"), lastIndex = name.length - 1, config.nodeIdCompat && jsSuffixRegExp.test(name[lastIndex]) && (name[lastIndex] = name[lastIndex].replace(jsSuffixRegExp, "")), + "." === name[0].charAt(0) && baseParts && (normalizedBaseParts = baseParts.slice(0, baseParts.length - 1), + name = normalizedBaseParts.concat(name)), trimDots(name), name = name.join("/")), + applyMap && map && (baseParts || starMap)) { + nameParts = name.split("/"); + outerLoop: for (i = nameParts.length; i > 0; i -= 1) { + if (nameSegment = nameParts.slice(0, i).join("/"), baseParts) for (j = baseParts.length; j > 0; j -= 1) if (mapValue = getOwn(map, baseParts.slice(0, j).join("/")), + mapValue && (mapValue = getOwn(mapValue, nameSegment))) { + foundMap = mapValue, foundI = i; + break outerLoop; + } + !foundStarMap && starMap && getOwn(starMap, nameSegment) && (foundStarMap = getOwn(starMap, nameSegment), + starI = i); + } + !foundMap && foundStarMap && (foundMap = foundStarMap, foundI = starI), foundMap && (nameParts.splice(0, foundI, foundMap), + name = nameParts.join("/")); + } + return pkgMain = getOwn(config.pkgs, name), pkgMain ? pkgMain : name; + } + function removeScript(name) { + isBrowser && each(scripts(), function(scriptNode) { + return scriptNode.getAttribute("data-requiremodule") === name && scriptNode.getAttribute("data-requirecontext") === context.contextName ? (scriptNode.parentNode.removeChild(scriptNode), + !0) : void 0; + }); + } + function hasPathFallback(id) { + var pathConfig = getOwn(config.paths, id); + return pathConfig && isArray(pathConfig) && pathConfig.length > 1 ? (pathConfig.shift(), + context.require.undef(id), context.makeRequire(null, { + skipMap: !0 + })([ id ]), !0) : void 0; + } + function splitPrefix(name) { + var prefix, index = name ? name.indexOf("!") : -1; + return index > -1 && (prefix = name.substring(0, index), name = name.substring(index + 1, name.length)), + [ prefix, name ]; + } + function makeModuleMap(name, parentModuleMap, isNormalized, applyMap) { + var url, pluginModule, suffix, nameParts, prefix = null, parentName = parentModuleMap ? parentModuleMap.name : null, originalName = name, isDefine = !0, normalizedName = ""; + return name || (isDefine = !1, name = "_@r" + (requireCounter += 1)), nameParts = splitPrefix(name), + prefix = nameParts[0], name = nameParts[1], prefix && (prefix = normalize(prefix, parentName, applyMap), + pluginModule = getOwn(defined, prefix)), name && (prefix ? normalizedName = pluginModule && pluginModule.normalize ? pluginModule.normalize(name, function(name) { + return normalize(name, parentName, applyMap); + }) : -1 === name.indexOf("!") ? normalize(name, parentName, applyMap) : name : (normalizedName = normalize(name, parentName, applyMap), + nameParts = splitPrefix(normalizedName), prefix = nameParts[0], normalizedName = nameParts[1], + isNormalized = !0, url = context.nameToUrl(normalizedName))), suffix = !prefix || pluginModule || isNormalized ? "" : "_unnormalized" + (unnormalizedCounter += 1), + { + prefix: prefix, + name: normalizedName, + parentMap: parentModuleMap, + unnormalized: !!suffix, + url: url, + originalName: originalName, + isDefine: isDefine, + id: (prefix ? prefix + "!" + normalizedName : normalizedName) + suffix + }; + } + function getModule(depMap) { + var id = depMap.id, mod = getOwn(registry, id); + return mod || (mod = registry[id] = new context.Module(depMap)), mod; + } + function on(depMap, name, fn) { + var id = depMap.id, mod = getOwn(registry, id); + !hasProp(defined, id) || mod && !mod.defineEmitComplete ? (mod = getModule(depMap), + mod.error && "error" === name ? fn(mod.error) : mod.on(name, fn)) : "defined" === name && fn(defined[id]); + } + function onError(err, errback) { + var ids = err.requireModules, notified = !1; + errback ? errback(err) : (each(ids, function(id) { + var mod = getOwn(registry, id); + mod && (mod.error = err, mod.events.error && (notified = !0, mod.emit("error", err))); + }), notified || req.onError(err)); + } + function takeGlobalQueue() { + globalDefQueue.length && (apsp.apply(defQueue, [ defQueue.length, 0 ].concat(globalDefQueue)), + globalDefQueue = []); + } + function cleanRegistry(id) { + delete registry[id], delete enabledRegistry[id]; + } + function breakCycle(mod, traced, processed) { + var id = mod.map.id; + mod.error ? mod.emit("error", mod.error) : (traced[id] = !0, each(mod.depMaps, function(depMap, i) { + var depId = depMap.id, dep = getOwn(registry, depId); + !dep || mod.depMatched[i] || processed[depId] || (getOwn(traced, depId) ? (mod.defineDep(i, defined[depId]), + mod.check()) : breakCycle(dep, traced, processed)); + }), processed[id] = !0); + } + function checkLoaded() { + var err, usingPathFallback, waitInterval = 1e3 * config.waitSeconds, expired = waitInterval && context.startTime + waitInterval < new Date().getTime(), noLoads = [], reqCalls = [], stillLoading = !1, needCycleCheck = !0; + if (!inCheckLoaded) { + if (inCheckLoaded = !0, eachProp(enabledRegistry, function(mod) { + var map = mod.map, modId = map.id; + if (mod.enabled && (map.isDefine || reqCalls.push(mod), !mod.error)) if (!mod.inited && expired) hasPathFallback(modId) ? (usingPathFallback = !0, + stillLoading = !0) : (noLoads.push(modId), removeScript(modId)); else if (!mod.inited && mod.fetched && map.isDefine && (stillLoading = !0, + !map.prefix)) return needCycleCheck = !1; + }), expired && noLoads.length) return err = makeError("timeout", "Load timeout for modules: " + noLoads, null, noLoads), + err.contextName = context.contextName, onError(err); + needCycleCheck && each(reqCalls, function(mod) { + breakCycle(mod, {}, {}); + }), expired && !usingPathFallback || !stillLoading || !isBrowser && !isWebWorker || checkLoadedTimeoutId || (checkLoadedTimeoutId = setTimeout(function() { + checkLoadedTimeoutId = 0, checkLoaded(); + }, 50)), inCheckLoaded = !1; + } + } + function callGetModule(args) { + hasProp(defined, args[0]) || getModule(makeModuleMap(args[0], null, !0)).init(args[1], args[2]); + } + function removeListener(node, func, name, ieName) { + node.detachEvent && !isOpera ? ieName && node.detachEvent(ieName, func) : node.removeEventListener(name, func, !1); + } + function getScriptData(evt) { + var node = evt.currentTarget || evt.srcElement; + return removeListener(node, context.onScriptLoad, "load", "onreadystatechange"), + removeListener(node, context.onScriptError, "error"), { + node: node, + id: node && node.getAttribute("data-requiremodule") + }; + } + function intakeDefines() { + var args; + for (takeGlobalQueue(); defQueue.length; ) { + if (args = defQueue.shift(), null === args[0]) return onError(makeError("mismatch", "Mismatched anonymous define() module: " + args[args.length - 1])); + callGetModule(args); + } + } + var inCheckLoaded, Module, context, handlers, checkLoadedTimeoutId, config = { + waitSeconds: 7, + baseUrl: "./", + paths: {}, + bundles: {}, + pkgs: {}, + shim: {}, + config: {} + }, registry = {}, enabledRegistry = {}, undefEvents = {}, defQueue = [], defined = {}, urlFetched = {}, bundlesMap = {}, requireCounter = 1, unnormalizedCounter = 1; + return handlers = { + require: function(mod) { + return mod.require ? mod.require : mod.require = context.makeRequire(mod.map); + }, + exports: function(mod) { + return mod.usingExports = !0, mod.map.isDefine ? mod.exports ? defined[mod.map.id] = mod.exports : mod.exports = defined[mod.map.id] = {} : void 0; + }, + module: function(mod) { + return mod.module ? mod.module : mod.module = { + id: mod.map.id, + uri: mod.map.url, + config: function() { + return getOwn(config.config, mod.map.id) || {}; + }, + exports: mod.exports || (mod.exports = {}) + }; + } + }, Module = function(map) { + this.events = getOwn(undefEvents, map.id) || {}, this.map = map, this.shim = getOwn(config.shim, map.id), + this.depExports = [], this.depMaps = [], this.depMatched = [], this.pluginMaps = {}, + this.depCount = 0; + }, Module.prototype = { + init: function(depMaps, factory, errback, options) { + options = options || {}, this.inited || (this.factory = factory, errback ? this.on("error", errback) : this.events.error && (errback = bind(this, function(err) { + this.emit("error", err); + })), this.depMaps = depMaps && depMaps.slice(0), this.errback = errback, this.inited = !0, + this.ignore = options.ignore, options.enabled || this.enabled ? this.enable() : this.check()); + }, + defineDep: function(i, depExports) { + this.depMatched[i] || (this.depMatched[i] = !0, this.depCount -= 1, this.depExports[i] = depExports); + }, + fetch: function() { + if (!this.fetched) { + this.fetched = !0, context.startTime = new Date().getTime(); + var map = this.map; + return this.shim ? void context.makeRequire(this.map, { + enableBuildCallback: !0 + })(this.shim.deps || [], bind(this, function() { + return map.prefix ? this.callPlugin() : this.load(); + })) : map.prefix ? this.callPlugin() : this.load(); + } + }, + load: function() { + var url = this.map.url; + urlFetched[url] || (urlFetched[url] = !0, context.load(this.map.id, url)); + }, + check: function() { + if (this.enabled && !this.enabling) { + var err, cjsModule, id = this.map.id, depExports = this.depExports, exports = this.exports, factory = this.factory; + if (this.inited) { + if (this.error) this.emit("error", this.error); else if (!this.defining) { + if (this.defining = !0, this.depCount < 1 && !this.defined) { + if (isFunction(factory)) { + if (this.events.error && this.map.isDefine || req.onError !== defaultOnError) try { + exports = context.execCb(id, factory, depExports, exports); + } catch (e) { + err = e; + } else exports = context.execCb(id, factory, depExports, exports); + if (this.map.isDefine && void 0 === exports && (cjsModule = this.module, cjsModule ? exports = cjsModule.exports : this.usingExports && (exports = this.exports)), + err) return err.requireMap = this.map, err.requireModules = this.map.isDefine ? [ this.map.id ] : null, + err.requireType = this.map.isDefine ? "define" : "require", onError(this.error = err); + } else exports = factory; + this.exports = exports, this.map.isDefine && !this.ignore && (defined[id] = exports, + req.onResourceLoad && req.onResourceLoad(context, this.map, this.depMaps)), cleanRegistry(id), + this.defined = !0; + } + this.defining = !1, this.defined && !this.defineEmitted && (this.defineEmitted = !0, + this.emit("defined", this.exports), this.defineEmitComplete = !0); + } + } else this.fetch(); + } + }, + callPlugin: function() { + var map = this.map, id = map.id, pluginMap = makeModuleMap(map.prefix); + this.depMaps.push(pluginMap), on(pluginMap, "defined", bind(this, function(plugin) { + var load, normalizedMap, normalizedMod, bundleId = getOwn(bundlesMap, this.map.id), name = this.map.name, parentName = this.map.parentMap ? this.map.parentMap.name : null, localRequire = context.makeRequire(map.parentMap, { + enableBuildCallback: !0 + }); + return this.map.unnormalized ? (plugin.normalize && (name = plugin.normalize(name, function(name) { + return normalize(name, parentName, !0); + }) || ""), normalizedMap = makeModuleMap(map.prefix + "!" + name, this.map.parentMap), + on(normalizedMap, "defined", bind(this, function(value) { + this.init([], function() { + return value; + }, null, { + enabled: !0, + ignore: !0 + }); + })), normalizedMod = getOwn(registry, normalizedMap.id), void (normalizedMod && (this.depMaps.push(normalizedMap), + this.events.error && normalizedMod.on("error", bind(this, function(err) { + this.emit("error", err); + })), normalizedMod.enable()))) : bundleId ? (this.map.url = context.nameToUrl(bundleId), + void this.load()) : (load = bind(this, function(value) { + this.init([], function() { + return value; + }, null, { + enabled: !0 + }); + }), load.error = bind(this, function(err) { + this.inited = !0, this.error = err, err.requireModules = [ id ], eachProp(registry, function(mod) { + 0 === mod.map.id.indexOf(id + "_unnormalized") && cleanRegistry(mod.map.id); + }), onError(err); + }), load.fromText = bind(this, function(text, textAlt) { + var moduleName = map.name, moduleMap = makeModuleMap(moduleName), hasInteractive = useInteractive; + textAlt && (text = textAlt), hasInteractive && (useInteractive = !1), getModule(moduleMap), + hasProp(config.config, id) && (config.config[moduleName] = config.config[id]); + try { + req.exec(text); + } catch (e) { + return onError(makeError("fromtexteval", "fromText eval for " + id + " failed: " + e, e, [ id ])); + } + hasInteractive && (useInteractive = !0), this.depMaps.push(moduleMap), context.completeLoad(moduleName), + localRequire([ moduleName ], load); + }), void plugin.load(map.name, localRequire, load, config)); + })), context.enable(pluginMap, this), this.pluginMaps[pluginMap.id] = pluginMap; + }, + enable: function() { + enabledRegistry[this.map.id] = this, this.enabled = !0, this.enabling = !0, each(this.depMaps, bind(this, function(depMap, i) { + var id, mod, handler; + if ("string" == typeof depMap) { + if (depMap = makeModuleMap(depMap, this.map.isDefine ? this.map : this.map.parentMap, !1, !this.skipMap), + this.depMaps[i] = depMap, handler = getOwn(handlers, depMap.id)) return void (this.depExports[i] = handler(this)); + this.depCount += 1, on(depMap, "defined", bind(this, function(depExports) { + this.undefed || (this.defineDep(i, depExports), this.check()); + })), this.errback ? on(depMap, "error", bind(this, this.errback)) : this.events.error && on(depMap, "error", bind(this, function(err) { + this.emit("error", err); + })); + } + id = depMap.id, mod = registry[id], hasProp(handlers, id) || !mod || mod.enabled || context.enable(depMap, this); + })), eachProp(this.pluginMaps, bind(this, function(pluginMap) { + var mod = getOwn(registry, pluginMap.id); + mod && !mod.enabled && context.enable(pluginMap, this); + })), this.enabling = !1, this.check(); + }, + on: function(name, cb) { + var cbs = this.events[name]; + cbs || (cbs = this.events[name] = []), cbs.push(cb); + }, + emit: function(name, evt) { + each(this.events[name], function(cb) { + cb(evt); + }), "error" === name && delete this.events[name]; + } + }, context = { + config: config, + contextName: contextName, + registry: registry, + defined: defined, + urlFetched: urlFetched, + defQueue: defQueue, + Module: Module, + makeModuleMap: makeModuleMap, + nextTick: req.nextTick, + onError: onError, + configure: function(cfg) { + cfg.baseUrl && "/" !== cfg.baseUrl.charAt(cfg.baseUrl.length - 1) && (cfg.baseUrl += "/"); + var shim = config.shim, objs = { + paths: !0, + bundles: !0, + config: !0, + map: !0 + }; + eachProp(cfg, function(value, prop) { + objs[prop] ? (config[prop] || (config[prop] = {}), mixin(config[prop], value, !0, !0)) : config[prop] = value; + }), cfg.bundles && eachProp(cfg.bundles, function(value, prop) { + each(value, function(v) { + v !== prop && (bundlesMap[v] = prop); + }); + }), cfg.shim && (eachProp(cfg.shim, function(value, id) { + isArray(value) && (value = { + deps: value + }), !value.exports && !value.init || value.exportsFn || (value.exportsFn = context.makeShimExports(value)), + shim[id] = value; + }), config.shim = shim), cfg.packages && each(cfg.packages, function(pkgObj) { + var location, name; + pkgObj = "string" == typeof pkgObj ? { + name: pkgObj + } : pkgObj, name = pkgObj.name, location = pkgObj.location, location && (config.paths[name] = pkgObj.location), + config.pkgs[name] = pkgObj.name + "/" + (pkgObj.main || "main").replace(currDirRegExp, "").replace(jsSuffixRegExp, ""); + }), eachProp(registry, function(mod, id) { + mod.inited || mod.map.unnormalized || (mod.map = makeModuleMap(id, null, !0)); + }), (cfg.deps || cfg.callback) && context.require(cfg.deps || [], cfg.callback); + }, + makeShimExports: function(value) { + function fn() { + var ret; + return value.init && (ret = value.init.apply(global, arguments)), ret || value.exports && getGlobal(value.exports); + } + return fn; + }, + makeRequire: function(relMap, options) { + function localRequire(deps, callback, errback) { + var id, map, requireMod; + return options.enableBuildCallback && callback && isFunction(callback) && (callback.__requireJsBuild = !0), + "string" == typeof deps ? isFunction(callback) ? onError(makeError("requireargs", "Invalid require call"), errback) : relMap && hasProp(handlers, deps) ? handlers[deps](registry[relMap.id]) : req.get ? req.get(context, deps, relMap, localRequire) : (map = makeModuleMap(deps, relMap, !1, !0), + id = map.id, hasProp(defined, id) ? defined[id] : onError(makeError("notloaded", 'Module name "' + id + '" has not been loaded yet for context: ' + contextName + (relMap ? "" : ". Use require([])")))) : (intakeDefines(), + context.nextTick(function() { + intakeDefines(), requireMod = getModule(makeModuleMap(null, relMap)), requireMod.skipMap = options.skipMap, + requireMod.init(deps, callback, errback, { + enabled: !0 + }), checkLoaded(); + }), localRequire); + } + return options = options || {}, mixin(localRequire, { + isBrowser: isBrowser, + toUrl: function(moduleNamePlusExt) { + var ext, index = moduleNamePlusExt.lastIndexOf("."), segment = moduleNamePlusExt.split("/")[0], isRelative = "." === segment || ".." === segment; + return -1 !== index && (!isRelative || index > 1) && (ext = moduleNamePlusExt.substring(index, moduleNamePlusExt.length), + moduleNamePlusExt = moduleNamePlusExt.substring(0, index)), context.nameToUrl(normalize(moduleNamePlusExt, relMap && relMap.id, !0), ext, !0); + }, + defined: function(id) { + return hasProp(defined, makeModuleMap(id, relMap, !1, !0).id); + }, + specified: function(id) { + return id = makeModuleMap(id, relMap, !1, !0).id, hasProp(defined, id) || hasProp(registry, id); + } + }), relMap || (localRequire.undef = function(id) { + takeGlobalQueue(); + var map = makeModuleMap(id, relMap, !0), mod = getOwn(registry, id); + mod.undefed = !0, removeScript(id), delete defined[id], delete urlFetched[map.url], + delete undefEvents[id], eachReverse(defQueue, function(args, i) { + args[0] === id && defQueue.splice(i, 1); + }), mod && (mod.events.defined && (undefEvents[id] = mod.events), cleanRegistry(id)); + }), localRequire; + }, + enable: function(depMap) { + var mod = getOwn(registry, depMap.id); + mod && getModule(depMap).enable(); + }, + completeLoad: function(moduleName) { + var found, args, mod, shim = getOwn(config.shim, moduleName) || {}, shExports = shim.exports; + for (takeGlobalQueue(); defQueue.length; ) { + if (args = defQueue.shift(), null === args[0]) { + if (args[0] = moduleName, found) break; + found = !0; + } else args[0] === moduleName && (found = !0); + callGetModule(args); + } + if (mod = getOwn(registry, moduleName), !found && !hasProp(defined, moduleName) && mod && !mod.inited) { + if (!(!config.enforceDefine || shExports && getGlobal(shExports))) return hasPathFallback(moduleName) ? void 0 : onError(makeError("nodefine", "No define call for " + moduleName, null, [ moduleName ])); + callGetModule([ moduleName, shim.deps || [], shim.exportsFn ]); + } + checkLoaded(); + }, + nameToUrl: function(moduleName, ext, skipExt) { + var paths, syms, i, parentModule, url, parentPath, bundleId, pkgMain = getOwn(config.pkgs, moduleName); + if (pkgMain && (moduleName = pkgMain), bundleId = getOwn(bundlesMap, moduleName)) return context.nameToUrl(bundleId, ext, skipExt); + if (req.jsExtRegExp.test(moduleName)) url = moduleName + (ext || ""); else { + for (paths = config.paths, syms = moduleName.split("/"), i = syms.length; i > 0; i -= 1) if (parentModule = syms.slice(0, i).join("/"), + parentPath = getOwn(paths, parentModule)) { + isArray(parentPath) && (parentPath = parentPath[0]), syms.splice(0, i, parentPath); + break; + } + url = syms.join("/"), url += ext || (/^data\:|\?/.test(url) || skipExt ? "" : ".js"), + url = ("/" === url.charAt(0) || url.match(/^[\w\+\.\-]+:/) ? "" : config.baseUrl) + url; + } + return config.urlArgs ? url + ((-1 === url.indexOf("?") ? "?" : "&") + config.urlArgs) : url; + }, + load: function(id, url) { + req.load(context, id, url); + }, + execCb: function(name, callback, args, exports) { + return callback.apply(exports, args); + }, + onScriptLoad: function(evt) { + if ("load" === evt.type || readyRegExp.test((evt.currentTarget || evt.srcElement).readyState)) { + interactiveScript = null; + var data = getScriptData(evt); + context.completeLoad(data.id); + } + }, + onScriptError: function(evt) { + var data = getScriptData(evt); + return hasPathFallback(data.id) ? void 0 : onError(makeError("scripterror", "Script error for: " + data.id, evt, [ data.id ])); + } + }, context.require = context.makeRequire(), context; + } + function getInteractiveScript() { + return interactiveScript && "interactive" === interactiveScript.readyState ? interactiveScript : (eachReverse(scripts(), function(script) { + return "interactive" === script.readyState ? interactiveScript = script : void 0; + }), interactiveScript); + } + var req, s, head, baseElement, dataMain, src, interactiveScript, currentlyAddingScript, mainScript, subPath, version = "2.1.18", commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/gm, cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g, jsSuffixRegExp = /\.js$/, currDirRegExp = /^\.\//, op = Object.prototype, ostring = op.toString, hasOwn = op.hasOwnProperty, ap = Array.prototype, apsp = ap.splice, isBrowser = !("undefined" == typeof window || "undefined" == typeof navigator || !window.document), isWebWorker = !isBrowser && "undefined" != typeof importScripts, readyRegExp = isBrowser && "PLAYSTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/, defContextName = "_", isOpera = "undefined" != typeof opera && "[object Opera]" === opera.toString(), contexts = {}, cfg = {}, globalDefQueue = [], useInteractive = !1; + if ("undefined" == typeof define) { + if ("undefined" != typeof requirejs) { + if (isFunction(requirejs)) return; + cfg = requirejs, requirejs = void 0; + } + "undefined" == typeof require || isFunction(require) || (cfg = require, require = void 0), + req = requirejs = function(deps, callback, errback, optional) { + var context, config, contextName = defContextName; + return isArray(deps) || "string" == typeof deps || (config = deps, isArray(callback) ? (deps = callback, + callback = errback, errback = optional) : deps = []), config && config.context && (contextName = config.context), + context = getOwn(contexts, contextName), context || (context = contexts[contextName] = req.s.newContext(contextName)), + config && context.configure(config), context.require(deps, callback, errback); + }, req.config = function(config) { + return req(config); + }, req.nextTick = "undefined" != typeof setTimeout ? function(fn) { + setTimeout(fn, 4); + } : function(fn) { + fn(); + }, require || (require = req), req.version = version, req.jsExtRegExp = /^\/|:|\?|\.js$/, + req.isBrowser = isBrowser, s = req.s = { + contexts: contexts, + newContext: newContext + }, req({}), each([ "toUrl", "undef", "defined", "specified" ], function(prop) { + req[prop] = function() { + var ctx = contexts[defContextName]; + return ctx.require[prop].apply(ctx, arguments); + }; + }), isBrowser && (head = s.head = document.getElementsByTagName("head")[0], baseElement = document.getElementsByTagName("base")[0], + baseElement && (head = s.head = baseElement.parentNode)), req.onError = defaultOnError, + req.createNode = function(config) { + var node = config.xhtml ? document.createElementNS("http://www.w3.org/1999/xhtml", "html:script") : document.createElement("script"); + return node.type = config.scriptType || "text/javascript", node.charset = "utf-8", + node.async = !0, node; + }, req.load = function(context, moduleName, url) { + var node, config = context && context.config || {}; + if (isBrowser) return node = req.createNode(config, moduleName, url), node.setAttribute("data-requirecontext", context.contextName), + node.setAttribute("data-requiremodule", moduleName), !node.attachEvent || node.attachEvent.toString && node.attachEvent.toString().indexOf("[native code") < 0 || isOpera ? (node.addEventListener("load", context.onScriptLoad, !1), + node.addEventListener("error", context.onScriptError, !1)) : (useInteractive = !0, + node.attachEvent("onreadystatechange", context.onScriptLoad)), node.src = url, currentlyAddingScript = node, + baseElement ? head.insertBefore(node, baseElement) : head.appendChild(node), currentlyAddingScript = null, + node; + if (isWebWorker) try { + importScripts(url), context.completeLoad(moduleName); + } catch (e) { + context.onError(makeError("importscripts", "importScripts failed for " + moduleName + " at " + url, e, [ moduleName ])); + } + }, isBrowser && !cfg.skipDataMain && eachReverse(scripts(), function(script) { + return head || (head = script.parentNode), dataMain = script.getAttribute("data-main"), + dataMain ? (mainScript = dataMain, cfg.baseUrl || (src = mainScript.split("/"), + mainScript = src.pop(), subPath = src.length ? src.join("/") + "/" : "./", cfg.baseUrl = subPath), + mainScript = mainScript.replace(jsSuffixRegExp, ""), req.jsExtRegExp.test(mainScript) && (mainScript = dataMain), + cfg.deps = cfg.deps ? cfg.deps.concat(mainScript) : [ mainScript ], !0) : void 0; + }), define = function(name, deps, callback) { + var node, context; + "string" != typeof name && (callback = deps, deps = name, name = null), isArray(deps) || (callback = deps, + deps = null), !deps && isFunction(callback) && (deps = [], callback.length && (callback.toString().replace(commentRegExp, "").replace(cjsRequireRegExp, function(match, dep) { + deps.push(dep); + }), deps = (1 === callback.length ? [ "require" ] : [ "require", "exports", "module" ]).concat(deps))), + useInteractive && (node = currentlyAddingScript || getInteractiveScript(), node && (name || (name = node.getAttribute("data-requiremodule")), + context = contexts[node.getAttribute("data-requirecontext")])), (context ? context.defQueue : globalDefQueue).push([ name, deps, callback ]); + }, define.amd = { + jQuery: !0 + }, req.exec = function(text) { + return eval(text); + }, req(cfg); + } +}(this), define("requirejs", function() {}), function(global, factory) { + "object" == typeof module && "object" == typeof module.exports ? module.exports = global.document ? factory(global, !0) : function(w) { + if (!w.document) throw new Error("jQuery requires a window with a document"); + return factory(w); + } : factory(global); +}("undefined" != typeof window ? window : this, function(window, noGlobal) { + function isArraylike(obj) { + var length = "length" in obj && obj.length, type = jQuery.type(obj); + return "function" === type || jQuery.isWindow(obj) ? !1 : 1 === obj.nodeType && length ? !0 : "array" === type || 0 === length || "number" == typeof length && length > 0 && length - 1 in obj; + } + function winnow(elements, qualifier, not) { + if (jQuery.isFunction(qualifier)) return jQuery.grep(elements, function(elem, i) { + return !!qualifier.call(elem, i, elem) !== not; + }); + if (qualifier.nodeType) return jQuery.grep(elements, function(elem) { + return elem === qualifier !== not; + }); + if ("string" == typeof qualifier) { + if (risSimple.test(qualifier)) return jQuery.filter(qualifier, elements, not); + qualifier = jQuery.filter(qualifier, elements); + } + return jQuery.grep(elements, function(elem) { + return jQuery.inArray(elem, qualifier) >= 0 !== not; + }); + } + function sibling(cur, dir) { + do cur = cur[dir]; while (cur && 1 !== cur.nodeType); + return cur; + } + function createOptions(options) { + var object = optionsCache[options] = {}; + return jQuery.each(options.match(rnotwhite) || [], function(_, flag) { + object[flag] = !0; + }), object; + } + function detach() { + document.addEventListener ? (document.removeEventListener("DOMContentLoaded", completed, !1), + window.removeEventListener("load", completed, !1)) : (document.detachEvent("onreadystatechange", completed), + window.detachEvent("onload", completed)); + } + function completed() { + (document.addEventListener || "load" === event.type || "complete" === document.readyState) && (detach(), + jQuery.ready()); + } + function dataAttr(elem, key, data) { + if (void 0 === data && 1 === elem.nodeType) { + var name = "data-" + key.replace(rmultiDash, "-$1").toLowerCase(); + if (data = elem.getAttribute(name), "string" == typeof data) { + try { + data = "true" === data ? !0 : "false" === data ? !1 : "null" === data ? null : +data + "" === data ? +data : rbrace.test(data) ? jQuery.parseJSON(data) : data; + } catch (e) {} + jQuery.data(elem, key, data); + } else data = void 0; + } + return data; + } + function isEmptyDataObject(obj) { + var name; + for (name in obj) if (("data" !== name || !jQuery.isEmptyObject(obj[name])) && "toJSON" !== name) return !1; + return !0; + } + function internalData(elem, name, data, pvt) { + if (jQuery.acceptData(elem)) { + var ret, thisCache, internalKey = jQuery.expando, isNode = elem.nodeType, cache = isNode ? jQuery.cache : elem, id = isNode ? elem[internalKey] : elem[internalKey] && internalKey; + if (id && cache[id] && (pvt || cache[id].data) || void 0 !== data || "string" != typeof name) return id || (id = isNode ? elem[internalKey] = deletedIds.pop() || jQuery.guid++ : internalKey), + cache[id] || (cache[id] = isNode ? {} : { + toJSON: jQuery.noop + }), ("object" == typeof name || "function" == typeof name) && (pvt ? cache[id] = jQuery.extend(cache[id], name) : cache[id].data = jQuery.extend(cache[id].data, name)), + thisCache = cache[id], pvt || (thisCache.data || (thisCache.data = {}), thisCache = thisCache.data), + void 0 !== data && (thisCache[jQuery.camelCase(name)] = data), "string" == typeof name ? (ret = thisCache[name], + null == ret && (ret = thisCache[jQuery.camelCase(name)])) : ret = thisCache, ret; + } + } + function internalRemoveData(elem, name, pvt) { + if (jQuery.acceptData(elem)) { + var thisCache, i, isNode = elem.nodeType, cache = isNode ? jQuery.cache : elem, id = isNode ? elem[jQuery.expando] : jQuery.expando; + if (cache[id]) { + if (name && (thisCache = pvt ? cache[id] : cache[id].data)) { + jQuery.isArray(name) ? name = name.concat(jQuery.map(name, jQuery.camelCase)) : name in thisCache ? name = [ name ] : (name = jQuery.camelCase(name), + name = name in thisCache ? [ name ] : name.split(" ")), i = name.length; + for (;i--; ) delete thisCache[name[i]]; + if (pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache)) return; + } + (pvt || (delete cache[id].data, isEmptyDataObject(cache[id]))) && (isNode ? jQuery.cleanData([ elem ], !0) : support.deleteExpando || cache != cache.window ? delete cache[id] : cache[id] = null); + } + } + } + function returnTrue() { + return !0; + } + function returnFalse() { + return !1; + } + function safeActiveElement() { + try { + return document.activeElement; + } catch (err) {} + } + function createSafeFragment(document) { + var list = nodeNames.split("|"), safeFrag = document.createDocumentFragment(); + if (safeFrag.createElement) for (;list.length; ) safeFrag.createElement(list.pop()); + return safeFrag; + } + function getAll(context, tag) { + var elems, elem, i = 0, found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName(tag || "*") : typeof context.querySelectorAll !== strundefined ? context.querySelectorAll(tag || "*") : void 0; + if (!found) for (found = [], elems = context.childNodes || context; null != (elem = elems[i]); i++) !tag || jQuery.nodeName(elem, tag) ? found.push(elem) : jQuery.merge(found, getAll(elem, tag)); + return void 0 === tag || tag && jQuery.nodeName(context, tag) ? jQuery.merge([ context ], found) : found; + } + function fixDefaultChecked(elem) { + rcheckableType.test(elem.type) && (elem.defaultChecked = elem.checked); + } + function manipulationTarget(elem, content) { + return jQuery.nodeName(elem, "table") && jQuery.nodeName(11 !== content.nodeType ? content : content.firstChild, "tr") ? elem.getElementsByTagName("tbody")[0] || elem.appendChild(elem.ownerDocument.createElement("tbody")) : elem; + } + function disableScript(elem) { + return elem.type = (null !== jQuery.find.attr(elem, "type")) + "/" + elem.type, + elem; + } + function restoreScript(elem) { + var match = rscriptTypeMasked.exec(elem.type); + return match ? elem.type = match[1] : elem.removeAttribute("type"), elem; + } + function setGlobalEval(elems, refElements) { + for (var elem, i = 0; null != (elem = elems[i]); i++) jQuery._data(elem, "globalEval", !refElements || jQuery._data(refElements[i], "globalEval")); + } + function cloneCopyEvent(src, dest) { + if (1 === dest.nodeType && jQuery.hasData(src)) { + var type, i, l, oldData = jQuery._data(src), curData = jQuery._data(dest, oldData), events = oldData.events; + if (events) { + delete curData.handle, curData.events = {}; + for (type in events) for (i = 0, l = events[type].length; l > i; i++) jQuery.event.add(dest, type, events[type][i]); + } + curData.data && (curData.data = jQuery.extend({}, curData.data)); + } + } + function fixCloneNodeIssues(src, dest) { + var nodeName, e, data; + if (1 === dest.nodeType) { + if (nodeName = dest.nodeName.toLowerCase(), !support.noCloneEvent && dest[jQuery.expando]) { + data = jQuery._data(dest); + for (e in data.events) jQuery.removeEvent(dest, e, data.handle); + dest.removeAttribute(jQuery.expando); + } + "script" === nodeName && dest.text !== src.text ? (disableScript(dest).text = src.text, + restoreScript(dest)) : "object" === nodeName ? (dest.parentNode && (dest.outerHTML = src.outerHTML), + support.html5Clone && src.innerHTML && !jQuery.trim(dest.innerHTML) && (dest.innerHTML = src.innerHTML)) : "input" === nodeName && rcheckableType.test(src.type) ? (dest.defaultChecked = dest.checked = src.checked, + dest.value !== src.value && (dest.value = src.value)) : "option" === nodeName ? dest.defaultSelected = dest.selected = src.defaultSelected : ("input" === nodeName || "textarea" === nodeName) && (dest.defaultValue = src.defaultValue); + } + } + function actualDisplay(name, doc) { + var style, elem = jQuery(doc.createElement(name)).appendTo(doc.body), display = window.getDefaultComputedStyle && (style = window.getDefaultComputedStyle(elem[0])) ? style.display : jQuery.css(elem[0], "display"); + return elem.detach(), display; + } + function defaultDisplay(nodeName) { + var doc = document, display = elemdisplay[nodeName]; + return display || (display = actualDisplay(nodeName, doc), "none" !== display && display || (iframe = (iframe || jQuery("