/*!
* jQuery JavaScript Library v1.11.0
* 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: 2014-01-23T21:02Z
*/
(function( global, factory ) {
if ( typeof module === "object" && typeof module.exports === "object" ) {
// For CommonJS and CommonJS-like environments where a proper window is present,
// execute the factory and get jQuery
// For environments that do not inherently posses a window with a document
// (such as Node.js), expose a jQuery-making factory as module.exports
// This accentuates the need for the creation of a real window
// e.g. var jQuery = require("jquery")(window);
// See ticket #14549 for more info
module.exports = global.document ?
factory( global, true ) :
function( w ) {
if ( !w.document ) {
throw new Error( "jQuery requires a window with a document" );
}
return factory( w );
};
} else {
factory( global );
}
// Pass this if window is not defined yet
}(typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
// Can't do this because several apps including ASP.NET trace
// the stack via arguments.caller.callee and Firefox dies if
// you try to trace through "use strict" call chains. (#13335)
// Support: Firefox 18+
//
var deletedIds = [];
var slice = deletedIds.slice;
var concat = deletedIds.concat;
var push = deletedIds.push;
var indexOf = deletedIds.indexOf;
var class2type = {};
var toString = class2type.toString;
var hasOwn = class2type.hasOwnProperty;
var trim = "".trim;
var support = {};
var
version = "1.11.0",
// Define a local copy of jQuery
jQuery = function( selector, context ) {
// The jQuery object is actually just the init constructor 'enhanced'
// Need init if jQuery is called (just allow error to be thrown if not included)
return new jQuery.fn.init( selector, context );
},
// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
// Matches dashed string for camelizing
rmsPrefix = /^-ms-/,
rdashAlpha = /-([\da-z])/gi,
// Used by jQuery.camelCase as callback to replace()
fcamelCase = function( all, letter ) {
return letter.toUpperCase();
};
jQuery.fn = jQuery.prototype = {
// The current version of jQuery being used
jquery: version,
constructor: jQuery,
// Start with an empty selector
selector: "",
// The default length of a jQuery object is 0
length: 0,
toArray: function() {
return slice.call( this );
},
// Get the Nth element in the matched element set OR
// Get the whole matched element set as a clean array
get: function( num ) {
return num != null ?
// Return a 'clean' array
( num < 0 ? this[ num + this.length ] : this[ num ] ) :
// Return just the object
slice.call( this );
},
// Take an array of elements and push it onto the stack
// (returning the new matched element set)
pushStack: function( elems ) {
// Build a new jQuery matched element set
var ret = jQuery.merge( this.constructor(), elems );
// Add the old object onto the stack (as a reference)
ret.prevObject = this;
ret.context = this.context;
// Return the newly-formed element set
return ret;
},
// Execute a callback for every element in the matched set.
// (You can seed the arguments with an array of args, but this is
// only used internally.)
each: function( callback, args ) {
return jQuery.each( this, callback, args );
},
map: function( callback ) {
return this.pushStack( jQuery.map(this, function( elem, i ) {
return callback.call( elem, i, elem );
}));
},
slice: function() {
return this.pushStack( slice.apply( this, arguments ) );
},
first: function() {
return this.eq( 0 );
},
last: function() {
return this.eq( -1 );
},
eq: function( i ) {
var len = this.length,
j = +i + ( i < 0 ? len : 0 );
return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
},
end: function() {
return this.prevObject || this.constructor(null);
},
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: deletedIds.sort,
splice: deletedIds.splice
};
jQuery.extend = jQuery.fn.extend = function() {
var src, copyIsArray, copy, name, options, clone,
target = arguments[0] || {},
i = 1,
length = arguments.length,
deep = false;
// Handle a deep copy situation
if ( typeof target === "boolean" ) {
deep = target;
// skip the boolean and the target
target = arguments[ i ] || {};
i++;
}
// Handle case when target is a string or something (possible in deep copy)
if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
target = {};
}
// extend jQuery itself if only one argument is passed
if ( i === length ) {
target = this;
i--;
}
for ( ; i < length; i++ ) {
// Only deal with non-null/undefined values
if ( (options = arguments[ i ]) != null ) {
// Extend the base object
for ( name in options ) {
src = target[ name ];
copy = options[ name ];
// Prevent never-ending loop
if ( target === copy ) {
continue;
}
// Recurse if we're merging plain objects or arrays
if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {
if ( copyIsArray ) {
copyIsArray = false;
clone = src && jQuery.isArray(src) ? src : [];
} else {
clone = src && jQuery.isPlainObject(src) ? src : {};
}
// Never move original objects, clone them
target[ name ] = jQuery.extend( deep, clone, copy );
// Don't bring in undefined values
} else if ( copy !== undefined ) {
target[ name ] = copy;
}
}
}
}
// Return the modified object
return target;
};
jQuery.extend({
// Unique for each copy of jQuery on the page
expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
// Assume jQuery is ready without the ready module
isReady: true,
error: function( msg ) {
throw new Error( msg );
},
noop: function() {},
// See test/unit/core.js for details concerning isFunction.
// Since version 1.3, DOM methods and functions like alert
// aren't supported. They return false on IE (#2968).
isFunction: function( obj ) {
return jQuery.type(obj) === "function";
},
isArray: Array.isArray || function( obj ) {
return jQuery.type(obj) === "array";
},
isWindow: function( obj ) {
/* jshint eqeqeq: false */
return obj != null && obj == obj.window;
},
isNumeric: function( obj ) {
// parseFloat NaNs numeric-cast false positives (null|true|false|"")
// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
// subtraction forces infinities to NaN
return obj - parseFloat( obj ) >= 0;
},
isEmptyObject: function( obj ) {
var name;
for ( name in obj ) {
return false;
}
return true;
},
isPlainObject: function( obj ) {
var key;
// Must be an Object.
// Because of IE, we also have to check the presence of the constructor property.
// Make sure that DOM nodes and window objects don't pass through, as well
if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
return false;
}
try {
// Not own constructor property must be Object
if ( obj.constructor &&
!hasOwn.call(obj, "constructor") &&
!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
return false;
}
} catch ( e ) {
// IE8,9 Will throw exceptions on certain host objects #9897
return false;
}
// Support: IE<9
// Handle iteration over inherited properties before own properties.
if ( support.ownLast ) {
for ( key in obj ) {
return hasOwn.call( obj, key );
}
}
// Own properties are enumerated firstly, so to speed up,
// if last one is own, then all properties are own.
for ( key in obj ) {}
return key === undefined || hasOwn.call( obj, key );
},
type: function( obj ) {
if ( obj == null ) {
return obj + "";
}
return typeof obj === "object" || typeof obj === "function" ?
class2type[ toString.call(obj) ] || "object" :
typeof obj;
},
// Evaluates a script in a global context
// Workarounds based on findings by Jim Driscoll
// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context
globalEval: function( data ) {
if ( data && jQuery.trim( data ) ) {
// We use execScript on Internet Explorer
// We use an anonymous function so that context is window
// rather than jQuery in Firefox
( window.execScript || function( data ) {
window[ "eval" ].call( window, data );
} )( data );
}
},
// Convert dashed to camelCase; used by the css and data modules
// Microsoft forgot to hump their vendor prefix (#9572)
camelCase: function( string ) {
return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
},
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
},
// args is for internal usage only
each: function( obj, callback, args ) {
var value,
i = 0,
length = obj.length,
isArray = isArraylike( obj );
if ( args ) {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.apply( obj[ i ], args );
if ( value === false ) {
break;
}
}
}
// A special, fast, case for the most common use of each
} else {
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
break;
}
}
} else {
for ( i in obj ) {
value = callback.call( obj[ i ], i, obj[ i ] );
if ( value === false ) {
break;
}
}
}
}
return obj;
},
// Use native String.trim function wherever possible
trim: trim && !trim.call("\uFEFF\xA0") ?
function( text ) {
return text == null ?
"" :
trim.call( text );
} :
// Otherwise use our own trimming functionality
function( text ) {
return text == null ?
"" :
( text + "" ).replace( rtrim, "" );
},
// results is for internal usage only
makeArray: function( arr, results ) {
var ret = results || [];
if ( arr != null ) {
if ( isArraylike( Object(arr) ) ) {
jQuery.merge( ret,
typeof arr === "string" ?
[ arr ] : arr
);
} else {
push.call( ret, arr );
}
}
return ret;
},
inArray: function( elem, arr, i ) {
var len;
if ( arr ) {
if ( indexOf ) {
return indexOf.call( arr, elem, i );
}
len = arr.length;
i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;
for ( ; i < len; i++ ) {
// Skip accessing in sparse arrays
if ( i in arr && arr[ i ] === elem ) {
return i;
}
}
}
return -1;
},
merge: function( first, second ) {
var len = +second.length,
j = 0,
i = first.length;
while ( j < len ) {
first[ i++ ] = second[ j++ ];
}
// Support: IE<9
// Workaround casting of .length to NaN on otherwise arraylike objects (e.g., NodeLists)
if ( len !== len ) {
while ( second[j] !== undefined ) {
first[ i++ ] = second[ j++ ];
}
}
first.length = i;
return first;
},
grep: function( elems, callback, invert ) {
var callbackInverse,
matches = [],
i = 0,
length = elems.length,
callbackExpect = !invert;
// Go through the array, only saving the items
// that pass the validator function
for ( ; i < length; i++ ) {
callbackInverse = !callback( elems[ i ], i );
if ( callbackInverse !== callbackExpect ) {
matches.push( elems[ i ] );
}
}
return matches;
},
// arg is for internal usage only
map: function( elems, callback, arg ) {
var value,
i = 0,
length = elems.length,
isArray = isArraylike( elems ),
ret = [];
// Go through the array, translating each of the items to their new values
if ( isArray ) {
for ( ; i < length; i++ ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
// Go through every key on the object,
} else {
for ( i in elems ) {
value = callback( elems[ i ], i, arg );
if ( value != null ) {
ret.push( value );
}
}
}
// Flatten any nested arrays
return concat.apply( [], ret );
},
// A global GUID counter for objects
guid: 1,
// Bind a function to a context, optionally partially applying any
// arguments.
proxy: function( fn, context ) {
var args, proxy, tmp;
if ( typeof context === "string" ) {
tmp = fn[ context ];
context = fn;
fn = tmp;
}
// Quick check to determine if target is callable, in the spec
// this throws a TypeError, but we will just return undefined.
if ( !jQuery.isFunction( fn ) ) {
return undefined;
}
// Simulated bind
args = slice.call( arguments, 2 );
proxy = function() {
return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
};
// Set the guid of unique handler to the same of original handler, so it can be removed
proxy.guid = fn.guid = fn.guid || jQuery.guid++;
return proxy;
},
now: function() {
return +( new Date() );
},
// jQuery.support is not used in Core but other projects attach their
// properties to it so it needs to exist.
support: support
});
// Populate the class2type map
jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
class2type[ "[object " + name + "]" ] = name.toLowerCase();
});
function isArraylike( obj ) {
var length = obj.length,
type = jQuery.type( obj );
if ( type === "function" || jQuery.isWindow( obj ) ) {
return false;
}
if ( obj.nodeType === 1 && length ) {
return true;
}
return type === "array" || length === 0 ||
typeof length === "number" && length > 0 && ( length - 1 ) in obj;
}
var Sizzle =
/*!
* Sizzle CSS Selector Engine v1.10.16
* http://sizzlejs.com/
*
* Copyright 2013 jQuery Foundation, Inc. and other contributors
* Released under the MIT license
* http://jquery.org/license
*
* Date: 2014-01-13
*/
(function( window ) {
var i,
support,
Expr,
getText,
isXML,
compile,
outermostContext,
sortInput,
hasDuplicate,
// Local document vars
setDocument,
document,
docElem,
documentIsHTML,
rbuggyQSA,
rbuggyMatches,
matches,
contains,
// Instance-specific data
expando = "sizzle" + -(new Date()),
preferredDoc = window.document,
dirruns = 0,
done = 0,
classCache = createCache(),
tokenCache = createCache(),
compilerCache = createCache(),
sortOrder = function( a, b ) {
if ( a === b ) {
hasDuplicate = true;
}
return 0;
},
// General-purpose constants
strundefined = typeof undefined,
MAX_NEGATIVE = 1 << 31,
// Instance methods
hasOwn = ({}).hasOwnProperty,
arr = [],
pop = arr.pop,
push_native = arr.push,
push = arr.push,
slice = arr.slice,
// Use a stripped-down indexOf if we can't use a native one
indexOf = arr.indexOf || function( elem ) {
var i = 0,
len = this.length;
for ( ; i < len; i++ ) {
if ( this[i] === elem ) {
return i;
}
}
return -1;
},
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
// Regular expressions
// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace
whitespace = "[\\x20\\t\\r\\n\\f]",
// http://www.w3.org/TR/css3-syntax/#characters
characterEncoding = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
// Loosely modeled on CSS identifier characters
// An unquoted value should be a CSS identifier http://www.w3.org/TR/css3-selectors/#attribute-selectors
// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
identifier = characterEncoding.replace( "w", "w#" ),
// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
"*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
// Prefer arguments quoted,
// then not containing pseudos/brackets,
// then attribute selectors/non-parenthetical expressions,
// then anything else
// These preferences are here to reduce the number of selectors
// needing tokenize in the PSEUDO preFilter
pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
rpseudo = new RegExp( pseudos ),
ridentifier = new RegExp( "^" + identifier + "$" ),
matchExpr = {
"ID": new RegExp( "^#(" + characterEncoding + ")" ),
"CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
"TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
"ATTR": new RegExp( "^" + attributes ),
"PSEUDO": new RegExp( "^" + pseudos ),
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
// For use in libraries implementing .is()
// We use this for POS matching in `select`
"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
},
rinputs = /^(?:input|select|textarea|button)$/i,
rheader = /^h\d$/i,
rnative = /^[^{]+\{\s*\[native \w/,
// Easily-parseable/retrievable ID or TAG or CLASS selectors
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
rsibling = /[+~]/,
rescape = /'|\\/g,
// CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
funescape = function( _, escaped, escapedWhitespace ) {
var high = "0x" + escaped - 0x10000;
// NaN means non-codepoint
// Support: Firefox
// Workaround erroneous numeric interpretation of +"0x"
return high !== high || escapedWhitespace ?
escaped :
high < 0 ?
// BMP codepoint
String.fromCharCode( high + 0x10000 ) :
// Supplemental Plane codepoint (surrogate pair)
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
};
// Optimize for push.apply( _, NodeList )
try {
push.apply(
(arr = slice.call( preferredDoc.childNodes )),
preferredDoc.childNodes
);
// Support: Android<4.0
// Detect silently failing push.apply
arr[ preferredDoc.childNodes.length ].nodeType;
} catch ( e ) {
push = { apply: arr.length ?
// Leverage slice if possible
function( target, els ) {
push_native.apply( target, slice.call(els) );
} :
// Support: IE<9
// Otherwise append directly
function( target, els ) {
var j = target.length,
i = 0;
// Can't trust NodeList.length
while ( (target[j++] = els[i++]) ) {}
target.length = j - 1;
}
};
}
function Sizzle( selector, context, results, seed ) {
var match, elem, m, nodeType,
// QSA vars
i, groups, old, nid, newContext, newSelector;
if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
setDocument( context );
}
context = context || document;
results = results || [];
if ( !selector || typeof selector !== "string" ) {
return results;
}
if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
return [];
}
if ( documentIsHTML && !seed ) {
// Shortcuts
if ( (match = rquickExpr.exec( selector )) ) {
// Speed-up: Sizzle("#ID")
if ( (m = match[1]) ) {
if ( nodeType === 9 ) {
elem = context.getElementById( m );
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document (jQuery #6963)
if ( elem && elem.parentNode ) {
// Handle the case where IE, Opera, and Webkit return items
// by name instead of ID
if ( elem.id === m ) {
results.push( elem );
return results;
}
} else {
return results;
}
} else {
// Context is not a document
if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&
contains( context, elem ) && elem.id === m ) {
results.push( elem );
return results;
}
}
// Speed-up: Sizzle("TAG")
} else if ( match[2] ) {
push.apply( results, context.getElementsByTagName( selector ) );
return results;
// Speed-up: Sizzle(".CLASS")
} else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {
push.apply( results, context.getElementsByClassName( m ) );
return results;
}
}
// QSA path
if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
nid = old = expando;
newContext = context;
newSelector = nodeType === 9 && selector;
// qSA works strangely on Element-rooted queries
// We can work around this by specifying an extra ID on the root
// and working up from there (Thanks to Andrew Dupont for the technique)
// IE 8 doesn't work on object elements
if ( nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) {
groups = tokenize( selector );
if ( (old = context.getAttribute("id")) ) {
nid = old.replace( rescape, "\\$&" );
} else {
context.setAttribute( "id", nid );
}
nid = "[id='" + nid + "'] ";
i = groups.length;
while ( i-- ) {
groups[i] = nid + toSelector( groups[i] );
}
newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;
newSelector = groups.join(",");
}
if ( newSelector ) {
try {
push.apply( results,
newContext.querySelectorAll( newSelector )
);
return results;
} catch(qsaError) {
} finally {
if ( !old ) {
context.removeAttribute("id");
}
}
}
}
}
// All others
return select( selector.replace( rtrim, "$1" ), context, results, seed );
}
/**
* Create key-value caches of limited size
* @returns {Function(string, Object)} Returns the Object data after storing it on itself with
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
* deleting the oldest entry
*/
function createCache() {
var keys = [];
function cache( key, value ) {
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
if ( keys.push( key + " " ) > Expr.cacheLength ) {
// Only keep the most recent entries
delete cache[ keys.shift() ];
}
return (cache[ key + " " ] = value);
}
return cache;
}
/**
* Mark a function for special use by Sizzle
* @param {Function} fn The function to mark
*/
function markFunction( fn ) {
fn[ expando ] = true;
return fn;
}
/**
* Support testing using an element
* @param {Function} fn Passed the created div and expects a boolean result
*/
function assert( fn ) {
var div = document.createElement("div");
try {
return !!fn( div );
} catch (e) {
return false;
} finally {
// Remove from its parent by default
if ( div.parentNode ) {
div.parentNode.removeChild( div );
}
// release memory in IE
div = null;
}
}
/**
* Adds the same handler for all of the specified attrs
* @param {String} attrs Pipe-separated list of attributes
* @param {Function} handler The method that will be applied
*/
function addHandle( attrs, handler ) {
var arr = attrs.split("|"),
i = attrs.length;
while ( i-- ) {
Expr.attrHandle[ arr[i] ] = handler;
}
}
/**
* Checks document order of two siblings
* @param {Element} a
* @param {Element} b
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
*/
function siblingCheck( a, b ) {
var cur = b && a,
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
( ~b.sourceIndex || MAX_NEGATIVE ) -
( ~a.sourceIndex || MAX_NEGATIVE );
// Use IE sourceIndex if available on both nodes
if ( diff ) {
return diff;
}
// Check if b follows a
if ( cur ) {
while ( (cur = cur.nextSibling) ) {
if ( cur === b ) {
return -1;
}
}
}
return a ? 1 : -1;
}
/**
* Returns a function to use in pseudos for input types
* @param {String} type
*/
function createInputPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for buttons
* @param {String} type
*/
function createButtonPseudo( type ) {
return function( elem ) {
var name = elem.nodeName.toLowerCase();
return (name === "input" || name === "button") && elem.type === type;
};
}
/**
* Returns a function to use in pseudos for positionals
* @param {Function} fn
*/
function createPositionalPseudo( fn ) {
return markFunction(function( argument ) {
argument = +argument;
return markFunction(function( seed, matches ) {
var j,
matchIndexes = fn( [], seed.length, argument ),
i = matchIndexes.length;
// Match elements found at the specified indexes
while ( i-- ) {
if ( seed[ (j = matchIndexes[i]) ] ) {
seed[j] = !(matches[j] = seed[j]);
}
}
});
});
}
/**
* Checks a node for validity as a Sizzle context
* @param {Element|Object=} context
* @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
*/
function testContext( context ) {
return context && typeof context.getElementsByTagName !== strundefined && context;
}
// Expose support vars for convenience
support = Sizzle.support = {};
/**
* Detects XML nodes
* @param {Element|Object} elem An element or a document
* @returns {Boolean} True iff elem is a non-HTML XML node
*/
isXML = Sizzle.isXML = function( elem ) {
// documentElement is verified for cases where it doesn't yet exist
// (such as loading iframes in IE - #4833)
var documentElement = elem && (elem.ownerDocument || elem).documentElement;
return documentElement ? documentElement.nodeName !== "HTML" : false;
};
/**
* Sets document-related variables once based on the current document
* @param {Element|Object} [doc] An element or document object to use to set the document
* @returns {Object} Returns the current document
*/
setDocument = Sizzle.setDocument = function( node ) {
var hasCompare,
doc = node ? node.ownerDocument || node : preferredDoc,
parent = doc.defaultView;
// If no document and documentElement is available, return
if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
return document;
}
// Set our document
document = doc;
docElem = doc.documentElement;
// Support tests
documentIsHTML = !isXML( doc );
// Support: IE>8
// If iframe document is assigned to "document" variable and if iframe has been reloaded,
// IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
// IE6-8 do not support the defaultView property so parent will be undefined
if ( parent && parent !== parent.top ) {
// IE11 does not have attachEvent, so all must suffer
if ( parent.addEventListener ) {
parent.addEventListener( "unload", function() {
setDocument();
}, false );
} else if ( parent.attachEvent ) {
parent.attachEvent( "onunload", function() {
setDocument();
});
}
}
/* Attributes
---------------------------------------------------------------------- */
// Support: IE<8
// Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
support.attributes = assert(function( div ) {
div.className = "i";
return !div.getAttribute("className");
});
/* getElement(s)By*
---------------------------------------------------------------------- */
// Check if getElementsByTagName("*") returns only elements
support.getElementsByTagName = assert(function( div ) {
div.appendChild( doc.createComment("") );
return !div.getElementsByTagName("*").length;
});
// Check if getElementsByClassName can be trusted
support.getElementsByClassName = rnative.test( doc.getElementsByClassName ) && assert(function( div ) {
div.innerHTML = "
";
// Support: Safari<4
// Catch class over-caching
div.firstChild.className = "i";
// Support: Opera<10
// Catch gEBCN failure to find non-leading classes
return div.getElementsByClassName("i").length === 2;
});
// Support: IE<10
// Check if getElementById returns elements by name
// The broken getElementById methods don't pick up programatically-set names,
// so use a roundabout getElementsByName test
support.getById = assert(function( div ) {
docElem.appendChild( div ).id = expando;
return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
});
// ID find and filter
if ( support.getById ) {
Expr.find["ID"] = function( id, context ) {
if ( typeof context.getElementById !== strundefined && documentIsHTML ) {
var m = context.getElementById( id );
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
return m && m.parentNode ? [m] : [];
}
};
Expr.filter["ID"] = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
return elem.getAttribute("id") === attrId;
};
};
} else {
// Support: IE6/7
// getElementById is not reliable as a find shortcut
delete Expr.find["ID"];
Expr.filter["ID"] = function( id ) {
var attrId = id.replace( runescape, funescape );
return function( elem ) {
var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id");
return node && node.value === attrId;
};
};
}
// Tag
Expr.find["TAG"] = support.getElementsByTagName ?
function( tag, context ) {
if ( typeof context.getElementsByTagName !== strundefined ) {
return context.getElementsByTagName( tag );
}
} :
function( tag, context ) {
var elem,
tmp = [],
i = 0,
results = context.getElementsByTagName( tag );
// Filter out possible comments
if ( tag === "*" ) {
while ( (elem = results[i++]) ) {
if ( elem.nodeType === 1 ) {
tmp.push( elem );
}
}
return tmp;
}
return results;
};
// Class
Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) {
return context.getElementsByClassName( className );
}
};
/* QSA/matchesSelector
---------------------------------------------------------------------- */
// QSA and matchesSelector support
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
rbuggyMatches = [];
// qSa(:focus) reports false when true (Chrome 21)
// We allow this because of a bug in IE8/9 that throws an error
// whenever `document.activeElement` is accessed on an iframe
// So, we allow :focus to pass through QSA all the time to avoid the IE error
// See http://bugs.jquery.com/ticket/13378
rbuggyQSA = [];
if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
// Build QSA regex
// Regex strategy adopted from Diego Perini
assert(function( div ) {
// Select is set to empty string on purpose
// This is to test IE's treatment of not explicitly
// setting a boolean content attribute,
// since its presence should be enough
// http://bugs.jquery.com/ticket/12359
div.innerHTML = " ";
// Support: IE8, Opera 10-12
// Nothing should be selected when empty strings follow ^= or $= or *=
if ( div.querySelectorAll("[t^='']").length ) {
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
}
// Support: IE8
// Boolean attributes and "value" are not treated correctly
if ( !div.querySelectorAll("[selected]").length ) {
rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
}
// Webkit/Opera - :checked should return selected option elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":checked").length ) {
rbuggyQSA.push(":checked");
}
});
assert(function( div ) {
// Support: Windows 8 Native Apps
// The type and name attributes are restricted during .innerHTML assignment
var input = doc.createElement("input");
input.setAttribute( "type", "hidden" );
div.appendChild( input ).setAttribute( "name", "D" );
// Support: IE8
// Enforce case-sensitivity of name attribute
if ( div.querySelectorAll("[name=d]").length ) {
rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
}
// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
// IE8 throws error here and will not see later tests
if ( !div.querySelectorAll(":enabled").length ) {
rbuggyQSA.push( ":enabled", ":disabled" );
}
// Opera 10-11 does not throw on post-comma invalid pseudos
div.querySelectorAll("*,:x");
rbuggyQSA.push(",.*:");
});
}
if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
docElem.mozMatchesSelector ||
docElem.oMatchesSelector ||
docElem.msMatchesSelector) )) ) {
assert(function( div ) {
// Check to see if it's possible to do matchesSelector
// on a disconnected node (IE 9)
support.disconnectedMatch = matches.call( div, "div" );
// This should fail with an exception
// Gecko does not error, returns false instead
matches.call( div, "[s!='']:x" );
rbuggyMatches.push( "!=", pseudos );
});
}
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
/* Contains
---------------------------------------------------------------------- */
hasCompare = rnative.test( docElem.compareDocumentPosition );
// Element contains another
// Purposefully does not implement inclusive descendent
// As in, an element does not contain itself
contains = hasCompare || rnative.test( docElem.contains ) ?
function( a, b ) {
var adown = a.nodeType === 9 ? a.documentElement : a,
bup = b && b.parentNode;
return a === bup || !!( bup && bup.nodeType === 1 && (
adown.contains ?
adown.contains( bup ) :
a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
));
} :
function( a, b ) {
if ( b ) {
while ( (b = b.parentNode) ) {
if ( b === a ) {
return true;
}
}
}
return false;
};
/* Sorting
---------------------------------------------------------------------- */
// Document order sorting
sortOrder = hasCompare ?
function( a, b ) {
// Flag for duplicate removal
if ( a === b ) {
hasDuplicate = true;
return 0;
}
// Sort on method existence if only one input has compareDocumentPosition
var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
if ( compare ) {
return compare;
}
// Calculate position if both inputs belong to the same document
compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
a.compareDocumentPosition( b ) :
// Otherwise we know they are disconnected
1;
// Disconnected nodes
if ( compare & 1 ||
(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
// Choose the first element that is related to our preferred document
if ( a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
return -1;
}
if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
return 1;
}
// Maintain original order
return sortInput ?
( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
0;
}
return compare & 4 ? -1 : 1;
} :
function( a, b ) {
// Exit early if the nodes are identical
if ( a === b ) {
hasDuplicate = true;
return 0;
}
var cur,
i = 0,
aup = a.parentNode,
bup = b.parentNode,
ap = [ a ],
bp = [ b ];
// Parentless nodes are either documents or disconnected
if ( !aup || !bup ) {
return a === doc ? -1 :
b === doc ? 1 :
aup ? -1 :
bup ? 1 :
sortInput ?
( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
0;
// If the nodes are siblings, we can do a quick check
} else if ( aup === bup ) {
return siblingCheck( a, b );
}
// Otherwise we need full lists of their ancestors for comparison
cur = a;
while ( (cur = cur.parentNode) ) {
ap.unshift( cur );
}
cur = b;
while ( (cur = cur.parentNode) ) {
bp.unshift( cur );
}
// Walk down the tree looking for a discrepancy
while ( ap[i] === bp[i] ) {
i++;
}
return i ?
// Do a sibling check if the nodes have a common ancestor
siblingCheck( ap[i], bp[i] ) :
// Otherwise nodes in our document sort first
ap[i] === preferredDoc ? -1 :
bp[i] === preferredDoc ? 1 :
0;
};
return doc;
};
Sizzle.matches = function( expr, elements ) {
return Sizzle( expr, null, null, elements );
};
Sizzle.matchesSelector = function( elem, expr ) {
// Set document vars if needed
if ( ( elem.ownerDocument || elem ) !== document ) {
setDocument( elem );
}
// Make sure that attribute selectors are quoted
expr = expr.replace( rattributeQuotes, "='$1']" );
if ( support.matchesSelector && documentIsHTML &&
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
try {
var ret = matches.call( elem, expr );
// IE 9's matchesSelector returns false on disconnected nodes
if ( ret || support.disconnectedMatch ||
// As well, disconnected nodes are said to be in a document
// fragment in IE 9
elem.document && elem.document.nodeType !== 11 ) {
return ret;
}
} catch(e) {}
}
return Sizzle( expr, document, null, [elem] ).length > 0;
};
Sizzle.contains = function( context, elem ) {
// Set document vars if needed
if ( ( context.ownerDocument || context ) !== document ) {
setDocument( context );
}
return contains( context, elem );
};
Sizzle.attr = function( elem, name ) {
// Set document vars if needed
if ( ( elem.ownerDocument || elem ) !== document ) {
setDocument( elem );
}
var fn = Expr.attrHandle[ name.toLowerCase() ],
// Don't get fooled by Object.prototype properties (jQuery #13807)
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
fn( elem, name, !documentIsHTML ) :
undefined;
return val !== undefined ?
val :
support.attributes || !documentIsHTML ?
elem.getAttribute( name ) :
(val = elem.getAttributeNode(name)) && val.specified ?
val.value :
null;
};
Sizzle.error = function( msg ) {
throw new Error( "Syntax error, unrecognized expression: " + msg );
};
/**
* Document sorting and removing duplicates
* @param {ArrayLike} results
*/
Sizzle.uniqueSort = function( results ) {
var elem,
duplicates = [],
j = 0,
i = 0;
// Unless we *know* we can detect duplicates, assume their presence
hasDuplicate = !support.detectDuplicates;
sortInput = !support.sortStable && results.slice( 0 );
results.sort( sortOrder );
if ( hasDuplicate ) {
while ( (elem = results[i++]) ) {
if ( elem === results[ i ] ) {
j = duplicates.push( i );
}
}
while ( j-- ) {
results.splice( duplicates[ j ], 1 );
}
}
// Clear input after sorting to release objects
// See https://github.com/jquery/sizzle/pull/225
sortInput = null;
return results;
};
/**
* Utility function for retrieving the text value of an array of DOM nodes
* @param {Array|Element} elem
*/
getText = Sizzle.getText = function( elem ) {
var node,
ret = "",
i = 0,
nodeType = elem.nodeType;
if ( !nodeType ) {
// If no nodeType, this is expected to be an array
while ( (node = elem[i++]) ) {
// Do not traverse comment nodes
ret += getText( node );
}
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
// Use textContent for elements
// innerText usage removed for consistency of new lines (jQuery #11153)
if ( typeof elem.textContent === "string" ) {
return elem.textContent;
} else {
// Traverse its children
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
ret += getText( elem );
}
}
} else if ( nodeType === 3 || nodeType === 4 ) {
return elem.nodeValue;
}
// Do not include comment or processing instruction nodes
return ret;
};
Expr = Sizzle.selectors = {
// Can be adjusted by the user
cacheLength: 50,
createPseudo: markFunction,
match: matchExpr,
attrHandle: {},
find: {},
relative: {
">": { dir: "parentNode", first: true },
" ": { dir: "parentNode" },
"+": { dir: "previousSibling", first: true },
"~": { dir: "previousSibling" }
},
preFilter: {
"ATTR": function( match ) {
match[1] = match[1].replace( runescape, funescape );
// Move the given value to match[3] whether quoted or unquoted
match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
if ( match[2] === "~=" ) {
match[3] = " " + match[3] + " ";
}
return match.slice( 0, 4 );
},
"CHILD": function( match ) {
/* matches from matchExpr["CHILD"]
1 type (only|nth|...)
2 what (child|of-type)
3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
4 xn-component of xn+y argument ([+-]?\d*n|)
5 sign of xn-component
6 x of xn-component
7 sign of y-component
8 y of y-component
*/
match[1] = match[1].toLowerCase();
if ( match[1].slice( 0, 3 ) === "nth" ) {
// nth-* requires argument
if ( !match[3] ) {
Sizzle.error( match[0] );
}
// numeric x and y parameters for Expr.filter.CHILD
// remember that false/true cast respectively to 0/1
match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
// other types prohibit arguments
} else if ( match[3] ) {
Sizzle.error( match[0] );
}
return match;
},
"PSEUDO": function( match ) {
var excess,
unquoted = !match[5] && match[2];
if ( matchExpr["CHILD"].test( match[0] ) ) {
return null;
}
// Accept quoted arguments as-is
if ( match[3] && match[4] !== undefined ) {
match[2] = match[4];
// Strip excess characters from unquoted arguments
} else if ( unquoted && rpseudo.test( unquoted ) &&
// Get excess from tokenize (recursively)
(excess = tokenize( unquoted, true )) &&
// advance to the next closing parenthesis
(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
// excess is a negative index
match[0] = match[0].slice( 0, excess );
match[2] = unquoted.slice( 0, excess );
}
// Return only captures needed by the pseudo filter method (type and argument)
return match.slice( 0, 3 );
}
},
filter: {
"TAG": function( nodeNameSelector ) {
var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
return nodeNameSelector === "*" ?
function() { return true; } :
function( elem ) {
return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
};
},
"CLASS": function( className ) {
var pattern = classCache[ className + " " ];
return pattern ||
(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
classCache( className, function( elem ) {
return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" );
});
},
"ATTR": function( name, operator, check ) {
return function( elem ) {
var result = Sizzle.attr( elem, name );
if ( result == null ) {
return operator === "!=";
}
if ( !operator ) {
return true;
}
result += "";
return operator === "=" ? result === check :
operator === "!=" ? result !== check :
operator === "^=" ? check && result.indexOf( check ) === 0 :
operator === "*=" ? check && result.indexOf( check ) > -1 :
operator === "$=" ? check && result.slice( -check.length ) === check :
operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 :
operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
false;
};
},
"CHILD": function( type, what, argument, first, last ) {
var simple = type.slice( 0, 3 ) !== "nth",
forward = type.slice( -4 ) !== "last",
ofType = what === "of-type";
return first === 1 && last === 0 ?
// Shortcut for :nth-*(n)
function( elem ) {
return !!elem.parentNode;
} :
function( elem, context, xml ) {
var cache, outerCache, node, diff, nodeIndex, start,
dir = simple !== forward ? "nextSibling" : "previousSibling",
parent = elem.parentNode,
name = ofType && elem.nodeName.toLowerCase(),
useCache = !xml && !ofType;
if ( parent ) {
// :(first|last|only)-(child|of-type)
if ( simple ) {
while ( dir ) {
node = elem;
while ( (node = node[ dir ]) ) {
if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
return false;
}
}
// Reverse direction for :only-* (if we haven't yet done so)
start = dir = type === "only" && !start && "nextSibling";
}
return true;
}
start = [ forward ? parent.firstChild : parent.lastChild ];
// non-xml :nth-child(...) stores cache data on `parent`
if ( forward && useCache ) {
// Seek `elem` from a previously-cached index
outerCache = parent[ expando ] || (parent[ expando ] = {});
cache = outerCache[ type ] || [];
nodeIndex = cache[0] === dirruns && cache[1];
diff = cache[0] === dirruns && cache[2];
node = nodeIndex && parent.childNodes[ nodeIndex ];
while ( (node = ++nodeIndex && node && node[ dir ] ||
// Fallback to seeking `elem` from the start
(diff = nodeIndex = 0) || start.pop()) ) {
// When found, cache indexes on `parent` and break
if ( node.nodeType === 1 && ++diff && node === elem ) {
outerCache[ type ] = [ dirruns, nodeIndex, diff ];
break;
}
}
// Use previously-cached element index if available
} else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
diff = cache[1];
// xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
} else {
// Use the same loop as above to seek `elem` from the start
while ( (node = ++nodeIndex && node && node[ dir ] ||
(diff = nodeIndex = 0) || start.pop()) ) {
if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
// Cache the index of each encountered element
if ( useCache ) {
(node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
}
if ( node === elem ) {
break;
}
}
}
}
// Incorporate the offset, then check against cycle size
diff -= last;
return diff === first || ( diff % first === 0 && diff / first >= 0 );
}
};
},
"PSEUDO": function( pseudo, argument ) {
// pseudo-class names are case-insensitive
// http://www.w3.org/TR/selectors/#pseudo-classes
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
// Remember that setFilters inherits from pseudos
var args,
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
Sizzle.error( "unsupported pseudo: " + pseudo );
// The user may use createPseudo to indicate that
// arguments are needed to create the filter function
// just as Sizzle does
if ( fn[ expando ] ) {
return fn( argument );
}
// But maintain support for old signatures
if ( fn.length > 1 ) {
args = [ pseudo, pseudo, "", argument ];
return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
markFunction(function( seed, matches ) {
var idx,
matched = fn( seed, argument ),
i = matched.length;
while ( i-- ) {
idx = indexOf.call( seed, matched[i] );
seed[ idx ] = !( matches[ idx ] = matched[i] );
}
}) :
function( elem ) {
return fn( elem, 0, args );
};
}
return fn;
}
},
pseudos: {
// Potentially complex pseudos
"not": markFunction(function( selector ) {
// Trim the selector passed to compile
// to avoid treating leading and trailing
// spaces as combinators
var input = [],
results = [],
matcher = compile( selector.replace( rtrim, "$1" ) );
return matcher[ expando ] ?
markFunction(function( seed, matches, context, xml ) {
var elem,
unmatched = matcher( seed, null, xml, [] ),
i = seed.length;
// Match elements unmatched by `matcher`
while ( i-- ) {
if ( (elem = unmatched[i]) ) {
seed[i] = !(matches[i] = elem);
}
}
}) :
function( elem, context, xml ) {
input[0] = elem;
matcher( input, null, xml, results );
return !results.pop();
};
}),
"has": markFunction(function( selector ) {
return function( elem ) {
return Sizzle( selector, elem ).length > 0;
};
}),
"contains": markFunction(function( text ) {
return function( elem ) {
return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
};
}),
// "Whether an element is represented by a :lang() selector
// is based solely on the element's language value
// being equal to the identifier C,
// or beginning with the identifier C immediately followed by "-".
// The matching of C against the element's language value is performed case-insensitively.
// The identifier C does not have to be a valid language name."
// http://www.w3.org/TR/selectors/#lang-pseudo
"lang": markFunction( function( lang ) {
// lang value must be a valid identifier
if ( !ridentifier.test(lang || "") ) {
Sizzle.error( "unsupported lang: " + lang );
}
lang = lang.replace( runescape, funescape ).toLowerCase();
return function( elem ) {
var elemLang;
do {
if ( (elemLang = documentIsHTML ?
elem.lang :
elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
elemLang = elemLang.toLowerCase();
return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
}
} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
return false;
};
}),
// Miscellaneous
"target": function( elem ) {
var hash = window.location && window.location.hash;
return hash && hash.slice( 1 ) === elem.id;
},
"root": function( elem ) {
return elem === docElem;
},
"focus": function( elem ) {
return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
},
// Boolean properties
"enabled": function( elem ) {
return elem.disabled === false;
},
"disabled": function( elem ) {
return elem.disabled === true;
},
"checked": function( elem ) {
// In CSS3, :checked should return both checked and selected elements
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
var nodeName = elem.nodeName.toLowerCase();
return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
},
"selected": function( elem ) {
// Accessing this property makes selected-by-default
// options in Safari work properly
if ( elem.parentNode ) {
elem.parentNode.selectedIndex;
}
return elem.selected === true;
},
// Contents
"empty": function( elem ) {
// http://www.w3.org/TR/selectors/#empty-pseudo
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
// but not by others (comment: 8; processing instruction: 7; etc.)
// nodeType < 6 works because attributes (2) do not appear as children
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
if ( elem.nodeType < 6 ) {
return false;
}
}
return true;
},
"parent": function( elem ) {
return !Expr.pseudos["empty"]( elem );
},
// Element/input types
"header": function( elem ) {
return rheader.test( elem.nodeName );
},
"input": function( elem ) {
return rinputs.test( elem.nodeName );
},
"button": function( elem ) {
var name = elem.nodeName.toLowerCase();
return name === "input" && elem.type === "button" || name === "button";
},
"text": function( elem ) {
var attr;
return elem.nodeName.toLowerCase() === "input" &&
elem.type === "text" &&
// Support: IE<8
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
},
// Position-in-collection
"first": createPositionalPseudo(function() {
return [ 0 ];
}),
"last": createPositionalPseudo(function( matchIndexes, length ) {
return [ length - 1 ];
}),
"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
return [ argument < 0 ? argument + length : argument ];
}),
"even": createPositionalPseudo(function( matchIndexes, length ) {
var i = 0;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
}
return matchIndexes;
}),
"odd": createPositionalPseudo(function( matchIndexes, length ) {
var i = 1;
for ( ; i < length; i += 2 ) {
matchIndexes.push( i );
}
return matchIndexes;
}),
"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument;
for ( ; --i >= 0; ) {
matchIndexes.push( i );
}
return matchIndexes;
}),
"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
var i = argument < 0 ? argument + length : argument;
for ( ; ++i < length; ) {
matchIndexes.push( i );
}
return matchIndexes;
})
}
};
Expr.pseudos["nth"] = Expr.pseudos["eq"];
// Add button/input type pseudos
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
Expr.pseudos[ i ] = createInputPseudo( i );
}
for ( i in { submit: true, reset: true } ) {
Expr.pseudos[ i ] = createButtonPseudo( i );
}
// Easy API for creating new setFilters
function setFilters() {}
setFilters.prototype = Expr.filters = Expr.pseudos;
Expr.setFilters = new setFilters();
function tokenize( selector, parseOnly ) {
var matched, match, tokens, type,
soFar, groups, preFilters,
cached = tokenCache[ selector + " " ];
if ( cached ) {
return parseOnly ? 0 : cached.slice( 0 );
}
soFar = selector;
groups = [];
preFilters = Expr.preFilter;
while ( soFar ) {
// Comma and first run
if ( !matched || (match = rcomma.exec( soFar )) ) {
if ( match ) {
// Don't consume trailing commas as valid
soFar = soFar.slice( match[0].length ) || soFar;
}
groups.push( (tokens = []) );
}
matched = false;
// Combinators
if ( (match = rcombinators.exec( soFar )) ) {
matched = match.shift();
tokens.push({
value: matched,
// Cast descendant combinators to space
type: match[0].replace( rtrim, " " )
});
soFar = soFar.slice( matched.length );
}
// Filters
for ( type in Expr.filter ) {
if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
(match = preFilters[ type ]( match ))) ) {
matched = match.shift();
tokens.push({
value: matched,
type: type,
matches: match
});
soFar = soFar.slice( matched.length );
}
}
if ( !matched ) {
break;
}
}
// Return the length of the invalid excess
// if we're just parsing
// Otherwise, throw an error or return tokens
return parseOnly ?
soFar.length :
soFar ?
Sizzle.error( selector ) :
// Cache the tokens
tokenCache( selector, groups ).slice( 0 );
}
function toSelector( tokens ) {
var i = 0,
len = tokens.length,
selector = "";
for ( ; i < len; i++ ) {
selector += tokens[i].value;
}
return selector;
}
function addCombinator( matcher, combinator, base ) {
var dir = combinator.dir,
checkNonElements = base && dir === "parentNode",
doneName = done++;
return combinator.first ?
// Check against closest ancestor/preceding element
function( elem, context, xml ) {
while ( (elem = elem[ dir ]) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
return matcher( elem, context, xml );
}
}
} :
// Check against all ancestor/preceding elements
function( elem, context, xml ) {
var oldCache, outerCache,
newCache = [ dirruns, doneName ];
// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
if ( xml ) {
while ( (elem = elem[ dir ]) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
if ( matcher( elem, context, xml ) ) {
return true;
}
}
}
} else {
while ( (elem = elem[ dir ]) ) {
if ( elem.nodeType === 1 || checkNonElements ) {
outerCache = elem[ expando ] || (elem[ expando ] = {});
if ( (oldCache = outerCache[ dir ]) &&
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
// Assign to newCache so results back-propagate to previous elements
return (newCache[ 2 ] = oldCache[ 2 ]);
} else {
// Reuse newcache so results back-propagate to previous elements
outerCache[ dir ] = newCache;
// A match means we're done; a fail means we have to keep checking
if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
return true;
}
}
}
}
}
};
}
function elementMatcher( matchers ) {
return matchers.length > 1 ?
function( elem, context, xml ) {
var i = matchers.length;
while ( i-- ) {
if ( !matchers[i]( elem, context, xml ) ) {
return false;
}
}
return true;
} :
matchers[0];
}
function condense( unmatched, map, filter, context, xml ) {
var elem,
newUnmatched = [],
i = 0,
len = unmatched.length,
mapped = map != null;
for ( ; i < len; i++ ) {
if ( (elem = unmatched[i]) ) {
if ( !filter || filter( elem, context, xml ) ) {
newUnmatched.push( elem );
if ( mapped ) {
map.push( i );
}
}
}
}
return newUnmatched;
}
function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
if ( postFilter && !postFilter[ expando ] ) {
postFilter = setMatcher( postFilter );
}
if ( postFinder && !postFinder[ expando ] ) {
postFinder = setMatcher( postFinder, postSelector );
}
return markFunction(function( seed, results, context, xml ) {
var temp, i, elem,
preMap = [],
postMap = [],
preexisting = results.length,
// Get initial elements from seed or context
elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
// Prefilter to get matcher input, preserving a map for seed-results synchronization
matcherIn = preFilter && ( seed || !selector ) ?
condense( elems, preMap, preFilter, context, xml ) :
elems,
matcherOut = matcher ?
// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
// ...intermediate processing is necessary
[] :
// ...otherwise use results directly
results :
matcherIn;
// Find primary matches
if ( matcher ) {
matcher( matcherIn, matcherOut, context, xml );
}
// Apply postFilter
if ( postFilter ) {
temp = condense( matcherOut, postMap );
postFilter( temp, [], context, xml );
// Un-match failing elements by moving them back to matcherIn
i = temp.length;
while ( i-- ) {
if ( (elem = temp[i]) ) {
matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
}
}
}
if ( seed ) {
if ( postFinder || preFilter ) {
if ( postFinder ) {
// Get the final matcherOut by condensing this intermediate into postFinder contexts
temp = [];
i = matcherOut.length;
while ( i-- ) {
if ( (elem = matcherOut[i]) ) {
// Restore matcherIn since elem is not yet a final match
temp.push( (matcherIn[i] = elem) );
}
}
postFinder( null, (matcherOut = []), temp, xml );
}
// Move matched elements from seed to results to keep them synchronized
i = matcherOut.length;
while ( i-- ) {
if ( (elem = matcherOut[i]) &&
(temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {
seed[temp] = !(results[temp] = elem);
}
}
}
// Add elements to results, through postFinder if defined
} else {
matcherOut = condense(
matcherOut === results ?
matcherOut.splice( preexisting, matcherOut.length ) :
matcherOut
);
if ( postFinder ) {
postFinder( null, results, matcherOut, xml );
} else {
push.apply( results, matcherOut );
}
}
});
}
function matcherFromTokens( tokens ) {
var checkContext, matcher, j,
len = tokens.length,
leadingRelative = Expr.relative[ tokens[0].type ],
implicitRelative = leadingRelative || Expr.relative[" "],
i = leadingRelative ? 1 : 0,
// The foundational matcher ensures that elements are reachable from top-level context(s)
matchContext = addCombinator( function( elem ) {
return elem === checkContext;
}, implicitRelative, true ),
matchAnyContext = addCombinator( function( elem ) {
return indexOf.call( checkContext, elem ) > -1;
}, implicitRelative, true ),
matchers = [ function( elem, context, xml ) {
return ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
(checkContext = context).nodeType ?
matchContext( elem, context, xml ) :
matchAnyContext( elem, context, xml ) );
} ];
for ( ; i < len; i++ ) {
if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
} else {
matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
// Return special upon seeing a positional matcher
if ( matcher[ expando ] ) {
// Find the next relative operator (if any) for proper handling
j = ++i;
for ( ; j < len; j++ ) {
if ( Expr.relative[ tokens[j].type ] ) {
break;
}
}
return setMatcher(
i > 1 && elementMatcher( matchers ),
i > 1 && toSelector(
// If the preceding token was a descendant combinator, insert an implicit any-element `*`
tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
).replace( rtrim, "$1" ),
matcher,
i < j && matcherFromTokens( tokens.slice( i, j ) ),
j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
j < len && toSelector( tokens )
);
}
matchers.push( matcher );
}
}
return elementMatcher( matchers );
}
function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
var bySet = setMatchers.length > 0,
byElement = elementMatchers.length > 0,
superMatcher = function( seed, context, xml, results, outermost ) {
var elem, j, matcher,
matchedCount = 0,
i = "0",
unmatched = seed && [],
setMatched = [],
contextBackup = outermostContext,
// We must always have either seed elements or outermost context
elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
// Use integer dirruns iff this is the outermost matcher
dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
len = elems.length;
if ( outermost ) {
outermostContext = context !== document && context;
}
// Add elements passing elementMatchers directly to results
// Keep `i` a string if there are no elements so `matchedCount` will be "00" below
// Support: IE<9, Safari
// Tolerate NodeList properties (IE: "length"; Safari: ) matching elements by id
for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
if ( byElement && elem ) {
j = 0;
while ( (matcher = elementMatchers[j++]) ) {
if ( matcher( elem, context, xml ) ) {
results.push( elem );
break;
}
}
if ( outermost ) {
dirruns = dirrunsUnique;
}
}
// Track unmatched elements for set filters
if ( bySet ) {
// They will have gone through all possible matchers
if ( (elem = !matcher && elem) ) {
matchedCount--;
}
// Lengthen the array for every element, matched or not
if ( seed ) {
unmatched.push( elem );
}
}
}
// Apply set filters to unmatched elements
matchedCount += i;
if ( bySet && i !== matchedCount ) {
j = 0;
while ( (matcher = setMatchers[j++]) ) {
matcher( unmatched, setMatched, context, xml );
}
if ( seed ) {
// Reintegrate element matches to eliminate the need for sorting
if ( matchedCount > 0 ) {
while ( i-- ) {
if ( !(unmatched[i] || setMatched[i]) ) {
setMatched[i] = pop.call( results );
}
}
}
// Discard index placeholder values to get only actual matches
setMatched = condense( setMatched );
}
// Add matches to results
push.apply( results, setMatched );
// Seedless set matches succeeding multiple successful matchers stipulate sorting
if ( outermost && !seed && setMatched.length > 0 &&
( matchedCount + setMatchers.length ) > 1 ) {
Sizzle.uniqueSort( results );
}
}
// Override manipulation of globals by nested matchers
if ( outermost ) {
dirruns = dirrunsUnique;
outermostContext = contextBackup;
}
return unmatched;
};
return bySet ?
markFunction( superMatcher ) :
superMatcher;
}
compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
var i,
setMatchers = [],
elementMatchers = [],
cached = compilerCache[ selector + " " ];
if ( !cached ) {
// Generate a function of recursive functions that can be used to check each element
if ( !group ) {
group = tokenize( selector );
}
i = group.length;
while ( i-- ) {
cached = matcherFromTokens( group[i] );
if ( cached[ expando ] ) {
setMatchers.push( cached );
} else {
elementMatchers.push( cached );
}
}
// Cache the compiled function
cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
}
return cached;
};
function multipleContexts( selector, contexts, results ) {
var i = 0,
len = contexts.length;
for ( ; i < len; i++ ) {
Sizzle( selector, contexts[i], results );
}
return results;
}
function select( selector, context, results, seed ) {
var i, tokens, token, type, find,
match = tokenize( selector );
if ( !seed ) {
// Try to minimize operations if there is only one group
if ( match.length === 1 ) {
// Take a shortcut and set the context if the root selector is an ID
tokens = match[0] = match[0].slice( 0 );
if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
support.getById && context.nodeType === 9 && documentIsHTML &&
Expr.relative[ tokens[1].type ] ) {
context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
if ( !context ) {
return results;
}
selector = selector.slice( tokens.shift().value.length );
}
// Fetch a seed set for right-to-left matching
i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
while ( i-- ) {
token = tokens[i];
// Abort if we hit a combinator
if ( Expr.relative[ (type = token.type) ] ) {
break;
}
if ( (find = Expr.find[ type ]) ) {
// Search, expanding context for leading sibling combinators
if ( (seed = find(
token.matches[0].replace( runescape, funescape ),
rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
)) ) {
// If seed is empty or no tokens remain, we can return early
tokens.splice( i, 1 );
selector = seed.length && toSelector( tokens );
if ( !selector ) {
push.apply( results, seed );
return results;
}
break;
}
}
}
}
}
// Compile and execute a filtering function
// Provide `match` to avoid retokenization if we modified the selector above
compile( selector, match )(
seed,
context,
!documentIsHTML,
results,
rsibling.test( selector ) && testContext( context.parentNode ) || context
);
return results;
}
// One-time assignments
// Sort stability
support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
// Support: Chrome<14
// Always assume duplicates if they aren't passed to the comparison function
support.detectDuplicates = !!hasDuplicate;
// Initialize against the default document
setDocument();
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
// Detached nodes confoundingly follow *each other*
support.sortDetached = assert(function( div1 ) {
// Should return 1, but returns 4 (following)
return div1.compareDocumentPosition( document.createElement("div") ) & 1;
});
// Support: IE<8
// Prevent attribute/property "interpolation"
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !assert(function( div ) {
div.innerHTML = " ";
return div.firstChild.getAttribute("href") === "#" ;
}) ) {
addHandle( "type|href|height|width", function( elem, name, isXML ) {
if ( !isXML ) {
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
}
});
}
// Support: IE<9
// Use defaultValue in place of getAttribute("value")
if ( !support.attributes || !assert(function( div ) {
div.innerHTML = " ";
div.firstChild.setAttribute( "value", "" );
return div.firstChild.getAttribute( "value" ) === "";
}) ) {
addHandle( "value", function( elem, name, isXML ) {
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
return elem.defaultValue;
}
});
}
// Support: IE<9
// Use getAttributeNode to fetch booleans when getAttribute lies
if ( !assert(function( div ) {
return div.getAttribute("disabled") == null;
}) ) {
addHandle( booleans, function( elem, name, isXML ) {
var val;
if ( !isXML ) {
return elem[ name ] === true ? name.toLowerCase() :
(val = elem.getAttributeNode( name )) && val.specified ?
val.value :
null;
}
});
}
return Sizzle;
})( window );
jQuery.find = Sizzle;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.pseudos;
jQuery.unique = Sizzle.uniqueSort;
jQuery.text = Sizzle.getText;
jQuery.isXMLDoc = Sizzle.isXML;
jQuery.contains = Sizzle.contains;
var rneedsContext = jQuery.expr.match.needsContext;
var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/);
var risSimple = /^.[^:#\[\.,]*$/;
// Implement the identical functionality for filter and not
function winnow( elements, qualifier, not ) {
if ( jQuery.isFunction( qualifier ) ) {
return jQuery.grep( elements, function( elem, i ) {
/* jshint -W018 */
return !!qualifier.call( elem, i, elem ) !== not;
});
}
if ( qualifier.nodeType ) {
return jQuery.grep( elements, function( elem ) {
return ( elem === qualifier ) !== not;
});
}
if ( typeof qualifier === "string" ) {
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;
});
}
jQuery.filter = function( expr, elems, not ) {
var elem = elems[ 0 ];
if ( not ) {
expr = ":not(" + expr + ")";
}
return elems.length === 1 && elem.nodeType === 1 ?
jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] :
jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
return elem.nodeType === 1;
}));
};
jQuery.fn.extend({
find: function( selector ) {
var i,
ret = [],
self = this,
len = self.length;
if ( typeof selector !== "string" ) {
return this.pushStack( jQuery( selector ).filter(function() {
for ( i = 0; i < len; i++ ) {
if ( jQuery.contains( self[ i ], this ) ) {
return true;
}
}
}) );
}
for ( i = 0; i < len; i++ ) {
jQuery.find( selector, self[ i ], ret );
}
// Needed because $( selector, context ) becomes $( context ).find( selector )
ret = this.pushStack( len > 1 ? jQuery.unique( ret ) : ret );
ret.selector = this.selector ? this.selector + " " + selector : selector;
return ret;
},
filter: function( selector ) {
return this.pushStack( winnow(this, selector || [], false) );
},
not: function( selector ) {
return this.pushStack( winnow(this, selector || [], true) );
},
is: function( selector ) {
return !!winnow(
this,
// If this is a positional/relative selector, check membership in the returned set
// so $("p:first").is("p:last") won't return true for a doc with two "p".
typeof selector === "string" && rneedsContext.test( selector ) ?
jQuery( selector ) :
selector || [],
false
).length;
}
});
// Initialize a jQuery object
// A central reference to the root jQuery(document)
var rootjQuery,
// Use the correct document accordingly with window argument (sandbox)
document = window.document,
// A simple way to check for HTML strings
// Prioritize #id over to avoid XSS via location.hash (#9521)
// Strict HTML recognition (#11290: must start with <)
rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
init = jQuery.fn.init = function( selector, context ) {
var match, elem;
// HANDLE: $(""), $(null), $(undefined), $(false)
if ( !selector ) {
return this;
}
// Handle HTML strings
if ( typeof selector === "string" ) {
if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) {
// Assume that strings that start and end with <> are HTML and skip the regex check
match = [ null, selector, null ];
} else {
match = rquickExpr.exec( selector );
}
// Match html or make sure no context is specified for #id
if ( match && (match[1] || !context) ) {
// HANDLE: $(html) -> $(array)
if ( match[1] ) {
context = context instanceof jQuery ? context[0] : context;
// scripts is true for back-compat
// Intentionally let the error be thrown if parseHTML is not present
jQuery.merge( this, jQuery.parseHTML(
match[1],
context && context.nodeType ? context.ownerDocument || context : document,
true
) );
// HANDLE: $(html, props)
if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
for ( match in context ) {
// Properties of context are called as methods if possible
if ( jQuery.isFunction( this[ match ] ) ) {
this[ match ]( context[ match ] );
// ...and otherwise set as attributes
} else {
this.attr( match, context[ match ] );
}
}
}
return this;
// HANDLE: $(#id)
} else {
elem = document.getElementById( match[2] );
// Check parentNode to catch when Blackberry 4.6 returns
// nodes that are no longer in the document #6963
if ( elem && elem.parentNode ) {
// Handle the case where IE and Opera return items
// by name instead of ID
if ( elem.id !== match[2] ) {
return rootjQuery.find( selector );
}
// Otherwise, we inject the element directly into the jQuery object
this.length = 1;
this[0] = elem;
}
this.context = document;
this.selector = selector;
return this;
}
// HANDLE: $(expr, $(...))
} else if ( !context || context.jquery ) {
return ( context || rootjQuery ).find( selector );
// HANDLE: $(expr, context)
// (which is just equivalent to: $(context).find(expr)
} else {
return this.constructor( context ).find( selector );
}
// HANDLE: $(DOMElement)
} else if ( selector.nodeType ) {
this.context = this[0] = selector;
this.length = 1;
return this;
// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
return typeof rootjQuery.ready !== "undefined" ?
rootjQuery.ready( selector ) :
// Execute immediately if ready is not present
selector( jQuery );
}
if ( selector.selector !== undefined ) {
this.selector = selector.selector;
this.context = selector.context;
}
return jQuery.makeArray( selector, this );
};
// Give the init function the jQuery prototype for later instantiation
init.prototype = jQuery.fn;
// Initialize central reference
rootjQuery = jQuery( document );
var rparentsprev = /^(?:parents|prev(?:Until|All))/,
// methods guaranteed to produce a unique set when starting from a unique set
guaranteedUnique = {
children: true,
contents: true,
next: true,
prev: true
};
jQuery.extend({
dir: function( elem, dir, until ) {
var matched = [],
cur = elem[ dir ];
while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {
if ( cur.nodeType === 1 ) {
matched.push( cur );
}
cur = cur[dir];
}
return matched;
},
sibling: function( n, elem ) {
var r = [];
for ( ; n; n = n.nextSibling ) {
if ( n.nodeType === 1 && n !== elem ) {
r.push( n );
}
}
return r;
}
});
jQuery.fn.extend({
has: function( target ) {
var i,
targets = jQuery( target, this ),
len = targets.length;
return this.filter(function() {
for ( i = 0; i < len; i++ ) {
if ( jQuery.contains( this, targets[i] ) ) {
return true;
}
}
});
},
closest: function( selectors, context ) {
var cur,
i = 0,
l = this.length,
matched = [],
pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ?
jQuery( selectors, context || this.context ) :
0;
for ( ; i < l; i++ ) {
for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) {
// Always skip document fragments
if ( cur.nodeType < 11 && (pos ?
pos.index(cur) > -1 :
// Don't pass non-elements to Sizzle
cur.nodeType === 1 &&
jQuery.find.matchesSelector(cur, selectors)) ) {
matched.push( cur );
break;
}
}
}
return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched );
},
// Determine the position of an element within
// the matched set of elements
index: function( elem ) {
// No argument, return index in parent
if ( !elem ) {
return ( this[0] && this[0].parentNode ) ? this.first().prevAll().length : -1;
}
// index in selector
if ( typeof elem === "string" ) {
return jQuery.inArray( this[0], jQuery( elem ) );
}
// Locate the position of the desired element
return jQuery.inArray(
// If it receives a jQuery object, the first element is used
elem.jquery ? elem[0] : elem, this );
},
add: function( selector, context ) {
return this.pushStack(
jQuery.unique(
jQuery.merge( this.get(), jQuery( selector, context ) )
)
);
},
addBack: function( selector ) {
return this.add( selector == null ?
this.prevObject : this.prevObject.filter(selector)
);
}
});
function sibling( cur, dir ) {
do {
cur = cur[ dir ];
} while ( cur && cur.nodeType !== 1 );
return cur;
}
jQuery.each({
parent: function( elem ) {
var parent = elem.parentNode;
return parent && parent.nodeType !== 11 ? parent : null;
},
parents: function( elem ) {
return jQuery.dir( elem, "parentNode" );
},
parentsUntil: function( elem, i, until ) {
return jQuery.dir( elem, "parentNode", until );
},
next: function( elem ) {
return sibling( elem, "nextSibling" );
},
prev: function( elem ) {
return sibling( elem, "previousSibling" );
},
nextAll: function( elem ) {
return jQuery.dir( elem, "nextSibling" );
},
prevAll: function( elem ) {
return jQuery.dir( elem, "previousSibling" );
},
nextUntil: function( elem, i, until ) {
return jQuery.dir( elem, "nextSibling", until );
},
prevUntil: function( elem, i, until ) {
return jQuery.dir( elem, "previousSibling", until );
},
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.merge( [], elem.childNodes );
}
}, function( name, fn ) {
jQuery.fn[ name ] = function( until, selector ) {
var ret = jQuery.map( this, fn, until );
if ( name.slice( -5 ) !== "Until" ) {
selector = until;
}
if ( selector && typeof selector === "string" ) {
ret = jQuery.filter( selector, ret );
}
if ( this.length > 1 ) {
// Remove duplicates
if ( !guaranteedUnique[ name ] ) {
ret = jQuery.unique( ret );
}
// Reverse order for parents* and prev-derivatives
if ( rparentsprev.test( name ) ) {
ret = ret.reverse();
}
}
return this.pushStack( ret );
};
});
var rnotwhite = (/\S+/g);
// String to Object options format cache
var optionsCache = {};
// Convert String-formatted options into Object-formatted ones and store in cache
function createOptions( options ) {
var object = optionsCache[ options ] = {};
jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) {
object[ flag ] = true;
});
return object;
}
/*
* Create a callback list using the following parameters:
*
* options: an optional list of space-separated options that will change how
* the callback list behaves or a more traditional option object
*
* By default a callback list will act like an event callback list and can be
* "fired" multiple times.
*
* Possible options:
*
* once: will ensure the callback list can only be fired once (like a Deferred)
*
* memory: will keep track of previous values and will call any callback added
* after the list has been fired right away with the latest "memorized"
* values (like a Deferred)
*
* unique: will ensure a callback can only be added once (no duplicate in the list)
*
* stopOnFalse: interrupt callings when a callback returns false
*
*/
jQuery.Callbacks = function( options ) {
// Convert options from String-formatted to Object-formatted if needed
// (we check in cache first)
options = typeof options === "string" ?
( optionsCache[ options ] || createOptions( options ) ) :
jQuery.extend( {}, options );
var // Flag to know if list is currently firing
firing,
// Last fire value (for non-forgettable lists)
memory,
// Flag to know if list was already fired
fired,
// End of the loop when firing
firingLength,
// Index of currently firing callback (modified by remove if needed)
firingIndex,
// First callback to fire (used internally by add and fireWith)
firingStart,
// Actual callback list
list = [],
// Stack of fire calls for repeatable lists
stack = !options.once && [],
// Fire callbacks
fire = function( data ) {
memory = options.memory && data;
fired = true;
firingIndex = firingStart || 0;
firingStart = 0;
firingLength = list.length;
firing = true;
for ( ; list && firingIndex < firingLength; firingIndex++ ) {
if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {
memory = false; // To prevent further calls using add
break;
}
}
firing = false;
if ( list ) {
if ( stack ) {
if ( stack.length ) {
fire( stack.shift() );
}
} else if ( memory ) {
list = [];
} else {
self.disable();
}
}
},
// Actual Callbacks object
self = {
// Add a callback or a collection of callbacks to the list
add: function() {
if ( list ) {
// First, we save the current length
var start = list.length;
(function add( args ) {
jQuery.each( args, function( _, arg ) {
var type = jQuery.type( arg );
if ( type === "function" ) {
if ( !options.unique || !self.has( arg ) ) {
list.push( arg );
}
} else if ( arg && arg.length && type !== "string" ) {
// Inspect recursively
add( arg );
}
});
})( arguments );
// Do we need to add the callbacks to the
// current firing batch?
if ( firing ) {
firingLength = list.length;
// With memory, if we're not firing then
// we should call right away
} else if ( memory ) {
firingStart = start;
fire( memory );
}
}
return this;
},
// Remove a callback from the list
remove: function() {
if ( list ) {
jQuery.each( arguments, function( _, arg ) {
var index;
while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
list.splice( index, 1 );
// Handle firing indexes
if ( firing ) {
if ( index <= firingLength ) {
firingLength--;
}
if ( index <= firingIndex ) {
firingIndex--;
}
}
}
});
}
return this;
},
// Check if a given callback is in the list.
// If no argument is given, return whether or not list has callbacks attached.
has: function( fn ) {
return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
},
// Remove all callbacks from the list
empty: function() {
list = [];
firingLength = 0;
return this;
},
// Have the list do nothing anymore
disable: function() {
list = stack = memory = undefined;
return this;
},
// Is it disabled?
disabled: function() {
return !list;
},
// Lock the list in its current state
lock: function() {
stack = undefined;
if ( !memory ) {
self.disable();
}
return this;
},
// Is it locked?
locked: function() {
return !stack;
},
// Call all callbacks with the given context and arguments
fireWith: function( context, args ) {
if ( list && ( !fired || stack ) ) {
args = args || [];
args = [ context, args.slice ? args.slice() : args ];
if ( firing ) {
stack.push( args );
} else {
fire( args );
}
}
return this;
},
// Call all the callbacks with the given arguments
fire: function() {
self.fireWith( this, arguments );
return this;
},
// To know if the callbacks have already been called at least once
fired: function() {
return !!fired;
}
};
return self;
};
jQuery.extend({
Deferred: function( func ) {
var tuples = [
// action, add listener, listener list, final state
[ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ],
[ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ],
[ "notify", "progress", jQuery.Callbacks("memory") ]
],
state = "pending",
promise = {
state: function() {
return state;
},
always: function() {
deferred.done( arguments ).fail( arguments );
return this;
},
then: function( /* fnDone, fnFail, fnProgress */ ) {
var fns = arguments;
return jQuery.Deferred(function( newDefer ) {
jQuery.each( tuples, function( i, tuple ) {
var fn = jQuery.isFunction( fns[ i ] ) && fns[ i ];
// deferred[ done | fail | progress ] for forwarding actions to newDefer
deferred[ tuple[1] ](function() {
var returned = fn && fn.apply( this, arguments );
if ( returned && jQuery.isFunction( returned.promise ) ) {
returned.promise()
.done( newDefer.resolve )
.fail( newDefer.reject )
.progress( newDefer.notify );
} else {
newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
}
});
});
fns = null;
}).promise();
},
// Get a promise for this deferred
// If obj is provided, the promise aspect is added to the object
promise: function( obj ) {
return obj != null ? jQuery.extend( obj, promise ) : promise;
}
},
deferred = {};
// Keep pipe for back-compat
promise.pipe = promise.then;
// Add list-specific methods
jQuery.each( tuples, function( i, tuple ) {
var list = tuple[ 2 ],
stateString = tuple[ 3 ];
// promise[ done | fail | progress ] = list.add
promise[ tuple[1] ] = list.add;
// Handle state
if ( stateString ) {
list.add(function() {
// state = [ resolved | rejected ]
state = stateString;
// [ reject_list | resolve_list ].disable; progress_list.lock
}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );
}
// deferred[ resolve | reject | notify ]
deferred[ tuple[0] ] = function() {
deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
return this;
};
deferred[ tuple[0] + "With" ] = list.fireWith;
});
// Make the deferred a promise
promise.promise( deferred );
// Call given func if any
if ( func ) {
func.call( deferred, deferred );
}
// All done!
return deferred;
},
// Deferred helper
when: function( subordinate /* , ..., subordinateN */ ) {
var i = 0,
resolveValues = slice.call( arguments ),
length = resolveValues.length,
// the count of uncompleted subordinates
remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,
// the master Deferred. If resolveValues consist of only a single Deferred, just use that.
deferred = remaining === 1 ? subordinate : jQuery.Deferred(),
// Update function for both resolve and progress values
updateFunc = function( i, contexts, values ) {
return function( value ) {
contexts[ i ] = this;
values[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
if ( values === progressValues ) {
deferred.notifyWith( contexts, values );
} else if ( !(--remaining) ) {
deferred.resolveWith( contexts, values );
}
};
},
progressValues, progressContexts, resolveContexts;
// add listeners to Deferred subordinates; treat others as resolved
if ( length > 1 ) {
progressValues = new Array( length );
progressContexts = new Array( length );
resolveContexts = new Array( length );
for ( ; i < length; i++ ) {
if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {
resolveValues[ i ].promise()
.done( updateFunc( i, resolveContexts, resolveValues ) )
.fail( deferred.reject )
.progress( updateFunc( i, progressContexts, progressValues ) );
} else {
--remaining;
}
}
}
// if we're not waiting on anything, resolve the master
if ( !remaining ) {
deferred.resolveWith( resolveContexts, resolveValues );
}
return deferred.promise();
}
});
// The deferred used on DOM ready
var readyList;
jQuery.fn.ready = function( fn ) {
// Add the callback
jQuery.ready.promise().done( fn );
return this;
};
jQuery.extend({
// Is the DOM ready to be used? Set to true once it occurs.
isReady: false,
// A counter to track how many items to wait for before
// the ready event fires. See #6781
readyWait: 1,
// Hold (or release) the ready event
holdReady: function( hold ) {
if ( hold ) {
jQuery.readyWait++;
} else {
jQuery.ready( true );
}
},
// Handle when the DOM is ready
ready: function( wait ) {
// Abort if there are pending holds or we're already ready
if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
return;
}
// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).
if ( !document.body ) {
return setTimeout( jQuery.ready );
}
// Remember that the DOM is ready
jQuery.isReady = true;
// If a normal DOM Ready event fired, decrement, and wait if need be
if ( wait !== true && --jQuery.readyWait > 0 ) {
return;
}
// If there are functions bound, to execute
readyList.resolveWith( document, [ jQuery ] );
// Trigger any bound ready events
if ( jQuery.fn.trigger ) {
jQuery( document ).trigger("ready").off("ready");
}
}
});
/**
* Clean-up method for dom ready events
*/
function detach() {
if ( document.addEventListener ) {
document.removeEventListener( "DOMContentLoaded", completed, false );
window.removeEventListener( "load", completed, false );
} else {
document.detachEvent( "onreadystatechange", completed );
window.detachEvent( "onload", completed );
}
}
/**
* The ready event handler and self cleanup method
*/
function completed() {
// readyState === "complete" is good enough for us to call the dom ready in oldIE
if ( document.addEventListener || event.type === "load" || document.readyState === "complete" ) {
detach();
jQuery.ready();
}
}
jQuery.ready.promise = function( obj ) {
if ( !readyList ) {
readyList = jQuery.Deferred();
// Catch cases where $(document).ready() is called after the browser event has already occurred.
// we once tried to use readyState "interactive" here, but it caused issues like the one
// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15
if ( document.readyState === "complete" ) {
// Handle it asynchronously to allow scripts the opportunity to delay ready
setTimeout( jQuery.ready );
// Standards-based browsers support DOMContentLoaded
} else if ( document.addEventListener ) {
// Use the handy event callback
document.addEventListener( "DOMContentLoaded", completed, false );
// A fallback to window.onload, that will always work
window.addEventListener( "load", completed, false );
// If IE event model is used
} else {
// Ensure firing before onload, maybe late but safe also for iframes
document.attachEvent( "onreadystatechange", completed );
// A fallback to window.onload, that will always work
window.attachEvent( "onload", completed );
// If IE and not a frame
// continually check to see if the document is ready
var top = false;
try {
top = window.frameElement == null && document.documentElement;
} catch(e) {}
if ( top && top.doScroll ) {
(function doScrollCheck() {
if ( !jQuery.isReady ) {
try {
// Use the trick by Diego Perini
// http://javascript.nwbox.com/IEContentLoaded/
top.doScroll("left");
} catch(e) {
return setTimeout( doScrollCheck, 50 );
}
// detach all dom ready events
detach();
// and execute any waiting functions
jQuery.ready();
}
})();
}
}
}
return readyList.promise( obj );
};
var strundefined = typeof undefined;
// Support: IE<9
// Iteration over object's inherited properties before its own
var i;
for ( i in jQuery( support ) ) {
break;
}
support.ownLast = i !== "0";
// Note: most support tests are defined in their respective modules.
// false until the test is run
support.inlineBlockNeedsLayout = false;
jQuery(function() {
// We need to execute this one support test ASAP because we need to know
// if body.style.zoom needs to be set.
var container, div,
body = document.getElementsByTagName("body")[0];
if ( !body ) {
// Return for frameset docs that don't have a body
return;
}
// Setup
container = document.createElement( "div" );
container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";
div = document.createElement( "div" );
body.appendChild( container ).appendChild( div );
if ( typeof div.style.zoom !== strundefined ) {
// Support: IE<8
// Check if natively block-level elements act like inline-block
// elements when setting their display to 'inline' and giving
// them layout
div.style.cssText = "border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1";
if ( (support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 )) ) {
// Prevent IE 6 from affecting layout for positioned elements #11048
// Prevent IE from shrinking the body in IE 7 mode #12869
// Support: IE<8
body.style.zoom = 1;
}
}
body.removeChild( container );
// Null elements to avoid leaks in IE
container = div = null;
});
(function() {
var div = document.createElement( "div" );
// Execute the test only if not already executed in another module.
if (support.deleteExpando == null) {
// Support: IE<9
support.deleteExpando = true;
try {
delete div.test;
} catch( e ) {
support.deleteExpando = false;
}
}
// Null elements to avoid leaks in IE.
div = null;
})();
/**
* Determines whether an object can have data
*/
jQuery.acceptData = function( elem ) {
var noData = jQuery.noData[ (elem.nodeName + " ").toLowerCase() ],
nodeType = +elem.nodeType || 1;
// Do not set data on non-element DOM nodes because it will not be cleared (#8335).
return nodeType !== 1 && nodeType !== 9 ?
false :
// Nodes accept data unless otherwise specified; rejection can be conditional
!noData || noData !== true && elem.getAttribute("classid") === noData;
};
var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
rmultiDash = /([A-Z])/g;
function dataAttr( elem, key, data ) {
// If nothing was found internally, try to fetch any
// data from the HTML5 data-* attribute
if ( data === undefined && elem.nodeType === 1 ) {
var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase();
data = elem.getAttribute( name );
if ( typeof data === "string" ) {
try {
data = data === "true" ? true :
data === "false" ? false :
data === "null" ? null :
// Only convert to a number if it doesn't change the string
+data + "" === data ? +data :
rbrace.test( data ) ? jQuery.parseJSON( data ) :
data;
} catch( e ) {}
// Make sure we set the data so it isn't changed later
jQuery.data( elem, key, data );
} else {
data = undefined;
}
}
return data;
}
// checks a cache object for emptiness
function isEmptyDataObject( obj ) {
var name;
for ( name in obj ) {
// if the public data object is empty, the private is still empty
if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) {
continue;
}
if ( name !== "toJSON" ) {
return false;
}
}
return true;
}
function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
if ( !jQuery.acceptData( elem ) ) {
return;
}
var ret, thisCache,
internalKey = jQuery.expando,
// We have to handle DOM nodes and JS objects differently because IE6-7
// can't GC object references properly across the DOM-JS boundary
isNode = elem.nodeType,
// Only DOM nodes need the global jQuery cache; JS object data is
// attached directly to the object so GC can occur automatically
cache = isNode ? jQuery.cache : elem,
// Only defining an ID for JS objects if its cache already exists allows
// the code to shortcut on the same path as a DOM node with no cache
id = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;
// Avoid doing any more work than we need to when trying to get data on an
// object that has no data at all
if ( (!id || !cache[id] || (!pvt && !cache[id].data)) && data === undefined && typeof name === "string" ) {
return;
}
if ( !id ) {
// Only DOM nodes need a new unique ID for each element since their data
// ends up in the global cache
if ( isNode ) {
id = elem[ internalKey ] = deletedIds.pop() || jQuery.guid++;
} else {
id = internalKey;
}
}
if ( !cache[ id ] ) {
// Avoid exposing jQuery metadata on plain JS objects when the object
// is serialized using JSON.stringify
cache[ id ] = isNode ? {} : { toJSON: jQuery.noop };
}
// An object can be passed to jQuery.data instead of a key/value pair; this gets
// shallow copied over onto the existing cache
if ( typeof name === "object" || typeof name === "function" ) {
if ( pvt ) {
cache[ id ] = jQuery.extend( cache[ id ], name );
} else {
cache[ id ].data = jQuery.extend( cache[ id ].data, name );
}
}
thisCache = cache[ id ];
// jQuery data() is stored in a separate object inside the object's internal data
// cache in order to avoid key collisions between internal data and user-defined
// data.
if ( !pvt ) {
if ( !thisCache.data ) {
thisCache.data = {};
}
thisCache = thisCache.data;
}
if ( data !== undefined ) {
thisCache[ jQuery.camelCase( name ) ] = data;
}
// Check for both converted-to-camel and non-converted data property names
// If a data property was specified
if ( typeof name === "string" ) {
// First Try to find as-is property data
ret = thisCache[ name ];
// Test for null|undefined property data
if ( ret == null ) {
// Try to find the camelCased property
ret = thisCache[ jQuery.camelCase( name ) ];
}
} else {
ret = thisCache;
}
return ret;
}
function internalRemoveData( elem, name, pvt ) {
if ( !jQuery.acceptData( elem ) ) {
return;
}
var thisCache, i,
isNode = elem.nodeType,
// See jQuery.data for more information
cache = isNode ? jQuery.cache : elem,
id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
// If there is already no cache entry for this object, there is no
// purpose in continuing
if ( !cache[ id ] ) {
return;
}
if ( name ) {
thisCache = pvt ? cache[ id ] : cache[ id ].data;
if ( thisCache ) {
// Support array or space separated string names for data keys
if ( !jQuery.isArray( name ) ) {
// try the string as a key before any manipulation
if ( name in thisCache ) {
name = [ name ];
} else {
// split the camel cased version by spaces unless a key with the spaces exists
name = jQuery.camelCase( name );
if ( name in thisCache ) {
name = [ name ];
} else {
name = name.split(" ");
}
}
} else {
// If "name" is an array of keys...
// When data is initially created, via ("key", "val") signature,
// keys will be converted to camelCase.
// Since there is no way to tell _how_ a key was added, remove
// both plain key and camelCase key. #12786
// This will only penalize the array argument path.
name = name.concat( jQuery.map( name, jQuery.camelCase ) );
}
i = name.length;
while ( i-- ) {
delete thisCache[ name[i] ];
}
// If there is no data left in the cache, we want to continue
// and let the cache object itself get destroyed
if ( pvt ? !isEmptyDataObject(thisCache) : !jQuery.isEmptyObject(thisCache) ) {
return;
}
}
}
// See jQuery.data for more information
if ( !pvt ) {
delete cache[ id ].data;
// Don't destroy the parent cache unless the internal data object
// had been the only thing left in it
if ( !isEmptyDataObject( cache[ id ] ) ) {
return;
}
}
// Destroy the cache
if ( isNode ) {
jQuery.cleanData( [ elem ], true );
// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)
/* jshint eqeqeq: false */
} else if ( support.deleteExpando || cache != cache.window ) {
/* jshint eqeqeq: true */
delete cache[ id ];
// When all else fails, null
} else {
cache[ id ] = null;
}
}
jQuery.extend({
cache: {},
// The following elements (space-suffixed to avoid Object.prototype collisions)
// throw uncatchable exceptions if you attempt to set expando properties
noData: {
"applet ": true,
"embed ": true,
// ...but Flash objects (which have this classid) *can* handle expandos
"object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
},
hasData: function( elem ) {
elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];
return !!elem && !isEmptyDataObject( elem );
},
data: function( elem, name, data ) {
return internalData( elem, name, data );
},
removeData: function( elem, name ) {
return internalRemoveData( elem, name );
},
// For internal use only.
_data: function( elem, name, data ) {
return internalData( elem, name, data, true );
},
_removeData: function( elem, name ) {
return internalRemoveData( elem, name, true );
}
});
jQuery.fn.extend({
data: function( key, value ) {
var i, name, data,
elem = this[0],
attrs = elem && elem.attributes;
// Special expections of .data basically thwart jQuery.access,
// so implement the relevant behavior ourselves
// Gets all values
if ( key === undefined ) {
if ( this.length ) {
data = jQuery.data( elem );
if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
i = attrs.length;
while ( i-- ) {
name = attrs[i].name;
if ( name.indexOf("data-") === 0 ) {
name = jQuery.camelCase( name.slice(5) );
dataAttr( elem, name, data[ name ] );
}
}
jQuery._data( elem, "parsedAttrs", true );
}
}
return data;
}
// Sets multiple values
if ( typeof key === "object" ) {
return this.each(function() {
jQuery.data( this, key );
});
}
return arguments.length > 1 ?
// Sets one value
this.each(function() {
jQuery.data( this, key, value );
}) :
// Gets one value
// Try to fetch any internally stored data first
elem ? dataAttr( elem, key, jQuery.data( elem, key ) ) : undefined;
},
removeData: function( key ) {
return this.each(function() {
jQuery.removeData( this, key );
});
}
});
jQuery.extend({
queue: function( elem, type, data ) {
var queue;
if ( elem ) {
type = ( type || "fx" ) + "queue";
queue = jQuery._data( elem, type );
// Speed up dequeue by getting out quickly if this is just a lookup
if ( data ) {
if ( !queue || jQuery.isArray(data) ) {
queue = jQuery._data( elem, type, jQuery.makeArray(data) );
} else {
queue.push( data );
}
}
return queue || [];
}
},
dequeue: function( elem, type ) {
type = type || "fx";
var queue = jQuery.queue( elem, type ),
startLength = queue.length,
fn = queue.shift(),
hooks = jQuery._queueHooks( elem, type ),
next = function() {
jQuery.dequeue( elem, type );
};
// If the fx queue is dequeued, always remove the progress sentinel
if ( fn === "inprogress" ) {
fn = queue.shift();
startLength--;
}
if ( fn ) {
// Add a progress sentinel to prevent the fx queue from being
// automatically dequeued
if ( type === "fx" ) {
queue.unshift( "inprogress" );
}
// clear up the last queue stop function
delete hooks.stop;
fn.call( elem, next, hooks );
}
if ( !startLength && hooks ) {
hooks.empty.fire();
}
},
// not intended for public consumption - generates a queueHooks object, or returns the current one
_queueHooks: function( elem, type ) {
var key = type + "queueHooks";
return jQuery._data( elem, key ) || jQuery._data( elem, key, {
empty: jQuery.Callbacks("once memory").add(function() {
jQuery._removeData( elem, type + "queue" );
jQuery._removeData( elem, key );
})
});
}
});
jQuery.fn.extend({
queue: function( type, data ) {
var setter = 2;
if ( typeof type !== "string" ) {
data = type;
type = "fx";
setter--;
}
if ( arguments.length < setter ) {
return jQuery.queue( this[0], type );
}
return data === undefined ?
this :
this.each(function() {
var queue = jQuery.queue( this, type, data );
// ensure a hooks for this queue
jQuery._queueHooks( this, type );
if ( type === "fx" && queue[0] !== "inprogress" ) {
jQuery.dequeue( this, type );
}
});
},
dequeue: function( type ) {
return this.each(function() {
jQuery.dequeue( this, type );
});
},
clearQueue: function( type ) {
return this.queue( type || "fx", [] );
},
// Get a promise resolved when queues of a certain type
// are emptied (fx is the type by default)
promise: function( type, obj ) {
var tmp,
count = 1,
defer = jQuery.Deferred(),
elements = this,
i = this.length,
resolve = function() {
if ( !( --count ) ) {
defer.resolveWith( elements, [ elements ] );
}
};
if ( typeof type !== "string" ) {
obj = type;
type = undefined;
}
type = type || "fx";
while ( i-- ) {
tmp = jQuery._data( elements[ i ], type + "queueHooks" );
if ( tmp && tmp.empty ) {
count++;
tmp.empty.add( resolve );
}
}
resolve();
return defer.promise( obj );
}
});
var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
var isHidden = function( elem, el ) {
// isHidden might be called from jQuery#filter function;
// in that case, element will be second argument
elem = el || elem;
return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
};
// Multifunctional method to get and set values of a collection
// The value/s can optionally be executed if it's a function
var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
var i = 0,
length = elems.length,
bulk = key == null;
// Sets many values
if ( jQuery.type( key ) === "object" ) {
chainable = true;
for ( i in key ) {
jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
}
// Sets one value
} else if ( value !== undefined ) {
chainable = true;
if ( !jQuery.isFunction( value ) ) {
raw = true;
}
if ( bulk ) {
// Bulk operations run against the entire set
if ( raw ) {
fn.call( elems, value );
fn = null;
// ...except when executing function values
} else {
bulk = fn;
fn = function( elem, key, value ) {
return bulk.call( jQuery( elem ), value );
};
}
}
if ( fn ) {
for ( ; i < length; i++ ) {
fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
}
}
}
return chainable ?
elems :
// Gets
bulk ?
fn.call( elems ) :
length ? fn( elems[0], key ) : emptyGet;
};
var rcheckableType = (/^(?:checkbox|radio)$/i);
(function() {
var fragment = document.createDocumentFragment(),
div = document.createElement("div"),
input = document.createElement("input");
// Setup
div.setAttribute( "className", "t" );
div.innerHTML = " a ";
// IE strips leading whitespace when .innerHTML is used
support.leadingWhitespace = div.firstChild.nodeType === 3;
// Make sure that tbody elements aren't automatically inserted
// IE will insert them into empty tables
support.tbody = !div.getElementsByTagName( "tbody" ).length;
// Make sure that link elements get serialized correctly by innerHTML
// This requires a wrapper element in IE
support.htmlSerialize = !!div.getElementsByTagName( "link" ).length;
// Makes sure cloning an html5 element does not cause problems
// Where outerHTML is undefined, this still works
support.html5Clone =
document.createElement( "nav" ).cloneNode( true ).outerHTML !== "<:nav>";
// Check if a disconnected checkbox will retain its checked
// value of true after appended to the DOM (IE6/7)
input.type = "checkbox";
input.checked = true;
fragment.appendChild( input );
support.appendChecked = input.checked;
// Make sure textarea (and checkbox) defaultValue is properly cloned
// Support: IE6-IE11+
div.innerHTML = "";
support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
// #11217 - WebKit loses check when the name is after the checked attribute
fragment.appendChild( div );
div.innerHTML = " ";
// Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
// old WebKit doesn't clone checked state correctly in fragments
support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
// Support: IE<9
// Opera does not clone events (and typeof div.attachEvent === undefined).
// IE9-10 clones events bound via attachEvent, but they don't trigger with .click()
support.noCloneEvent = true;
if ( div.attachEvent ) {
div.attachEvent( "onclick", function() {
support.noCloneEvent = false;
});
div.cloneNode( true ).click();
}
// Execute the test only if not already executed in another module.
if (support.deleteExpando == null) {
// Support: IE<9
support.deleteExpando = true;
try {
delete div.test;
} catch( e ) {
support.deleteExpando = false;
}
}
// Null elements to avoid leaks in IE.
fragment = div = input = null;
})();
(function() {
var i, eventName,
div = document.createElement( "div" );
// Support: IE<9 (lack submit/change bubble), Firefox 23+ (lack focusin event)
for ( i in { submit: true, change: true, focusin: true }) {
eventName = "on" + i;
if ( !(support[ i + "Bubbles" ] = eventName in window) ) {
// Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
div.setAttribute( eventName, "t" );
support[ i + "Bubbles" ] = div.attributes[ eventName ].expando === false;
}
}
// Null elements to avoid leaks in IE.
div = null;
})();
var rformElems = /^(?:input|select|textarea)$/i,
rkeyEvent = /^key/,
rmouseEvent = /^(?:mouse|contextmenu)|click/,
rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
function returnTrue() {
return true;
}
function returnFalse() {
return false;
}
function safeActiveElement() {
try {
return document.activeElement;
} catch ( err ) { }
}
/*
* Helper functions for managing events -- not part of the public interface.
* Props to Dean Edwards' addEvent library for many of the ideas.
*/
jQuery.event = {
global: {},
add: function( elem, types, handler, data, selector ) {
var tmp, events, t, handleObjIn,
special, eventHandle, handleObj,
handlers, type, namespaces, origType,
elemData = jQuery._data( elem );
// Don't attach events to noData or text/comment nodes (but allow plain objects)
if ( !elemData ) {
return;
}
// Caller can pass in an object of custom data in lieu of the handler
if ( handler.handler ) {
handleObjIn = handler;
handler = handleObjIn.handler;
selector = handleObjIn.selector;
}
// Make sure that the handler has a unique ID, used to find/remove it later
if ( !handler.guid ) {
handler.guid = jQuery.guid++;
}
// Init the element's event structure and main handler, if this is the first
if ( !(events = elemData.events) ) {
events = elemData.events = {};
}
if ( !(eventHandle = elemData.handle) ) {
eventHandle = elemData.handle = function( e ) {
// Discard the second event of a jQuery.event.trigger() and
// when an event is called after a page has unloaded
return typeof jQuery !== strundefined && (!e || jQuery.event.triggered !== e.type) ?
jQuery.event.dispatch.apply( eventHandle.elem, arguments ) :
undefined;
};
// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events
eventHandle.elem = elem;
}
// Handle multiple events separated by a space
types = ( types || "" ).match( rnotwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
tmp = rtypenamespace.exec( types[t] ) || [];
type = origType = tmp[1];
namespaces = ( tmp[2] || "" ).split( "." ).sort();
// There *must* be a type, no attaching namespace-only handlers
if ( !type ) {
continue;
}
// If event changes its type, use the special event handlers for the changed type
special = jQuery.event.special[ type ] || {};
// If selector defined, determine special event api type, otherwise given type
type = ( selector ? special.delegateType : special.bindType ) || type;
// Update special based on newly reset type
special = jQuery.event.special[ type ] || {};
// handleObj is passed to all event handlers
handleObj = jQuery.extend({
type: type,
origType: origType,
data: data,
handler: handler,
guid: handler.guid,
selector: selector,
needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
namespace: namespaces.join(".")
}, handleObjIn );
// Init the event handler queue if we're the first
if ( !(handlers = events[ type ]) ) {
handlers = events[ type ] = [];
handlers.delegateCount = 0;
// Only use addEventListener/attachEvent if the special events handler returns false
if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
// Bind the global event handler to the element
if ( elem.addEventListener ) {
elem.addEventListener( type, eventHandle, false );
} else if ( elem.attachEvent ) {
elem.attachEvent( "on" + type, eventHandle );
}
}
}
if ( special.add ) {
special.add.call( elem, handleObj );
if ( !handleObj.handler.guid ) {
handleObj.handler.guid = handler.guid;
}
}
// Add to the element's handler list, delegates in front
if ( selector ) {
handlers.splice( handlers.delegateCount++, 0, handleObj );
} else {
handlers.push( handleObj );
}
// Keep track of which events have ever been used, for event optimization
jQuery.event.global[ type ] = true;
}
// Nullify elem to prevent memory leaks in IE
elem = null;
},
// Detach an event or set of events from an element
remove: function( elem, types, handler, selector, mappedTypes ) {
var j, handleObj, tmp,
origCount, t, events,
special, handlers, type,
namespaces, origType,
elemData = jQuery.hasData( elem ) && jQuery._data( elem );
if ( !elemData || !(events = elemData.events) ) {
return;
}
// Once for each type.namespace in types; type may be omitted
types = ( types || "" ).match( rnotwhite ) || [ "" ];
t = types.length;
while ( t-- ) {
tmp = rtypenamespace.exec( types[t] ) || [];
type = origType = tmp[1];
namespaces = ( tmp[2] || "" ).split( "." ).sort();
// Unbind all events (on this namespace, if provided) for the element
if ( !type ) {
for ( type in events ) {
jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
}
continue;
}
special = jQuery.event.special[ type ] || {};
type = ( selector ? special.delegateType : special.bindType ) || type;
handlers = events[ type ] || [];
tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
// Remove matching events
origCount = j = handlers.length;
while ( j-- ) {
handleObj = handlers[ j ];
if ( ( mappedTypes || origType === handleObj.origType ) &&
( !handler || handler.guid === handleObj.guid ) &&
( !tmp || tmp.test( handleObj.namespace ) ) &&
( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
handlers.splice( j, 1 );
if ( handleObj.selector ) {
handlers.delegateCount--;
}
if ( special.remove ) {
special.remove.call( elem, handleObj );
}
}
}
// Remove generic event handler if we removed something and no more handlers exist
// (avoids potential for endless recursion during removal of special event handlers)
if ( origCount && !handlers.length ) {
if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
jQuery.removeEvent( elem, type, elemData.handle );
}
delete events[ type ];
}
}
// Remove the expando if it's no longer used
if ( jQuery.isEmptyObject( events ) ) {
delete elemData.handle;
// removeData also checks for emptiness and clears the expando if empty
// so use it instead of delete
jQuery._removeData( elem, "events" );
}
},
trigger: function( event, data, elem, onlyHandlers ) {
var handle, ontype, cur,
bubbleType, special, tmp, i,
eventPath = [ elem || document ],
type = hasOwn.call( event, "type" ) ? event.type : event,
namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
cur = tmp = elem = elem || document;
// Don't do events on text and comment nodes
if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
return;
}
// focus/blur morphs to focusin/out; ensure we're not firing them right now
if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
return;
}
if ( type.indexOf(".") >= 0 ) {
// Namespaced trigger; create a regexp to match event type in handle()
namespaces = type.split(".");
type = namespaces.shift();
namespaces.sort();
}
ontype = type.indexOf(":") < 0 && "on" + type;
// Caller can pass in a jQuery.Event object, Object, or just an event type string
event = event[ jQuery.expando ] ?
event :
new jQuery.Event( type, typeof event === "object" && event );
// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
event.isTrigger = onlyHandlers ? 2 : 3;
event.namespace = namespaces.join(".");
event.namespace_re = event.namespace ?
new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
null;
// Clean up the event in case it is being reused
event.result = undefined;
if ( !event.target ) {
event.target = elem;
}
// Clone any incoming data and prepend the event, creating the handler arg list
data = data == null ?
[ event ] :
jQuery.makeArray( data, [ event ] );
// Allow special events to draw outside the lines
special = jQuery.event.special[ type ] || {};
if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
return;
}
// Determine event propagation path in advance, per W3C events spec (#9951)
// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
bubbleType = special.delegateType || type;
if ( !rfocusMorph.test( bubbleType + type ) ) {
cur = cur.parentNode;
}
for ( ; cur; cur = cur.parentNode ) {
eventPath.push( cur );
tmp = cur;
}
// Only add window if we got to document (e.g., not plain obj or detached DOM)
if ( tmp === (elem.ownerDocument || document) ) {
eventPath.push( tmp.defaultView || tmp.parentWindow || window );
}
}
// Fire handlers on the event path
i = 0;
while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
event.type = i > 1 ?
bubbleType :
special.bindType || type;
// jQuery handler
handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" );
if ( handle ) {
handle.apply( cur, data );
}
// Native handler
handle = ontype && cur[ ontype ];
if ( handle && handle.apply && jQuery.acceptData( cur ) ) {
event.result = handle.apply( cur, data );
if ( event.result === false ) {
event.preventDefault();
}
}
}
event.type = type;
// If nobody prevented the default action, do it now
if ( !onlyHandlers && !event.isDefaultPrevented() ) {
if ( (!special._default || special._default.apply( eventPath.pop(), data ) === false) &&
jQuery.acceptData( elem ) ) {
// Call a native DOM method on the target with the same name name as the event.
// Can't use an .isFunction() check here because IE6/7 fails that test.
// Don't do default actions on window, that's where global variables be (#6170)
if ( ontype && elem[ type ] && !jQuery.isWindow( elem ) ) {
// Don't re-trigger an onFOO event when we call its FOO() method
tmp = elem[ ontype ];
if ( tmp ) {
elem[ ontype ] = null;
}
// Prevent re-triggering of the same event, since we already bubbled it above
jQuery.event.triggered = type;
try {
elem[ type ]();
} catch ( e ) {
// IE<9 dies on focus/blur to hidden element (#1486,#12518)
// only reproducible on winXP IE8 native, not IE9 in IE8 mode
}
jQuery.event.triggered = undefined;
if ( tmp ) {
elem[ ontype ] = tmp;
}
}
}
}
return event.result;
},
dispatch: function( event ) {
// Make a writable jQuery.Event from the native event object
event = jQuery.event.fix( event );
var i, ret, handleObj, matched, j,
handlerQueue = [],
args = slice.call( arguments ),
handlers = ( jQuery._data( this, "events" ) || {} )[ event.type ] || [],
special = jQuery.event.special[ event.type ] || {};
// Use the fix-ed jQuery.Event rather than the (read-only) native event
args[0] = event;
event.delegateTarget = this;
// Call the preDispatch hook for the mapped type, and let it bail if desired
if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
return;
}
// Determine handlers
handlerQueue = jQuery.event.handlers.call( this, event, handlers );
// Run delegates first; they may want to stop propagation beneath us
i = 0;
while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
event.currentTarget = matched.elem;
j = 0;
while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
// Triggered event must either 1) have no namespace, or
// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
event.handleObj = handleObj;
event.data = handleObj.data;
ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
.apply( matched.elem, args );
if ( ret !== undefined ) {
if ( (event.result = ret) === false ) {
event.preventDefault();
event.stopPropagation();
}
}
}
}
}
// Call the postDispatch hook for the mapped type
if ( special.postDispatch ) {
special.postDispatch.call( this, event );
}
return event.result;
},
handlers: function( event, handlers ) {
var sel, handleObj, matches, i,
handlerQueue = [],
delegateCount = handlers.delegateCount,
cur = event.target;
// Find delegate handlers
// Black-hole SVG instance trees (#13180)
// Avoid non-left-click bubbling in Firefox (#3861)
if ( delegateCount && cur.nodeType && (!event.button || event.type !== "click") ) {
/* jshint eqeqeq: false */
for ( ; cur != this; cur = cur.parentNode || this ) {
/* jshint eqeqeq: true */
// Don't check non-elements (#13208)
// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
if ( cur.nodeType === 1 && (cur.disabled !== true || event.type !== "click") ) {
matches = [];
for ( i = 0; i < delegateCount; i++ ) {
handleObj = handlers[ i ];
// Don't conflict with Object.prototype properties (#13203)
sel = handleObj.selector + " ";
if ( matches[ sel ] === undefined ) {
matches[ sel ] = handleObj.needsContext ?
jQuery( sel, this ).index( cur ) >= 0 :
jQuery.find( sel, this, null, [ cur ] ).length;
}
if ( matches[ sel ] ) {
matches.push( handleObj );
}
}
if ( matches.length ) {
handlerQueue.push({ elem: cur, handlers: matches });
}
}
}
}
// Add the remaining (directly-bound) handlers
if ( delegateCount < handlers.length ) {
handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) });
}
return handlerQueue;
},
fix: function( event ) {
if ( event[ jQuery.expando ] ) {
return event;
}
// Create a writable copy of the event object and normalize some properties
var i, prop, copy,
type = event.type,
originalEvent = event,
fixHook = this.fixHooks[ type ];
if ( !fixHook ) {
this.fixHooks[ type ] = fixHook =
rmouseEvent.test( type ) ? this.mouseHooks :
rkeyEvent.test( type ) ? this.keyHooks :
{};
}
copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;
event = new jQuery.Event( originalEvent );
i = copy.length;
while ( i-- ) {
prop = copy[ i ];
event[ prop ] = originalEvent[ prop ];
}
// Support: IE<9
// Fix target property (#1925)
if ( !event.target ) {
event.target = originalEvent.srcElement || document;
}
// Support: Chrome 23+, Safari?
// Target should not be a text node (#504, #13143)
if ( event.target.nodeType === 3 ) {
event.target = event.target.parentNode;
}
// Support: IE<9
// For mouse/key events, metaKey==false if it's undefined (#3368, #11328)
event.metaKey = !!event.metaKey;
return fixHook.filter ? fixHook.filter( event, originalEvent ) : event;
},
// Includes some event props shared by KeyEvent and MouseEvent
props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
fixHooks: {},
keyHooks: {
props: "char charCode key keyCode".split(" "),
filter: function( event, original ) {
// Add which for key events
if ( event.which == null ) {
event.which = original.charCode != null ? original.charCode : original.keyCode;
}
return event;
}
},
mouseHooks: {
props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
filter: function( event, original ) {
var body, eventDoc, doc,
button = original.button,
fromElement = original.fromElement;
// Calculate pageX/Y if missing and clientX/Y available
if ( event.pageX == null && original.clientX != null ) {
eventDoc = event.target.ownerDocument || document;
doc = eventDoc.documentElement;
body = eventDoc.body;
event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );
event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 );
}
// Add relatedTarget, if necessary
if ( !event.relatedTarget && fromElement ) {
event.relatedTarget = fromElement === event.target ? original.toElement : fromElement;
}
// Add which for click: 1 === left; 2 === middle; 3 === right
// Note: button is not normalized, so don't use it
if ( !event.which && button !== undefined ) {
event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );
}
return event;
}
},
special: {
load: {
// Prevent triggered image.load events from bubbling to window.load
noBubble: true
},
focus: {
// Fire native event if possible so blur/focus sequence is correct
trigger: function() {
if ( this !== safeActiveElement() && this.focus ) {
try {
this.focus();
return false;
} catch ( e ) {
// Support: IE<9
// If we error on focus to hidden element (#1486, #12518),
// let .trigger() run the handlers
}
}
},
delegateType: "focusin"
},
blur: {
trigger: function() {
if ( this === safeActiveElement() && this.blur ) {
this.blur();
return false;
}
},
delegateType: "focusout"
},
click: {
// For checkbox, fire native event so checked state will be right
trigger: function() {
if ( jQuery.nodeName( this, "input" ) && this.type === "checkbox" && this.click ) {
this.click();
return false;
}
},
// For cross-browser consistency, don't fire native .click() on links
_default: function( event ) {
return jQuery.nodeName( event.target, "a" );
}
},
beforeunload: {
postDispatch: function( event ) {
// Even when returnValue equals to undefined Firefox will still show alert
if ( event.result !== undefined ) {
event.originalEvent.returnValue = event.result;
}
}
}
},
simulate: function( type, elem, event, bubble ) {
// Piggyback on a donor event to simulate a different one.
// Fake originalEvent to avoid donor's stopPropagation, but if the
// simulated event prevents default then we do the same on the donor.
var e = jQuery.extend(
new jQuery.Event(),
event,
{
type: type,
isSimulated: true,
originalEvent: {}
}
);
if ( bubble ) {
jQuery.event.trigger( e, null, elem );
} else {
jQuery.event.dispatch.call( elem, e );
}
if ( e.isDefaultPrevented() ) {
event.preventDefault();
}
}
};
jQuery.removeEvent = document.removeEventListener ?
function( elem, type, handle ) {
if ( elem.removeEventListener ) {
elem.removeEventListener( type, handle, false );
}
} :
function( elem, type, handle ) {
var name = "on" + type;
if ( elem.detachEvent ) {
// #8545, #7054, preventing memory leaks for custom events in IE6-8
// detachEvent needed property on element, by name of that event, to properly expose it to GC
if ( typeof elem[ name ] === strundefined ) {
elem[ name ] = null;
}
elem.detachEvent( name, handle );
}
};
jQuery.Event = function( src, props ) {
// Allow instantiation without the 'new' keyword
if ( !(this instanceof jQuery.Event) ) {
return new jQuery.Event( src, props );
}
// Event object
if ( src && src.type ) {
this.originalEvent = src;
this.type = src.type;
// Events bubbling up the document may have been marked as prevented
// by a handler lower down the tree; reflect the correct value.
this.isDefaultPrevented = src.defaultPrevented ||
src.defaultPrevented === undefined && (
// Support: IE < 9
src.returnValue === false ||
// Support: Android < 4.0
src.getPreventDefault && src.getPreventDefault() ) ?
returnTrue :
returnFalse;
// Event type
} else {
this.type = src;
}
// Put explicitly provided properties onto the event object
if ( props ) {
jQuery.extend( this, props );
}
// Create a timestamp if incoming event doesn't have one
this.timeStamp = src && src.timeStamp || jQuery.now();
// Mark it as fixed
this[ jQuery.expando ] = true;
};
// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
jQuery.Event.prototype = {
isDefaultPrevented: returnFalse,
isPropagationStopped: returnFalse,
isImmediatePropagationStopped: returnFalse,
preventDefault: function() {
var e = this.originalEvent;
this.isDefaultPrevented = returnTrue;
if ( !e ) {
return;
}
// If preventDefault exists, run it on the original event
if ( e.preventDefault ) {
e.preventDefault();
// Support: IE
// Otherwise set the returnValue property of the original event to false
} else {
e.returnValue = false;
}
},
stopPropagation: function() {
var e = this.originalEvent;
this.isPropagationStopped = returnTrue;
if ( !e ) {
return;
}
// If stopPropagation exists, run it on the original event
if ( e.stopPropagation ) {
e.stopPropagation();
}
// Support: IE
// Set the cancelBubble property of the original event to true
e.cancelBubble = true;
},
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = returnTrue;
this.stopPropagation();
}
};
// Create mouseenter/leave events using mouseover/out and event-time checks
jQuery.each({
mouseenter: "mouseover",
mouseleave: "mouseout"
}, function( orig, fix ) {
jQuery.event.special[ orig ] = {
delegateType: fix,
bindType: fix,
handle: function( event ) {
var ret,
target = this,
related = event.relatedTarget,
handleObj = event.handleObj;
// For mousenter/leave call the handler if related is outside the target.
// NB: No relatedTarget if the mouse left/entered the browser window
if ( !related || (related !== target && !jQuery.contains( target, related )) ) {
event.type = handleObj.origType;
ret = handleObj.handler.apply( this, arguments );
event.type = fix;
}
return ret;
}
};
});
// IE submit delegation
if ( !support.submitBubbles ) {
jQuery.event.special.submit = {
setup: function() {
// Only need this for delegated form submit events
if ( jQuery.nodeName( this, "form" ) ) {
return false;
}
// Lazy-add a submit handler when a descendant form may potentially be submitted
jQuery.event.add( this, "click._submit keypress._submit", function( e ) {
// Node name check avoids a VML-related crash in IE (#9807)
var elem = e.target,
form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined;
if ( form && !jQuery._data( form, "submitBubbles" ) ) {
jQuery.event.add( form, "submit._submit", function( event ) {
event._submit_bubble = true;
});
jQuery._data( form, "submitBubbles", true );
}
});
// return undefined since we don't need an event listener
},
postDispatch: function( event ) {
// If form was submitted by the user, bubble the event up the tree
if ( event._submit_bubble ) {
delete event._submit_bubble;
if ( this.parentNode && !event.isTrigger ) {
jQuery.event.simulate( "submit", this.parentNode, event, true );
}
}
},
teardown: function() {
// Only need this for delegated form submit events
if ( jQuery.nodeName( this, "form" ) ) {
return false;
}
// Remove delegated handlers; cleanData eventually reaps submit handlers attached above
jQuery.event.remove( this, "._submit" );
}
};
}
// IE change delegation and checkbox/radio fix
if ( !support.changeBubbles ) {
jQuery.event.special.change = {
setup: function() {
if ( rformElems.test( this.nodeName ) ) {
// IE doesn't fire change on a check/radio until blur; trigger it on click
// after a propertychange. Eat the blur-change in special.change.handle.
// This still fires onchange a second time for check/radio after blur.
if ( this.type === "checkbox" || this.type === "radio" ) {
jQuery.event.add( this, "propertychange._change", function( event ) {
if ( event.originalEvent.propertyName === "checked" ) {
this._just_changed = true;
}
});
jQuery.event.add( this, "click._change", function( event ) {
if ( this._just_changed && !event.isTrigger ) {
this._just_changed = false;
}
// Allow triggered, simulated change events (#11500)
jQuery.event.simulate( "change", this, event, true );
});
}
return false;
}
// Delegated event; lazy-add a change handler on descendant inputs
jQuery.event.add( this, "beforeactivate._change", function( e ) {
var elem = e.target;
if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "changeBubbles" ) ) {
jQuery.event.add( elem, "change._change", function( event ) {
if ( this.parentNode && !event.isSimulated && !event.isTrigger ) {
jQuery.event.simulate( "change", this.parentNode, event, true );
}
});
jQuery._data( elem, "changeBubbles", true );
}
});
},
handle: function( event ) {
var elem = event.target;
// Swallow native change events from checkbox/radio, we already triggered them above
if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) {
return event.handleObj.handler.apply( this, arguments );
}
},
teardown: function() {
jQuery.event.remove( this, "._change" );
return !rformElems.test( this.nodeName );
}
};
}
// Create "bubbling" focus and blur events
if ( !support.focusinBubbles ) {
jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
// Attach a single capturing handler on the document while someone wants focusin/focusout
var handler = function( event ) {
jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );
};
jQuery.event.special[ fix ] = {
setup: function() {
var doc = this.ownerDocument || this,
attaches = jQuery._data( doc, fix );
if ( !attaches ) {
doc.addEventListener( orig, handler, true );
}
jQuery._data( doc, fix, ( attaches || 0 ) + 1 );
},
teardown: function() {
var doc = this.ownerDocument || this,
attaches = jQuery._data( doc, fix ) - 1;
if ( !attaches ) {
doc.removeEventListener( orig, handler, true );
jQuery._removeData( doc, fix );
} else {
jQuery._data( doc, fix, attaches );
}
}
};
});
}
jQuery.fn.extend({
on: function( types, selector, data, fn, /*INTERNAL*/ one ) {
var type, origFn;
// Types can be a map of types/handlers
if ( typeof types === "object" ) {
// ( types-Object, selector, data )
if ( typeof selector !== "string" ) {
// ( types-Object, data )
data = data || selector;
selector = undefined;
}
for ( type in types ) {
this.on( type, selector, data, types[ type ], one );
}
return this;
}
if ( data == null && fn == null ) {
// ( types, fn )
fn = selector;
data = selector = undefined;
} else if ( fn == null ) {
if ( typeof selector === "string" ) {
// ( types, selector, fn )
fn = data;
data = undefined;
} else {
// ( types, data, fn )
fn = data;
data = selector;
selector = undefined;
}
}
if ( fn === false ) {
fn = returnFalse;
} else if ( !fn ) {
return this;
}
if ( one === 1 ) {
origFn = fn;
fn = function( event ) {
// Can use an empty set, since event contains the info
jQuery().off( event );
return origFn.apply( this, arguments );
};
// Use same guid so caller can remove using origFn
fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
}
return this.each( function() {
jQuery.event.add( this, types, fn, data, selector );
});
},
one: function( types, selector, data, fn ) {
return this.on( types, selector, data, fn, 1 );
},
off: function( types, selector, fn ) {
var handleObj, type;
if ( types && types.preventDefault && types.handleObj ) {
// ( event ) dispatched jQuery.Event
handleObj = types.handleObj;
jQuery( types.delegateTarget ).off(
handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType,
handleObj.selector,
handleObj.handler
);
return this;
}
if ( typeof types === "object" ) {
// ( types-object [, selector] )
for ( type in types ) {
this.off( type, selector, types[ type ] );
}
return this;
}
if ( selector === false || typeof selector === "function" ) {
// ( types [, fn] )
fn = selector;
selector = undefined;
}
if ( fn === false ) {
fn = returnFalse;
}
return this.each(function() {
jQuery.event.remove( this, types, fn, selector );
});
},
trigger: function( type, data ) {
return this.each(function() {
jQuery.event.trigger( type, data, this );
});
},
triggerHandler: function( type, data ) {
var elem = this[0];
if ( elem ) {
return jQuery.event.trigger( type, data, elem, true );
}
}
});
function createSafeFragment( document ) {
var list = nodeNames.split( "|" ),
safeFrag = document.createDocumentFragment();
if ( safeFrag.createElement ) {
while ( list.length ) {
safeFrag.createElement(
list.pop()
);
}
}
return safeFrag;
}
var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
rleadingWhitespace = /^\s+/,
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
rtagName = /<([\w:]+)/,
rtbody = /\s*$/g,
// We have to close these tags to support XHTML (#13200)
wrapMap = {
option: [ 1, "", " " ],
legend: [ 1, "", " " ],
area: [ 1, "", " " ],
param: [ 1, "", " " ],
thead: [ 1, "" ],
tr: [ 2, "" ],
col: [ 2, "" ],
td: [ 3, "" ],
// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
// unless wrapped in a div with non-breaking characters in front of it.
_default: support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X", "
" ]
},
safeFragment = createSafeFragment( document ),
fragmentDiv = safeFragment.appendChild( document.createElement("div") );
wrapMap.optgroup = wrapMap.option;
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
wrapMap.th = wrapMap.td;
function getAll( context, tag ) {
var elems, elem,
i = 0,
found = typeof context.getElementsByTagName !== strundefined ? context.getElementsByTagName( tag || "*" ) :
typeof context.querySelectorAll !== strundefined ? context.querySelectorAll( tag || "*" ) :
undefined;
if ( !found ) {
for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) {
if ( !tag || jQuery.nodeName( elem, tag ) ) {
found.push( elem );
} else {
jQuery.merge( found, getAll( elem, tag ) );
}
}
}
return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
jQuery.merge( [ context ], found ) :
found;
}
// Used in buildFragment, fixes the defaultChecked property
function fixDefaultChecked( elem ) {
if ( rcheckableType.test( elem.type ) ) {
elem.defaultChecked = elem.checked;
}
}
// Support: IE<8
// Manipulating tables requires a tbody
function manipulationTarget( elem, content ) {
return jQuery.nodeName( elem, "table" ) &&
jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
elem.getElementsByTagName("tbody")[0] ||
elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
elem;
}
// Replace/restore the type attribute of script elements for safe DOM manipulation
function disableScript( elem ) {
elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type;
return elem;
}
function restoreScript( elem ) {
var match = rscriptTypeMasked.exec( elem.type );
if ( match ) {
elem.type = match[1];
} else {
elem.removeAttribute("type");
}
return elem;
}
// Mark scripts as having already been evaluated
function setGlobalEval( elems, refElements ) {
var elem,
i = 0;
for ( ; (elem = elems[i]) != null; i++ ) {
jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) );
}
}
function cloneCopyEvent( src, dest ) {
if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
return;
}
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; i < l; i++ ) {
jQuery.event.add( dest, type, events[ type ][ i ] );
}
}
}
// make the cloned public data object a copy from the original
if ( curData.data ) {
curData.data = jQuery.extend( {}, curData.data );
}
}
function fixCloneNodeIssues( src, dest ) {
var nodeName, e, data;
// We do not need to do anything for non-Elements
if ( dest.nodeType !== 1 ) {
return;
}
nodeName = dest.nodeName.toLowerCase();
// IE6-8 copies events bound via attachEvent when using cloneNode.
if ( !support.noCloneEvent && dest[ jQuery.expando ] ) {
data = jQuery._data( dest );
for ( e in data.events ) {
jQuery.removeEvent( dest, e, data.handle );
}
// Event data gets referenced instead of copied if the expando gets copied too
dest.removeAttribute( jQuery.expando );
}
// IE blanks contents when cloning scripts, and tries to evaluate newly-set text
if ( nodeName === "script" && dest.text !== src.text ) {
disableScript( dest ).text = src.text;
restoreScript( dest );
// IE6-10 improperly clones children of object elements using classid.
// IE10 throws NoModificationAllowedError if parent is null, #12132.
} else if ( nodeName === "object" ) {
if ( dest.parentNode ) {
dest.outerHTML = src.outerHTML;
}
// This path appears unavoidable for IE9. When cloning an object
// element in IE9, the outerHTML strategy above is not sufficient.
// If the src has innerHTML and the destination does not,
// copy the src.innerHTML into the dest.innerHTML. #10324
if ( support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) {
dest.innerHTML = src.innerHTML;
}
} else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
// IE6-8 fails to persist the checked state of a cloned checkbox
// or radio button. Worse, IE6-7 fail to give the cloned element
// a checked appearance if the defaultChecked value isn't also set
dest.defaultChecked = dest.checked = src.checked;
// IE6-7 get confused and end up setting the value of a cloned
// checkbox/radio button to an empty string instead of "on"
if ( dest.value !== src.value ) {
dest.value = src.value;
}
// IE6-8 fails to return the selected option to the default selected
// state when cloning options
} else if ( nodeName === "option" ) {
dest.defaultSelected = dest.selected = src.defaultSelected;
// IE6-8 fails to set the defaultValue to the correct value when
// cloning other types of input fields
} else if ( nodeName === "input" || nodeName === "textarea" ) {
dest.defaultValue = src.defaultValue;
}
}
jQuery.extend({
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
var destElements, node, clone, i, srcElements,
inPage = jQuery.contains( elem.ownerDocument, elem );
if ( support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
clone = elem.cloneNode( true );
// IE<=8 does not properly clone detached, unknown element nodes
} else {
fragmentDiv.innerHTML = elem.outerHTML;
fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
}
if ( (!support.noCloneEvent || !support.noCloneChecked) &&
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
destElements = getAll( clone );
srcElements = getAll( elem );
// Fix all IE cloning issues
for ( i = 0; (node = srcElements[i]) != null; ++i ) {
// Ensure that the destination node is not null; Fixes #9587
if ( destElements[i] ) {
fixCloneNodeIssues( node, destElements[i] );
}
}
}
// Copy the events from the original to the clone
if ( dataAndEvents ) {
if ( deepDataAndEvents ) {
srcElements = srcElements || getAll( elem );
destElements = destElements || getAll( clone );
for ( i = 0; (node = srcElements[i]) != null; i++ ) {
cloneCopyEvent( node, destElements[i] );
}
} else {
cloneCopyEvent( elem, clone );
}
}
// Preserve script evaluation history
destElements = getAll( clone, "script" );
if ( destElements.length > 0 ) {
setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
}
destElements = srcElements = node = null;
// Return the cloned set
return clone;
},
buildFragment: function( elems, context, scripts, selection ) {
var j, elem, contains,
tmp, tag, tbody, wrap,
l = elems.length,
// Ensure a safe fragment
safe = createSafeFragment( context ),
nodes = [],
i = 0;
for ( ; i < l; i++ ) {
elem = elems[ i ];
if ( elem || elem === 0 ) {
// Add nodes directly
if ( jQuery.type( elem ) === "object" ) {
jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
// Convert non-html into a text node
} else if ( !rhtml.test( elem ) ) {
nodes.push( context.createTextNode( elem ) );
// Convert html into DOM nodes
} else {
tmp = tmp || safe.appendChild( context.createElement("div") );
// Deserialize a standard representation
tag = (rtagName.exec( elem ) || [ "", "" ])[ 1 ].toLowerCase();
wrap = wrapMap[ tag ] || wrapMap._default;
tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1>$2>" ) + wrap[2];
// Descend through wrappers to the right content
j = wrap[0];
while ( j-- ) {
tmp = tmp.lastChild;
}
// Manually add leading whitespace removed by IE
if ( !support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) );
}
// Remove IE's autoinserted from table fragments
if ( !support.tbody ) {
// String was a , *may* have spurious
elem = tag === "table" && !rtbody.test( elem ) ?
tmp.firstChild :
// String was a bare or
wrap[1] === "" && !rtbody.test( elem ) ?
tmp :
0;
j = elem && elem.childNodes.length;
while ( j-- ) {
if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) {
elem.removeChild( tbody );
}
}
}
jQuery.merge( nodes, tmp.childNodes );
// Fix #12392 for WebKit and IE > 9
tmp.textContent = "";
// Fix #12392 for oldIE
while ( tmp.firstChild ) {
tmp.removeChild( tmp.firstChild );
}
// Remember the top-level container for proper cleanup
tmp = safe.lastChild;
}
}
}
// Fix #11356: Clear elements from fragment
if ( tmp ) {
safe.removeChild( tmp );
}
// Reset defaultChecked for any radios and checkboxes
// about to be appended to the DOM in IE 6/7 (#8060)
if ( !support.appendChecked ) {
jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked );
}
i = 0;
while ( (elem = nodes[ i++ ]) ) {
// #4087 - If origin and destination elements are the same, and this is
// that element, do not do anything
if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
continue;
}
contains = jQuery.contains( elem.ownerDocument, elem );
// Append to fragment
tmp = getAll( safe.appendChild( elem ), "script" );
// Preserve script evaluation history
if ( contains ) {
setGlobalEval( tmp );
}
// Capture executables
if ( scripts ) {
j = 0;
while ( (elem = tmp[ j++ ]) ) {
if ( rscriptType.test( elem.type || "" ) ) {
scripts.push( elem );
}
}
}
}
tmp = null;
return safe;
},
cleanData: function( elems, /* internal */ acceptData ) {
var elem, type, id, data,
i = 0,
internalKey = jQuery.expando,
cache = jQuery.cache,
deleteExpando = support.deleteExpando,
special = jQuery.event.special;
for ( ; (elem = elems[i]) != null; i++ ) {
if ( acceptData || jQuery.acceptData( elem ) ) {
id = elem[ internalKey ];
data = id && cache[ id ];
if ( data ) {
if ( data.events ) {
for ( type in data.events ) {
if ( special[ type ] ) {
jQuery.event.remove( elem, type );
// This is a shortcut to avoid jQuery.event.remove's overhead
} else {
jQuery.removeEvent( elem, type, data.handle );
}
}
}
// Remove cache only if it was not already removed by jQuery.event.remove
if ( cache[ id ] ) {
delete cache[ id ];
// IE does not allow us to delete expando properties from nodes,
// nor does it have a removeAttribute function on Document nodes;
// we must handle all of these cases
if ( deleteExpando ) {
delete elem[ internalKey ];
} else if ( typeof elem.removeAttribute !== strundefined ) {
elem.removeAttribute( internalKey );
} else {
elem[ internalKey ] = null;
}
deletedIds.push( id );
}
}
}
}
}
});
jQuery.fn.extend({
text: function( value ) {
return access( this, function( value ) {
return value === undefined ?
jQuery.text( this ) :
this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
}, null, value, arguments.length );
},
append: function() {
return this.domManip( arguments, function( elem ) {
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
var target = manipulationTarget( this, elem );
target.appendChild( elem );
}
});
},
prepend: function() {
return this.domManip( arguments, function( elem ) {
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
var target = manipulationTarget( this, elem );
target.insertBefore( elem, target.firstChild );
}
});
},
before: function() {
return this.domManip( arguments, function( elem ) {
if ( this.parentNode ) {
this.parentNode.insertBefore( elem, this );
}
});
},
after: function() {
return this.domManip( arguments, function( elem ) {
if ( this.parentNode ) {
this.parentNode.insertBefore( elem, this.nextSibling );
}
});
},
remove: function( selector, keepData /* Internal Use Only */ ) {
var elem,
elems = selector ? jQuery.filter( selector, this ) : this,
i = 0;
for ( ; (elem = elems[i]) != null; i++ ) {
if ( !keepData && elem.nodeType === 1 ) {
jQuery.cleanData( getAll( elem ) );
}
if ( elem.parentNode ) {
if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
setGlobalEval( getAll( elem, "script" ) );
}
elem.parentNode.removeChild( elem );
}
}
return this;
},
empty: function() {
var elem,
i = 0;
for ( ; (elem = this[i]) != null; i++ ) {
// Remove element nodes and prevent memory leaks
if ( elem.nodeType === 1 ) {
jQuery.cleanData( getAll( elem, false ) );
}
// Remove any remaining nodes
while ( elem.firstChild ) {
elem.removeChild( elem.firstChild );
}
// If this is a select, ensure that it displays empty (#12336)
// Support: IE<9
if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
elem.options.length = 0;
}
}
return this;
},
clone: function( dataAndEvents, deepDataAndEvents ) {
dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
return this.map(function() {
return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
});
},
html: function( value ) {
return access( this, function( value ) {
var elem = this[ 0 ] || {},
i = 0,
l = this.length;
if ( value === undefined ) {
return elem.nodeType === 1 ?
elem.innerHTML.replace( rinlinejQuery, "" ) :
undefined;
}
// See if we can take a shortcut and just use innerHTML
if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
( support.htmlSerialize || !rnoshimcache.test( value ) ) &&
( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
!wrapMap[ (rtagName.exec( value ) || [ "", "" ])[ 1 ].toLowerCase() ] ) {
value = value.replace( rxhtmlTag, "<$1>$2>" );
try {
for (; i < l; i++ ) {
// Remove element nodes and prevent memory leaks
elem = this[i] || {};
if ( elem.nodeType === 1 ) {
jQuery.cleanData( getAll( elem, false ) );
elem.innerHTML = value;
}
}
elem = 0;
// If using innerHTML throws an exception, use the fallback method
} catch(e) {}
}
if ( elem ) {
this.empty().append( value );
}
}, null, value, arguments.length );
},
replaceWith: function() {
var arg = arguments[ 0 ];
// Make the changes, replacing each context element with the new content
this.domManip( arguments, function( elem ) {
arg = this.parentNode;
jQuery.cleanData( getAll( this ) );
if ( arg ) {
arg.replaceChild( elem, this );
}
});
// Force removal if there was no new content (e.g., from empty arguments)
return arg && (arg.length || arg.nodeType) ? this : this.remove();
},
detach: function( selector ) {
return this.remove( selector, true );
},
domManip: function( args, callback ) {
// Flatten any nested arrays
args = concat.apply( [], args );
var first, node, hasScripts,
scripts, doc, fragment,
i = 0,
l = this.length,
set = this,
iNoClone = l - 1,
value = args[0],
isFunction = jQuery.isFunction( value );
// We can't cloneNode fragments that contain checked, in WebKit
if ( isFunction ||
( l > 1 && typeof value === "string" &&
!support.checkClone && rchecked.test( value ) ) ) {
return this.each(function( index ) {
var self = set.eq( index );
if ( isFunction ) {
args[0] = value.call( this, index, self.html() );
}
self.domManip( args, callback );
});
}
if ( l ) {
fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, this );
first = fragment.firstChild;
if ( fragment.childNodes.length === 1 ) {
fragment = first;
}
if ( first ) {
scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
hasScripts = scripts.length;
// Use the original fragment for the last item instead of the first because it can end up
// being emptied incorrectly in certain situations (#8070).
for ( ; i < l; i++ ) {
node = fragment;
if ( i !== iNoClone ) {
node = jQuery.clone( node, true, true );
// Keep references to cloned scripts for later restoration
if ( hasScripts ) {
jQuery.merge( scripts, getAll( node, "script" ) );
}
}
callback.call( this[i], node, i );
}
if ( hasScripts ) {
doc = scripts[ scripts.length - 1 ].ownerDocument;
// Reenable scripts
jQuery.map( scripts, restoreScript );
// Evaluate executable scripts on first document insertion
for ( i = 0; i < hasScripts; i++ ) {
node = scripts[ i ];
if ( rscriptType.test( node.type || "" ) &&
!jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
if ( node.src ) {
// Optional AJAX dependency, but won't run scripts if not present
if ( jQuery._evalUrl ) {
jQuery._evalUrl( node.src );
}
} else {
jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) );
}
}
}
}
// Fix #11809: Avoid leaking memory
fragment = first = null;
}
}
return this;
}
});
jQuery.each({
appendTo: "append",
prependTo: "prepend",
insertBefore: "before",
insertAfter: "after",
replaceAll: "replaceWith"
}, function( name, original ) {
jQuery.fn[ name ] = function( selector ) {
var elems,
i = 0,
ret = [],
insert = jQuery( selector ),
last = insert.length - 1;
for ( ; i <= last; i++ ) {
elems = i === last ? this : this.clone(true);
jQuery( insert[i] )[ original ]( elems );
// Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()
push.apply( ret, elems.get() );
}
return this.pushStack( ret );
};
});
var iframe,
elemdisplay = {};
/**
* Retrieve the actual display of a element
* @param {String} name nodeName of the element
* @param {Object} doc Document object
*/
// Called only from within defaultDisplay
function actualDisplay( name, doc ) {
var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
// getDefaultComputedStyle might be reliably used only on attached element
display = window.getDefaultComputedStyle ?
// Use of this method is a temporary fix (more like optmization) until something better comes along,
// since it was removed from specification and supported only in FF
window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" );
// We don't have any data stored on the element,
// so use "detach" method as fast way to get rid of the element
elem.detach();
return display;
}
/**
* Try to determine the default display value of an element
* @param {String} nodeName
*/
function defaultDisplay( nodeName ) {
var doc = document,
display = elemdisplay[ nodeName ];
if ( !display ) {
display = actualDisplay( nodeName, doc );
// If the simple way fails, read from inside an iframe
if ( display === "none" || !display ) {
// Use the already-created iframe if possible
iframe = (iframe || jQuery( "" )).appendTo( doc.documentElement );
// Always write a new HTML skeleton so Webkit and Firefox don't choke on reuse
doc = ( iframe[ 0 ].contentWindow || iframe[ 0 ].contentDocument ).document;
// Support: IE
doc.write();
doc.close();
display = actualDisplay( nodeName, doc );
iframe.detach();
}
// Store the correct default display
elemdisplay[ nodeName ] = display;
}
return display;
}
(function() {
var a, shrinkWrapBlocksVal,
div = document.createElement( "div" ),
divReset =
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;" +
"display:block;padding:0;margin:0;border:0";
// Setup
div.innerHTML = " a ";
a = div.getElementsByTagName( "a" )[ 0 ];
a.style.cssText = "float:left;opacity:.5";
// Make sure that element opacity exists
// (IE uses filter instead)
// Use a regex to work around a WebKit issue. See #5145
support.opacity = /^0.5/.test( a.style.opacity );
// Verify style float existence
// (IE uses styleFloat instead of cssFloat)
support.cssFloat = !!a.style.cssFloat;
div.style.backgroundClip = "content-box";
div.cloneNode( true ).style.backgroundClip = "";
support.clearCloneStyle = div.style.backgroundClip === "content-box";
// Null elements to avoid leaks in IE.
a = div = null;
support.shrinkWrapBlocks = function() {
var body, container, div, containerStyles;
if ( shrinkWrapBlocksVal == null ) {
body = document.getElementsByTagName( "body" )[ 0 ];
if ( !body ) {
// Test fired too early or in an unsupported environment, exit.
return;
}
containerStyles = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px";
container = document.createElement( "div" );
div = document.createElement( "div" );
body.appendChild( container ).appendChild( div );
// Will be changed later if needed.
shrinkWrapBlocksVal = false;
if ( typeof div.style.zoom !== strundefined ) {
// Support: IE6
// Check if elements with layout shrink-wrap their children
div.style.cssText = divReset + ";width:1px;padding:1px;zoom:1";
div.innerHTML = "
";
div.firstChild.style.width = "5px";
shrinkWrapBlocksVal = div.offsetWidth !== 3;
}
body.removeChild( container );
// Null elements to avoid leaks in IE.
body = container = div = null;
}
return shrinkWrapBlocksVal;
};
})();
var rmargin = (/^margin/);
var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
var getStyles, curCSS,
rposition = /^(top|right|bottom|left)$/;
if ( window.getComputedStyle ) {
getStyles = function( elem ) {
return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
};
curCSS = function( elem, name, computed ) {
var width, minWidth, maxWidth, ret,
style = elem.style;
computed = computed || getStyles( elem );
// getPropertyValue is only needed for .css('filter') in IE9, see #12537
ret = computed ? computed.getPropertyValue( name ) || computed[ name ] : undefined;
if ( computed ) {
if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
ret = jQuery.style( elem, name );
}
// A tribute to the "awesome hack by Dean Edwards"
// Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right
// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels
// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values
if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {
// Remember the original values
width = style.width;
minWidth = style.minWidth;
maxWidth = style.maxWidth;
// Put in the new values to get a computed value out
style.minWidth = style.maxWidth = style.width = ret;
ret = computed.width;
// Revert the changed values
style.width = width;
style.minWidth = minWidth;
style.maxWidth = maxWidth;
}
}
// Support: IE
// IE returns zIndex value as an integer.
return ret === undefined ?
ret :
ret + "";
};
} else if ( document.documentElement.currentStyle ) {
getStyles = function( elem ) {
return elem.currentStyle;
};
curCSS = function( elem, name, computed ) {
var left, rs, rsLeft, ret,
style = elem.style;
computed = computed || getStyles( elem );
ret = computed ? computed[ name ] : undefined;
// Avoid setting ret to empty string here
// so we don't default to auto
if ( ret == null && style && style[ name ] ) {
ret = style[ name ];
}
// From the awesome hack by Dean Edwards
// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
// If we're not dealing with a regular pixel number
// but a number that has a weird ending, we need to convert it to pixels
// but not position css attributes, as those are proportional to the parent element instead
// and we can't measure the parent instead because it might trigger a "stacking dolls" problem
if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {
// Remember the original values
left = style.left;
rs = elem.runtimeStyle;
rsLeft = rs && rs.left;
// Put in the new values to get a computed value out
if ( rsLeft ) {
rs.left = elem.currentStyle.left;
}
style.left = name === "fontSize" ? "1em" : ret;
ret = style.pixelLeft + "px";
// Revert the changed values
style.left = left;
if ( rsLeft ) {
rs.left = rsLeft;
}
}
// Support: IE
// IE returns zIndex value as an integer.
return ret === undefined ?
ret :
ret + "" || "auto";
};
}
function addGetHookIf( conditionFn, hookFn ) {
// Define the hook, we'll check on the first run if it's really needed.
return {
get: function() {
var condition = conditionFn();
if ( condition == null ) {
// The test was not ready at this point; screw the hook this time
// but check again when needed next time.
return;
}
if ( condition ) {
// Hook not needed (or it's not possible to use it due to missing dependency),
// remove it.
// Since there are no other hooks for marginRight, remove the whole object.
delete this.get;
return;
}
// Hook needed; redefine it so that the support test is not executed again.
return (this.get = hookFn).apply( this, arguments );
}
};
}
(function() {
var a, reliableHiddenOffsetsVal, boxSizingVal, boxSizingReliableVal,
pixelPositionVal, reliableMarginRightVal,
div = document.createElement( "div" ),
containerStyles = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px",
divReset =
"-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;" +
"display:block;padding:0;margin:0;border:0";
// Setup
div.innerHTML = " a ";
a = div.getElementsByTagName( "a" )[ 0 ];
a.style.cssText = "float:left;opacity:.5";
// Make sure that element opacity exists
// (IE uses filter instead)
// Use a regex to work around a WebKit issue. See #5145
support.opacity = /^0.5/.test( a.style.opacity );
// Verify style float existence
// (IE uses styleFloat instead of cssFloat)
support.cssFloat = !!a.style.cssFloat;
div.style.backgroundClip = "content-box";
div.cloneNode( true ).style.backgroundClip = "";
support.clearCloneStyle = div.style.backgroundClip === "content-box";
// Null elements to avoid leaks in IE.
a = div = null;
jQuery.extend(support, {
reliableHiddenOffsets: function() {
if ( reliableHiddenOffsetsVal != null ) {
return reliableHiddenOffsetsVal;
}
var container, tds, isSupported,
div = document.createElement( "div" ),
body = document.getElementsByTagName( "body" )[ 0 ];
if ( !body ) {
// Return for frameset docs that don't have a body
return;
}
// Setup
div.setAttribute( "className", "t" );
div.innerHTML = " a ";
container = document.createElement( "div" );
container.style.cssText = containerStyles;
body.appendChild( container ).appendChild( div );
// Support: IE8
// Check if table cells still have offsetWidth/Height when they are set
// to display:none and there are still other visible table cells in a
// table row; if so, offsetWidth/Height are not reliable for use when
// determining if an element has been hidden directly using
// display:none (it is still safe to use offsets if a parent element is
// hidden; don safety goggles and see bug #4512 for more information).
div.innerHTML = "";
tds = div.getElementsByTagName( "td" );
tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
isSupported = ( tds[ 0 ].offsetHeight === 0 );
tds[ 0 ].style.display = "";
tds[ 1 ].style.display = "none";
// Support: IE8
// Check if empty table cells still have offsetWidth/Height
reliableHiddenOffsetsVal = isSupported && ( tds[ 0 ].offsetHeight === 0 );
body.removeChild( container );
// Null elements to avoid leaks in IE.
div = body = null;
return reliableHiddenOffsetsVal;
},
boxSizing: function() {
if ( boxSizingVal == null ) {
computeStyleTests();
}
return boxSizingVal;
},
boxSizingReliable: function() {
if ( boxSizingReliableVal == null ) {
computeStyleTests();
}
return boxSizingReliableVal;
},
pixelPosition: function() {
if ( pixelPositionVal == null ) {
computeStyleTests();
}
return pixelPositionVal;
},
reliableMarginRight: function() {
var body, container, div, marginDiv;
// Use window.getComputedStyle because jsdom on node.js will break without it.
if ( reliableMarginRightVal == null && window.getComputedStyle ) {
body = document.getElementsByTagName( "body" )[ 0 ];
if ( !body ) {
// Test fired too early or in an unsupported environment, exit.
return;
}
container = document.createElement( "div" );
div = document.createElement( "div" );
container.style.cssText = containerStyles;
body.appendChild( container ).appendChild( div );
// Check if div with explicit width and no margin-right incorrectly
// gets computed margin-right based on width of container. (#3333)
// Fails in WebKit before Feb 2011 nightlies
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
marginDiv = div.appendChild( document.createElement( "div" ) );
marginDiv.style.cssText = div.style.cssText = divReset;
marginDiv.style.marginRight = marginDiv.style.width = "0";
div.style.width = "1px";
reliableMarginRightVal =
!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
body.removeChild( container );
}
return reliableMarginRightVal;
}
});
function computeStyleTests() {
var container, div,
body = document.getElementsByTagName( "body" )[ 0 ];
if ( !body ) {
// Test fired too early or in an unsupported environment, exit.
return;
}
container = document.createElement( "div" );
div = document.createElement( "div" );
container.style.cssText = containerStyles;
body.appendChild( container ).appendChild( div );
div.style.cssText =
"-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;" +
"position:absolute;display:block;padding:1px;border:1px;width:4px;" +
"margin-top:1%;top:1%";
// Workaround failing boxSizing test due to offsetWidth returning wrong value
// with some non-1 values of body zoom, ticket #13543
jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() {
boxSizingVal = div.offsetWidth === 4;
});
// Will be changed later if needed.
boxSizingReliableVal = true;
pixelPositionVal = false;
reliableMarginRightVal = true;
// Use window.getComputedStyle because jsdom on node.js will break without it.
if ( window.getComputedStyle ) {
pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
boxSizingReliableVal =
( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
}
body.removeChild( container );
// Null elements to avoid leaks in IE.
div = body = null;
}
})();
// A method for quickly swapping in/out CSS properties to get correct calculations.
jQuery.swap = function( elem, options, callback, args ) {
var ret, name,
old = {};
// Remember the old values, and insert the new ones
for ( name in options ) {
old[ name ] = elem.style[ name ];
elem.style[ name ] = options[ name ];
}
ret = callback.apply( elem, args || [] );
// Revert the old values
for ( name in options ) {
elem.style[ name ] = old[ name ];
}
return ret;
};
var
ralpha = /alpha\([^)]*\)/i,
ropacity = /opacity\s*=\s*([^)]*)/,
// swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
// see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
rdisplayswap = /^(none|table(?!-c[ea]).+)/,
rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
cssShow = { position: "absolute", visibility: "hidden", display: "block" },
cssNormalTransform = {
letterSpacing: 0,
fontWeight: 400
},
cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
// return a css property mapped to a potentially vendor prefixed property
function vendorPropName( style, name ) {
// shortcut for names that are not vendor prefixed
if ( name in style ) {
return name;
}
// check for vendor prefixed names
var capName = name.charAt(0).toUpperCase() + name.slice(1),
origName = name,
i = cssPrefixes.length;
while ( i-- ) {
name = cssPrefixes[ i ] + capName;
if ( name in style ) {
return name;
}
}
return origName;
}
function showHide( elements, show ) {
var display, elem, hidden,
values = [],
index = 0,
length = elements.length;
for ( ; index < length; index++ ) {
elem = elements[ index ];
if ( !elem.style ) {
continue;
}
values[ index ] = jQuery._data( elem, "olddisplay" );
display = elem.style.display;
if ( show ) {
// Reset the inline display of this element to learn if it is
// being hidden by cascaded rules or not
if ( !values[ index ] && display === "none" ) {
elem.style.display = "";
}
// Set elements which have been overridden with display: none
// in a stylesheet to whatever the default browser style is
// for such an element
if ( elem.style.display === "" && isHidden( elem ) ) {
values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
}
} else {
if ( !values[ index ] ) {
hidden = isHidden( elem );
if ( display && display !== "none" || !hidden ) {
jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
}
}
}
}
// Set the display of most of the elements in a second loop
// to avoid the constant reflow
for ( index = 0; index < length; index++ ) {
elem = elements[ index ];
if ( !elem.style ) {
continue;
}
if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
elem.style.display = show ? values[ index ] || "" : "none";
}
}
return elements;
}
function setPositiveNumber( elem, value, subtract ) {
var matches = rnumsplit.exec( value );
return matches ?
// Guard against undefined "subtract", e.g., when used as in cssHooks
Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
value;
}
function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
var i = extra === ( isBorderBox ? "border" : "content" ) ?
// If we already have the right measurement, avoid augmentation
4 :
// Otherwise initialize for horizontal or vertical properties
name === "width" ? 1 : 0,
val = 0;
for ( ; i < 4; i += 2 ) {
// both box models exclude margin, so add it if we want it
if ( extra === "margin" ) {
val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
}
if ( isBorderBox ) {
// border-box includes padding, so remove it if we want content
if ( extra === "content" ) {
val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
}
// at this point, extra isn't border nor margin, so remove border
if ( extra !== "margin" ) {
val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
}
} else {
// at this point, extra isn't content, so add padding
val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
// at this point, extra isn't content nor padding, so add border
if ( extra !== "padding" ) {
val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
}
}
}
return val;
}
function getWidthOrHeight( elem, name, extra ) {
// Start with offset property, which is equivalent to the border-box value
var valueIsBorderBox = true,
val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
styles = getStyles( elem ),
isBorderBox = support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
// some non-html elements return undefined for offsetWidth, so check for null/undefined
// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
if ( val <= 0 || val == null ) {
// Fall back to computed then uncomputed css if necessary
val = curCSS( elem, name, styles );
if ( val < 0 || val == null ) {
val = elem.style[ name ];
}
// Computed unit is not pixels. Stop here and return.
if ( rnumnonpx.test(val) ) {
return val;
}
// we need the check for style in case a browser which returns unreliable values
// for getComputedStyle silently falls back to the reliable elem.style
valueIsBorderBox = isBorderBox && ( support.boxSizingReliable() || val === elem.style[ name ] );
// Normalize "", auto, and prepare for extra
val = parseFloat( val ) || 0;
}
// use the active box-sizing model to add/subtract irrelevant styles
return ( val +
augmentWidthOrHeight(
elem,
name,
extra || ( isBorderBox ? "border" : "content" ),
valueIsBorderBox,
styles
)
) + "px";
}
jQuery.extend({
// Add in style property hooks for overriding the default
// behavior of getting and setting a style property
cssHooks: {
opacity: {
get: function( elem, computed ) {
if ( computed ) {
// We should always get a number back from opacity
var ret = curCSS( elem, "opacity" );
return ret === "" ? "1" : ret;
}
}
}
},
// Don't automatically add "px" to these possibly-unitless properties
cssNumber: {
"columnCount": true,
"fillOpacity": true,
"fontWeight": true,
"lineHeight": true,
"opacity": true,
"order": true,
"orphans": true,
"widows": true,
"zIndex": true,
"zoom": true
},
// Add in properties whose names you wish to fix before
// setting or getting the value
cssProps: {
// normalize float css property
"float": support.cssFloat ? "cssFloat" : "styleFloat"
},
// Get and set the style property on a DOM Node
style: function( elem, name, value, extra ) {
// Don't set styles on text and comment nodes
if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
return;
}
// Make sure that we're working with the right name
var ret, type, hooks,
origName = jQuery.camelCase( name ),
style = elem.style;
name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
// gets hook for the prefixed version
// followed by the unprefixed version
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
// Check if we're setting a value
if ( value !== undefined ) {
type = typeof value;
// convert relative number strings (+= or -=) to relative numbers. #7345
if ( type === "string" && (ret = rrelNum.exec( value )) ) {
value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
// Fixes bug #9237
type = "number";
}
// Make sure that null and NaN values aren't set. See: #7116
if ( value == null || value !== value ) {
return;
}
// If a number was passed in, add 'px' to the (except for certain CSS properties)
if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
value += "px";
}
// Fixes #8908, it can be done more correctly by specifing setters in cssHooks,
// but it would mean to define eight (for every problematic property) identical functions
if ( !support.clearCloneStyle && value === "" && name.indexOf("background") === 0 ) {
style[ name ] = "inherit";
}
// If a hook was provided, use that value, otherwise just set the specified value
if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
// Support: IE
// Swallow errors from 'invalid' CSS values (#5509)
try {
// Support: Chrome, Safari
// Setting style to blank string required to delete "style: x !important;"
style[ name ] = "";
style[ name ] = value;
} catch(e) {}
}
} else {
// If a hook was provided get the non-computed value from there
if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
return ret;
}
// Otherwise just get the value from the style object
return style[ name ];
}
},
css: function( elem, name, extra, styles ) {
var num, val, hooks,
origName = jQuery.camelCase( name );
// Make sure that we're working with the right name
name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
// gets hook for the prefixed version
// followed by the unprefixed version
hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
// If a hook was provided get the computed value from there
if ( hooks && "get" in hooks ) {
val = hooks.get( elem, true, extra );
}
// Otherwise, if a way to get the computed value exists, use that
if ( val === undefined ) {
val = curCSS( elem, name, styles );
}
//convert "normal" to computed value
if ( val === "normal" && name in cssNormalTransform ) {
val = cssNormalTransform[ name ];
}
// Return, converting to number if forced or a qualifier was provided and val looks numeric
if ( extra === "" || extra ) {
num = parseFloat( val );
return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
}
return val;
}
});
jQuery.each([ "height", "width" ], function( i, name ) {
jQuery.cssHooks[ name ] = {
get: function( elem, computed, extra ) {
if ( computed ) {
// certain elements can have dimension info if we invisibly show them
// however, it must have a current display style that would benefit from this
return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ?
jQuery.swap( elem, cssShow, function() {
return getWidthOrHeight( elem, name, extra );
}) :
getWidthOrHeight( elem, name, extra );
}
},
set: function( elem, value, extra ) {
var styles = extra && getStyles( elem );
return setPositiveNumber( elem, value, extra ?
augmentWidthOrHeight(
elem,
name,
extra,
support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
styles
) : 0
);
}
};
});
if ( !support.opacity ) {
jQuery.cssHooks.opacity = {
get: function( elem, computed ) {
// IE uses filters for opacity
return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ?
( 0.01 * parseFloat( RegExp.$1 ) ) + "" :
computed ? "1" : "";
},
set: function( elem, value ) {
var style = elem.style,
currentStyle = elem.currentStyle,
opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "",
filter = currentStyle && currentStyle.filter || style.filter || "";
// IE has trouble with opacity if it does not have layout
// Force it by setting the zoom level
style.zoom = 1;
// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652
// if value === "", then remove inline opacity #12685
if ( ( value >= 1 || value === "" ) &&
jQuery.trim( filter.replace( ralpha, "" ) ) === "" &&
style.removeAttribute ) {
// Setting style.filter to null, "" & " " still leave "filter:" in the cssText
// if "filter:" is present at all, clearType is disabled, we want to avoid this
// style.removeAttribute is IE Only, but so apparently is this code path...
style.removeAttribute( "filter" );
// if there is no filter style applied in a css rule or unset inline opacity, we are done
if ( value === "" || currentStyle && !currentStyle.filter ) {
return;
}
}
// otherwise, set new filter values
style.filter = ralpha.test( filter ) ?
filter.replace( ralpha, opacity ) :
filter + " " + opacity;
}
};
}
jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
function( elem, computed ) {
if ( computed ) {
// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
// Work around by temporarily setting element display to inline-block
return jQuery.swap( elem, { "display": "inline-block" },
curCSS, [ elem, "marginRight" ] );
}
}
);
// These hooks are used by animate to expand properties
jQuery.each({
margin: "",
padding: "",
border: "Width"
}, function( prefix, suffix ) {
jQuery.cssHooks[ prefix + suffix ] = {
expand: function( value ) {
var i = 0,
expanded = {},
// assumes a single number if not a string
parts = typeof value === "string" ? value.split(" ") : [ value ];
for ( ; i < 4; i++ ) {
expanded[ prefix + cssExpand[ i ] + suffix ] =
parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
}
return expanded;
}
};
if ( !rmargin.test( prefix ) ) {
jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
}
});
jQuery.fn.extend({
css: function( name, value ) {
return access( this, function( elem, name, value ) {
var styles, len,
map = {},
i = 0;
if ( jQuery.isArray( name ) ) {
styles = getStyles( elem );
len = name.length;
for ( ; i < len; i++ ) {
map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
}
return map;
}
return value !== undefined ?
jQuery.style( elem, name, value ) :
jQuery.css( elem, name );
}, name, value, arguments.length > 1 );
},
show: function() {
return showHide( this, true );
},
hide: function() {
return showHide( this );
},
toggle: function( state ) {
if ( typeof state === "boolean" ) {
return state ? this.show() : this.hide();
}
return this.each(function() {
if ( isHidden( this ) ) {
jQuery( this ).show();
} else {
jQuery( this ).hide();
}
});
}
});
function Tween( elem, options, prop, end, easing ) {
return new Tween.prototype.init( elem, options, prop, end, easing );
}
jQuery.Tween = Tween;
Tween.prototype = {
constructor: Tween,
init: function( elem, options, prop, end, easing, unit ) {
this.elem = elem;
this.prop = prop;
this.easing = easing || "swing";
this.options = options;
this.start = this.now = this.cur();
this.end = end;
this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
},
cur: function() {
var hooks = Tween.propHooks[ this.prop ];
return hooks && hooks.get ?
hooks.get( this ) :
Tween.propHooks._default.get( this );
},
run: function( percent ) {
var eased,
hooks = Tween.propHooks[ this.prop ];
if ( this.options.duration ) {
this.pos = eased = jQuery.easing[ this.easing ](
percent, this.options.duration * percent, 0, 1, this.options.duration
);
} else {
this.pos = eased = percent;
}
this.now = ( this.end - this.start ) * eased + this.start;
if ( this.options.step ) {
this.options.step.call( this.elem, this.now, this );
}
if ( hooks && hooks.set ) {
hooks.set( this );
} else {
Tween.propHooks._default.set( this );
}
return this;
}
};
Tween.prototype.init.prototype = Tween.prototype;
Tween.propHooks = {
_default: {
get: function( tween ) {
var result;
if ( tween.elem[ tween.prop ] != null &&
(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
return tween.elem[ tween.prop ];
}
// passing an empty string as a 3rd parameter to .css will automatically
// attempt a parseFloat and fallback to a string if the parse fails
// so, simple values such as "10px" are parsed to Float.
// complex values such as "rotate(1rad)" are returned as is.
result = jQuery.css( tween.elem, tween.prop, "" );
// Empty strings, null, undefined and "auto" are converted to 0.
return !result || result === "auto" ? 0 : result;
},
set: function( tween ) {
// use step hook for back compat - use cssHook if its there - use .style if its
// available and use plain properties where available
if ( jQuery.fx.step[ tween.prop ] ) {
jQuery.fx.step[ tween.prop ]( tween );
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
} else {
tween.elem[ tween.prop ] = tween.now;
}
}
}
};
// Support: IE <=9
// Panic based approach to setting things on disconnected nodes
Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
set: function( tween ) {
if ( tween.elem.nodeType && tween.elem.parentNode ) {
tween.elem[ tween.prop ] = tween.now;
}
}
};
jQuery.easing = {
linear: function( p ) {
return p;
},
swing: function( p ) {
return 0.5 - Math.cos( p * Math.PI ) / 2;
}
};
jQuery.fx = Tween.prototype.init;
// Back Compat <1.8 extension point
jQuery.fx.step = {};
var
fxNow, timerId,
rfxtypes = /^(?:toggle|show|hide)$/,
rfxnum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ),
rrun = /queueHooks$/,
animationPrefilters = [ defaultPrefilter ],
tweeners = {
"*": [ function( prop, value ) {
var tween = this.createTween( prop, value ),
target = tween.cur(),
parts = rfxnum.exec( value ),
unit = parts && parts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
// Starting value computation is required for potential unit mismatches
start = ( jQuery.cssNumber[ prop ] || unit !== "px" && +target ) &&
rfxnum.exec( jQuery.css( tween.elem, prop ) ),
scale = 1,
maxIterations = 20;
if ( start && start[ 3 ] !== unit ) {
// Trust units reported by jQuery.css
unit = unit || start[ 3 ];
// Make sure we update the tween properties later on
parts = parts || [];
// Iteratively approximate from a nonzero starting point
start = +target || 1;
do {
// If previous iteration zeroed out, double until we get *something*
// Use a string for doubling factor so we don't accidentally see scale as unchanged below
scale = scale || ".5";
// Adjust and apply
start = start / scale;
jQuery.style( tween.elem, prop, start + unit );
// Update scale, tolerating zero or NaN from tween.cur()
// And breaking the loop if scale is unchanged or perfect, or if we've just had enough
} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );
}
// Update tween properties
if ( parts ) {
start = tween.start = +start || +target || 0;
tween.unit = unit;
// If a +=/-= token was provided, we're doing a relative animation
tween.end = parts[ 1 ] ?
start + ( parts[ 1 ] + 1 ) * parts[ 2 ] :
+parts[ 2 ];
}
return tween;
} ]
};
// Animations created synchronously will run synchronously
function createFxNow() {
setTimeout(function() {
fxNow = undefined;
});
return ( fxNow = jQuery.now() );
}
// Generate parameters to create a standard animation
function genFx( type, includeWidth ) {
var which,
attrs = { height: type },
i = 0;
// if we include width, step value is 1 to do all cssExpand values,
// if we don't include width, step value is 2 to skip over Left and Right
includeWidth = includeWidth ? 1 : 0;
for ( ; i < 4 ; i += 2 - includeWidth ) {
which = cssExpand[ i ];
attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
}
if ( includeWidth ) {
attrs.opacity = attrs.width = type;
}
return attrs;
}
function createTween( value, prop, animation ) {
var tween,
collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ),
index = 0,
length = collection.length;
for ( ; index < length; index++ ) {
if ( (tween = collection[ index ].call( animation, prop, value )) ) {
// we're done with this property
return tween;
}
}
}
function defaultPrefilter( elem, props, opts ) {
/* jshint validthis: true */
var prop, value, toggle, tween, hooks, oldfire, display, dDisplay,
anim = this,
orig = {},
style = elem.style,
hidden = elem.nodeType && isHidden( elem ),
dataShow = jQuery._data( elem, "fxshow" );
// handle queue: false promises
if ( !opts.queue ) {
hooks = jQuery._queueHooks( elem, "fx" );
if ( hooks.unqueued == null ) {
hooks.unqueued = 0;
oldfire = hooks.empty.fire;
hooks.empty.fire = function() {
if ( !hooks.unqueued ) {
oldfire();
}
};
}
hooks.unqueued++;
anim.always(function() {
// doing this makes sure that the complete handler will be called
// before this completes
anim.always(function() {
hooks.unqueued--;
if ( !jQuery.queue( elem, "fx" ).length ) {
hooks.empty.fire();
}
});
});
}
// height/width overflow pass
if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) {
// Make sure that nothing sneaks out
// Record all 3 overflow attributes because IE does not
// change the overflow attribute when overflowX and
// overflowY are set to the same value
opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
// Set display property to inline-block for height/width
// animations on inline elements that are having width/height animated
display = jQuery.css( elem, "display" );
dDisplay = defaultDisplay( elem.nodeName );
if ( display === "none" ) {
display = dDisplay;
}
if ( display === "inline" &&
jQuery.css( elem, "float" ) === "none" ) {
// inline-level elements accept inline-block;
// block-level elements need to be inline with layout
if ( !support.inlineBlockNeedsLayout || dDisplay === "inline" ) {
style.display = "inline-block";
} else {
style.zoom = 1;
}
}
}
if ( opts.overflow ) {
style.overflow = "hidden";
if ( !support.shrinkWrapBlocks() ) {
anim.always(function() {
style.overflow = opts.overflow[ 0 ];
style.overflowX = opts.overflow[ 1 ];
style.overflowY = opts.overflow[ 2 ];
});
}
}
// show/hide pass
for ( prop in props ) {
value = props[ prop ];
if ( rfxtypes.exec( value ) ) {
delete props[ prop ];
toggle = toggle || value === "toggle";
if ( value === ( hidden ? "hide" : "show" ) ) {
// If there is dataShow left over from a stopped hide or show and we are going to proceed with show, we should pretend to be hidden
if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
hidden = true;
} else {
continue;
}
}
orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
}
}
if ( !jQuery.isEmptyObject( orig ) ) {
if ( dataShow ) {
if ( "hidden" in dataShow ) {
hidden = dataShow.hidden;
}
} else {
dataShow = jQuery._data( elem, "fxshow", {} );
}
// store state if its toggle - enables .stop().toggle() to "reverse"
if ( toggle ) {
dataShow.hidden = !hidden;
}
if ( hidden ) {
jQuery( elem ).show();
} else {
anim.done(function() {
jQuery( elem ).hide();
});
}
anim.done(function() {
var prop;
jQuery._removeData( elem, "fxshow" );
for ( prop in orig ) {
jQuery.style( elem, prop, orig[ prop ] );
}
});
for ( prop in orig ) {
tween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
if ( !( prop in dataShow ) ) {
dataShow[ prop ] = tween.start;
if ( hidden ) {
tween.end = tween.start;
tween.start = prop === "width" || prop === "height" ? 1 : 0;
}
}
}
}
}
function propFilter( props, specialEasing ) {
var index, name, easing, value, hooks;
// camelCase, specialEasing and expand cssHook pass
for ( index in props ) {
name = jQuery.camelCase( index );
easing = specialEasing[ name ];
value = props[ index ];
if ( jQuery.isArray( value ) ) {
easing = value[ 1 ];
value = props[ index ] = value[ 0 ];
}
if ( index !== name ) {
props[ name ] = value;
delete props[ index ];
}
hooks = jQuery.cssHooks[ name ];
if ( hooks && "expand" in hooks ) {
value = hooks.expand( value );
delete props[ name ];
// not quite $.extend, this wont overwrite keys already present.
// also - reusing 'index' from above because we have the correct "name"
for ( index in value ) {
if ( !( index in props ) ) {
props[ index ] = value[ index ];
specialEasing[ index ] = easing;
}
}
} else {
specialEasing[ name ] = easing;
}
}
}
function Animation( elem, properties, options ) {
var result,
stopped,
index = 0,
length = animationPrefilters.length,
deferred = jQuery.Deferred().always( function() {
// don't match elem in the :animated selector
delete tick.elem;
}),
tick = function() {
if ( stopped ) {
return false;
}
var currentTime = fxNow || createFxNow(),
remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
// archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
temp = remaining / animation.duration || 0,
percent = 1 - temp,
index = 0,
length = animation.tweens.length;
for ( ; index < length ; index++ ) {
animation.tweens[ index ].run( percent );
}
deferred.notifyWith( elem, [ animation, percent, remaining ]);
if ( percent < 1 && length ) {
return remaining;
} else {
deferred.resolveWith( elem, [ animation ] );
return false;
}
},
animation = deferred.promise({
elem: elem,
props: jQuery.extend( {}, properties ),
opts: jQuery.extend( true, { specialEasing: {} }, options ),
originalProperties: properties,
originalOptions: options,
startTime: fxNow || createFxNow(),
duration: options.duration,
tweens: [],
createTween: function( prop, end ) {
var tween = jQuery.Tween( elem, animation.opts, prop, end,
animation.opts.specialEasing[ prop ] || animation.opts.easing );
animation.tweens.push( tween );
return tween;
},
stop: function( gotoEnd ) {
var index = 0,
// if we are going to the end, we want to run all the tweens
// otherwise we skip this part
length = gotoEnd ? animation.tweens.length : 0;
if ( stopped ) {
return this;
}
stopped = true;
for ( ; index < length ; index++ ) {
animation.tweens[ index ].run( 1 );
}
// resolve when we played the last frame
// otherwise, reject
if ( gotoEnd ) {
deferred.resolveWith( elem, [ animation, gotoEnd ] );
} else {
deferred.rejectWith( elem, [ animation, gotoEnd ] );
}
return this;
}
}),
props = animation.props;
propFilter( props, animation.opts.specialEasing );
for ( ; index < length ; index++ ) {
result = animationPrefilters[ index ].call( animation, elem, props, animation.opts );
if ( result ) {
return result;
}
}
jQuery.map( props, createTween, animation );
if ( jQuery.isFunction( animation.opts.start ) ) {
animation.opts.start.call( elem, animation );
}
jQuery.fx.timer(
jQuery.extend( tick, {
elem: elem,
anim: animation,
queue: animation.opts.queue
})
);
// attach callbacks from options
return animation.progress( animation.opts.progress )
.done( animation.opts.done, animation.opts.complete )
.fail( animation.opts.fail )
.always( animation.opts.always );
}
jQuery.Animation = jQuery.extend( Animation, {
tweener: function( props, callback ) {
if ( jQuery.isFunction( props ) ) {
callback = props;
props = [ "*" ];
} else {
props = props.split(" ");
}
var prop,
index = 0,
length = props.length;
for ( ; index < length ; index++ ) {
prop = props[ index ];
tweeners[ prop ] = tweeners[ prop ] || [];
tweeners[ prop ].unshift( callback );
}
},
prefilter: function( callback, prepend ) {
if ( prepend ) {
animationPrefilters.unshift( callback );
} else {
animationPrefilters.push( callback );
}
}
});
jQuery.speed = function( speed, easing, fn ) {
var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
complete: fn || !fn && easing ||
jQuery.isFunction( speed ) && speed,
duration: speed,
easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing
};
opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration :
opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;
// normalize opt.queue - true/undefined/null -> "fx"
if ( opt.queue == null || opt.queue === true ) {
opt.queue = "fx";
}
// Queueing
opt.old = opt.complete;
opt.complete = function() {
if ( jQuery.isFunction( opt.old ) ) {
opt.old.call( this );
}
if ( opt.queue ) {
jQuery.dequeue( this, opt.queue );
}
};
return opt;
};
jQuery.fn.extend({
fadeTo: function( speed, to, easing, callback ) {
// show any hidden elements after setting opacity to 0
return this.filter( isHidden ).css( "opacity", 0 ).show()
// animate to the value specified
.end().animate({ opacity: to }, speed, easing, callback );
},
animate: function( prop, speed, easing, callback ) {
var empty = jQuery.isEmptyObject( prop ),
optall = jQuery.speed( speed, easing, callback ),
doAnimation = function() {
// Operate on a copy of prop so per-property easing won't be lost
var anim = Animation( this, jQuery.extend( {}, prop ), optall );
// Empty animations, or finishing resolves immediately
if ( empty || jQuery._data( this, "finish" ) ) {
anim.stop( true );
}
};
doAnimation.finish = doAnimation;
return empty || optall.queue === false ?
this.each( doAnimation ) :
this.queue( optall.queue, doAnimation );
},
stop: function( type, clearQueue, gotoEnd ) {
var stopQueue = function( hooks ) {
var stop = hooks.stop;
delete hooks.stop;
stop( gotoEnd );
};
if ( typeof type !== "string" ) {
gotoEnd = clearQueue;
clearQueue = type;
type = undefined;
}
if ( clearQueue && type !== false ) {
this.queue( type || "fx", [] );
}
return this.each(function() {
var dequeue = true,
index = type != null && type + "queueHooks",
timers = jQuery.timers,
data = jQuery._data( this );
if ( index ) {
if ( data[ index ] && data[ index ].stop ) {
stopQueue( data[ index ] );
}
} else {
for ( index in data ) {
if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
stopQueue( data[ index ] );
}
}
}
for ( index = timers.length; index--; ) {
if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {
timers[ index ].anim.stop( gotoEnd );
dequeue = false;
timers.splice( index, 1 );
}
}
// start the next in the queue if the last step wasn't forced
// timers currently will call their complete callbacks, which will dequeue
// but only if they were gotoEnd
if ( dequeue || !gotoEnd ) {
jQuery.dequeue( this, type );
}
});
},
finish: function( type ) {
if ( type !== false ) {
type = type || "fx";
}
return this.each(function() {
var index,
data = jQuery._data( this ),
queue = data[ type + "queue" ],
hooks = data[ type + "queueHooks" ],
timers = jQuery.timers,
length = queue ? queue.length : 0;
// enable finishing flag on private data
data.finish = true;
// empty the queue first
jQuery.queue( this, type, [] );
if ( hooks && hooks.stop ) {
hooks.stop.call( this, true );
}
// look for any active animations, and finish them
for ( index = timers.length; index--; ) {
if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
timers[ index ].anim.stop( true );
timers.splice( index, 1 );
}
}
// look for any animations in the old queue and finish them
for ( index = 0; index < length; index++ ) {
if ( queue[ index ] && queue[ index ].finish ) {
queue[ index ].finish.call( this );
}
}
// turn off finishing flag
delete data.finish;
});
}
});
jQuery.each([ "toggle", "show", "hide" ], function( i, name ) {
var cssFn = jQuery.fn[ name ];
jQuery.fn[ name ] = function( speed, easing, callback ) {
return speed == null || typeof speed === "boolean" ?
cssFn.apply( this, arguments ) :
this.animate( genFx( name, true ), speed, easing, callback );
};
});
// Generate shortcuts for custom animations
jQuery.each({
slideDown: genFx("show"),
slideUp: genFx("hide"),
slideToggle: genFx("toggle"),
fadeIn: { opacity: "show" },
fadeOut: { opacity: "hide" },
fadeToggle: { opacity: "toggle" }
}, function( name, props ) {
jQuery.fn[ name ] = function( speed, easing, callback ) {
return this.animate( props, speed, easing, callback );
};
});
jQuery.timers = [];
jQuery.fx.tick = function() {
var timer,
timers = jQuery.timers,
i = 0;
fxNow = jQuery.now();
for ( ; i < timers.length; i++ ) {
timer = timers[ i ];
// Checks the timer has not already been removed
if ( !timer() && timers[ i ] === timer ) {
timers.splice( i--, 1 );
}
}
if ( !timers.length ) {
jQuery.fx.stop();
}
fxNow = undefined;
};
jQuery.fx.timer = function( timer ) {
jQuery.timers.push( timer );
if ( timer() ) {
jQuery.fx.start();
} else {
jQuery.timers.pop();
}
};
jQuery.fx.interval = 13;
jQuery.fx.start = function() {
if ( !timerId ) {
timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );
}
};
jQuery.fx.stop = function() {
clearInterval( timerId );
timerId = null;
};
jQuery.fx.speeds = {
slow: 600,
fast: 200,
// Default speed
_default: 400
};
// Based off of the plugin by Clint Helfers, with permission.
// http://blindsignals.com/index.php/2009/07/jquery-delay/
jQuery.fn.delay = function( time, type ) {
time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
type = type || "fx";
return this.queue( type, function( next, hooks ) {
var timeout = setTimeout( next, time );
hooks.stop = function() {
clearTimeout( timeout );
};
});
};
(function() {
var a, input, select, opt,
div = document.createElement("div" );
// Setup
div.setAttribute( "className", "t" );
div.innerHTML = " a ";
a = div.getElementsByTagName("a")[ 0 ];
// First batch of tests.
select = document.createElement("select");
opt = select.appendChild( document.createElement("option") );
input = div.getElementsByTagName("input")[ 0 ];
a.style.cssText = "top:1px";
// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)
support.getSetAttribute = div.className !== "t";
// Get the style information from getAttribute
// (IE uses .cssText instead)
support.style = /top/.test( a.getAttribute("style") );
// Make sure that URLs aren't manipulated
// (IE normalizes it by default)
support.hrefNormalized = a.getAttribute("href") === "/a";
// Check the default checkbox/radio value ("" on WebKit; "on" elsewhere)
support.checkOn = !!input.value;
// Make sure that a selected-by-default option has a working selected property.
// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
support.optSelected = opt.selected;
// Tests for enctype support on a form (#6743)
support.enctype = !!document.createElement("form").enctype;
// Make sure that the options inside disabled selects aren't marked as disabled
// (WebKit marks them as disabled)
select.disabled = true;
support.optDisabled = !opt.disabled;
// Support: IE8 only
// Check if we can trust getAttribute("value")
input = document.createElement( "input" );
input.setAttribute( "value", "" );
support.input = input.getAttribute( "value" ) === "";
// Check if an input maintains its value after becoming a radio
input.value = "t";
input.setAttribute( "type", "radio" );
support.radioValue = input.value === "t";
// Null elements to avoid leaks in IE.
a = input = select = opt = div = null;
})();
var rreturn = /\r/g;
jQuery.fn.extend({
val: function( value ) {
var hooks, ret, isFunction,
elem = this[0];
if ( !arguments.length ) {
if ( elem ) {
hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];
if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) {
return ret;
}
ret = elem.value;
return typeof ret === "string" ?
// handle most common string cases
ret.replace(rreturn, "") :
// handle cases where value is null/undef or number
ret == null ? "" : ret;
}
return;
}
isFunction = jQuery.isFunction( value );
return this.each(function( i ) {
var val;
if ( this.nodeType !== 1 ) {
return;
}
if ( isFunction ) {
val = value.call( this, i, jQuery( this ).val() );
} else {
val = value;
}
// Treat null/undefined as ""; convert numbers to string
if ( val == null ) {
val = "";
} else if ( typeof val === "number" ) {
val += "";
} else if ( jQuery.isArray( val ) ) {
val = jQuery.map( val, function( value ) {
return value == null ? "" : value + "";
});
}
hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
// If set returns undefined, fall back to normal setting
if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) {
this.value = val;
}
});
}
});
jQuery.extend({
valHooks: {
option: {
get: function( elem ) {
var val = jQuery.find.attr( elem, "value" );
return val != null ?
val :
jQuery.text( elem );
}
},
select: {
get: function( elem ) {
var value, option,
options = elem.options,
index = elem.selectedIndex,
one = elem.type === "select-one" || index < 0,
values = one ? null : [],
max = one ? index + 1 : options.length,
i = index < 0 ?
max :
one ? index : 0;
// Loop through all the selected options
for ( ; i < max; i++ ) {
option = options[ i ];
// oldIE doesn't update selected after form reset (#2551)
if ( ( option.selected || i === index ) &&
// Don't return options that are disabled or in a disabled optgroup
( support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null ) &&
( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option
value = jQuery( option ).val();
// We don't need an array for one selects
if ( one ) {
return value;
}
// Multi-Selects return an array
values.push( value );
}
}
return values;
},
set: function( elem, value ) {
var optionSet, option,
options = elem.options,
values = jQuery.makeArray( value ),
i = options.length;
while ( i-- ) {
option = options[ i ];
if ( jQuery.inArray( jQuery.valHooks.option.get( option ), values ) >= 0 ) {
// Support: IE6
// When new option element is added to select box we need to
// force reflow of newly added node in order to workaround delay
// of initialization properties
try {
option.selected = optionSet = true;
} catch ( _ ) {
// Will be executed only in IE6
option.scrollHeight;
}
} else {
option.selected = false;
}
}
// Force browsers to behave consistently when non-matching value is set
if ( !optionSet ) {
elem.selectedIndex = -1;
}
return options;
}
}
}
});
// Radios and checkboxes getter/setter
jQuery.each([ "radio", "checkbox" ], function() {
jQuery.valHooks[ this ] = {
set: function( elem, value ) {
if ( jQuery.isArray( value ) ) {
return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
}
}
};
if ( !support.checkOn ) {
jQuery.valHooks[ this ].get = function( elem ) {
// Support: Webkit
// "" is returned instead of "on" if a value isn't specified
return elem.getAttribute("value") === null ? "on" : elem.value;
};
}
});
var nodeHook, boolHook,
attrHandle = jQuery.expr.attrHandle,
ruseDefault = /^(?:checked|selected)$/i,
getSetAttribute = support.getSetAttribute,
getSetInput = support.input;
jQuery.fn.extend({
attr: function( name, value ) {
return access( this, jQuery.attr, name, value, arguments.length > 1 );
},
removeAttr: function( name ) {
return this.each(function() {
jQuery.removeAttr( this, name );
});
}
});
jQuery.extend({
attr: function( elem, name, value ) {
var hooks, ret,
nType = elem.nodeType;
// don't get/set attributes on text, comment and attribute nodes
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
return;
}
// Fallback to prop when attributes are not supported
if ( typeof elem.getAttribute === strundefined ) {
return jQuery.prop( elem, name, value );
}
// All attributes are lowercase
// Grab necessary hook if one is defined
if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
name = name.toLowerCase();
hooks = jQuery.attrHooks[ name ] ||
( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
}
if ( value !== undefined ) {
if ( value === null ) {
jQuery.removeAttr( elem, name );
} else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
return ret;
} else {
elem.setAttribute( name, value + "" );
return value;
}
} else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
return ret;
} else {
ret = jQuery.find.attr( elem, name );
// Non-existent attributes return null, we normalize to undefined
return ret == null ?
undefined :
ret;
}
},
removeAttr: function( elem, value ) {
var name, propName,
i = 0,
attrNames = value && value.match( rnotwhite );
if ( attrNames && elem.nodeType === 1 ) {
while ( (name = attrNames[i++]) ) {
propName = jQuery.propFix[ name ] || name;
// Boolean attributes get special treatment (#10870)
if ( jQuery.expr.match.bool.test( name ) ) {
// Set corresponding property to false
if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
elem[ propName ] = false;
// Support: IE<9
// Also clear defaultChecked/defaultSelected (if appropriate)
} else {
elem[ jQuery.camelCase( "default-" + name ) ] =
elem[ propName ] = false;
}
// See #9699 for explanation of this approach (setting first, then removal)
} else {
jQuery.attr( elem, name, "" );
}
elem.removeAttribute( getSetAttribute ? name : propName );
}
}
},
attrHooks: {
type: {
set: function( elem, value ) {
if ( !support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) {
// Setting the type on a radio button after the value resets the value in IE6-9
// Reset value to default in case type is set after value during creation
var val = elem.value;
elem.setAttribute( "type", value );
if ( val ) {
elem.value = val;
}
return value;
}
}
}
}
});
// Hook for boolean attributes
boolHook = {
set: function( elem, value, name ) {
if ( value === false ) {
// Remove boolean attributes when set to false
jQuery.removeAttr( elem, name );
} else if ( getSetInput && getSetAttribute || !ruseDefault.test( name ) ) {
// IE<8 needs the *property* name
elem.setAttribute( !getSetAttribute && jQuery.propFix[ name ] || name, name );
// Use defaultChecked and defaultSelected for oldIE
} else {
elem[ jQuery.camelCase( "default-" + name ) ] = elem[ name ] = true;
}
return name;
}
};
// Retrieve booleans specially
jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
var getter = attrHandle[ name ] || jQuery.find.attr;
attrHandle[ name ] = getSetInput && getSetAttribute || !ruseDefault.test( name ) ?
function( elem, name, isXML ) {
var ret, handle;
if ( !isXML ) {
// Avoid an infinite loop by temporarily removing this function from the getter
handle = attrHandle[ name ];
attrHandle[ name ] = ret;
ret = getter( elem, name, isXML ) != null ?
name.toLowerCase() :
null;
attrHandle[ name ] = handle;
}
return ret;
} :
function( elem, name, isXML ) {
if ( !isXML ) {
return elem[ jQuery.camelCase( "default-" + name ) ] ?
name.toLowerCase() :
null;
}
};
});
// fix oldIE attroperties
if ( !getSetInput || !getSetAttribute ) {
jQuery.attrHooks.value = {
set: function( elem, value, name ) {
if ( jQuery.nodeName( elem, "input" ) ) {
// Does not return so that setAttribute is also used
elem.defaultValue = value;
} else {
// Use nodeHook if defined (#1954); otherwise setAttribute is fine
return nodeHook && nodeHook.set( elem, value, name );
}
}
};
}
// IE6/7 do not support getting/setting some attributes with get/setAttribute
if ( !getSetAttribute ) {
// Use this for any attribute in IE6/7
// This fixes almost every IE6/7 issue
nodeHook = {
set: function( elem, value, name ) {
// Set the existing or create a new attribute node
var ret = elem.getAttributeNode( name );
if ( !ret ) {
elem.setAttributeNode(
(ret = elem.ownerDocument.createAttribute( name ))
);
}
ret.value = value += "";
// Break association with cloned elements by also using setAttribute (#9646)
if ( name === "value" || value === elem.getAttribute( name ) ) {
return value;
}
}
};
// Some attributes are constructed with empty-string values when not defined
attrHandle.id = attrHandle.name = attrHandle.coords =
function( elem, name, isXML ) {
var ret;
if ( !isXML ) {
return (ret = elem.getAttributeNode( name )) && ret.value !== "" ?
ret.value :
null;
}
};
// Fixing value retrieval on a button requires this module
jQuery.valHooks.button = {
get: function( elem, name ) {
var ret = elem.getAttributeNode( name );
if ( ret && ret.specified ) {
return ret.value;
}
},
set: nodeHook.set
};
// Set contenteditable to false on removals(#10429)
// Setting to empty string throws an error as an invalid value
jQuery.attrHooks.contenteditable = {
set: function( elem, value, name ) {
nodeHook.set( elem, value === "" ? false : value, name );
}
};
// Set width and height to auto instead of 0 on empty string( Bug #8150 )
// This is for removals
jQuery.each([ "width", "height" ], function( i, name ) {
jQuery.attrHooks[ name ] = {
set: function( elem, value ) {
if ( value === "" ) {
elem.setAttribute( name, "auto" );
return value;
}
}
};
});
}
if ( !support.style ) {
jQuery.attrHooks.style = {
get: function( elem ) {
// Return undefined in the case of empty string
// Note: IE uppercases css property names, but if we were to .toLowerCase()
// .cssText, that would destroy case senstitivity in URL's, like in "background"
return elem.style.cssText || undefined;
},
set: function( elem, value ) {
return ( elem.style.cssText = value + "" );
}
};
}
var rfocusable = /^(?:input|select|textarea|button|object)$/i,
rclickable = /^(?:a|area)$/i;
jQuery.fn.extend({
prop: function( name, value ) {
return access( this, jQuery.prop, name, value, arguments.length > 1 );
},
removeProp: function( name ) {
name = jQuery.propFix[ name ] || name;
return this.each(function() {
// try/catch handles cases where IE balks (such as removing a property on window)
try {
this[ name ] = undefined;
delete this[ name ];
} catch( e ) {}
});
}
});
jQuery.extend({
propFix: {
"for": "htmlFor",
"class": "className"
},
prop: function( elem, name, value ) {
var ret, hooks, notxml,
nType = elem.nodeType;
// don't get/set properties on text, comment and attribute nodes
if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
return;
}
notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
if ( notxml ) {
// Fix name and attach hooks
name = jQuery.propFix[ name ] || name;
hooks = jQuery.propHooks[ name ];
}
if ( value !== undefined ) {
return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
ret :
( elem[ name ] = value );
} else {
return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
ret :
elem[ name ];
}
},
propHooks: {
tabIndex: {
get: function( elem ) {
// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set
// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
// Use proper attribute retrieval(#12072)
var tabindex = jQuery.find.attr( elem, "tabindex" );
return tabindex ?
parseInt( tabindex, 10 ) :
rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?
0 :
-1;
}
}
}
});
// Some attributes require a special call on IE
// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
if ( !support.hrefNormalized ) {
// href/src property should get the full normalized URL (#10299/#12915)
jQuery.each([ "href", "src" ], function( i, name ) {
jQuery.propHooks[ name ] = {
get: function( elem ) {
return elem.getAttribute( name, 4 );
}
};
});
}
// Support: Safari, IE9+
// mis-reports the default selected property of an option
// Accessing the parent's selectedIndex property fixes it
if ( !support.optSelected ) {
jQuery.propHooks.selected = {
get: function( elem ) {
var parent = elem.parentNode;
if ( parent ) {
parent.selectedIndex;
// Make sure that it also works with optgroups, see #5701
if ( parent.parentNode ) {
parent.parentNode.selectedIndex;
}
}
return null;
}
};
}
jQuery.each([
"tabIndex",
"readOnly",
"maxLength",
"cellSpacing",
"cellPadding",
"rowSpan",
"colSpan",
"useMap",
"frameBorder",
"contentEditable"
], function() {
jQuery.propFix[ this.toLowerCase() ] = this;
});
// IE6/7 call enctype encoding
if ( !support.enctype ) {
jQuery.propFix.enctype = "encoding";
}
var rclass = /[\t\r\n\f]/g;
jQuery.fn.extend({
addClass: function( value ) {
var classes, elem, cur, clazz, j, finalValue,
i = 0,
len = this.length,
proceed = typeof value === "string" && value;
if ( jQuery.isFunction( value ) ) {
return this.each(function( j ) {
jQuery( this ).addClass( value.call( this, j, this.className ) );
});
}
if ( proceed ) {
// The disjunction here is for better compressibility (see removeClass)
classes = ( value || "" ).match( rnotwhite ) || [];
for ( ; i < len; i++ ) {
elem = this[ i ];
cur = elem.nodeType === 1 && ( elem.className ?
( " " + elem.className + " " ).replace( rclass, " " ) :
" "
);
if ( cur ) {
j = 0;
while ( (clazz = classes[j++]) ) {
if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
cur += clazz + " ";
}
}
// only assign if different to avoid unneeded rendering.
finalValue = jQuery.trim( cur );
if ( elem.className !== finalValue ) {
elem.className = finalValue;
}
}
}
}
return this;
},
removeClass: function( value ) {
var classes, elem, cur, clazz, j, finalValue,
i = 0,
len = this.length,
proceed = arguments.length === 0 || typeof value === "string" && value;
if ( jQuery.isFunction( value ) ) {
return this.each(function( j ) {
jQuery( this ).removeClass( value.call( this, j, this.className ) );
});
}
if ( proceed ) {
classes = ( value || "" ).match( rnotwhite ) || [];
for ( ; i < len; i++ ) {
elem = this[ i ];
// This expression is here for better compressibility (see addClass)
cur = elem.nodeType === 1 && ( elem.className ?
( " " + elem.className + " " ).replace( rclass, " " ) :
""
);
if ( cur ) {
j = 0;
while ( (clazz = classes[j++]) ) {
// Remove *all* instances
while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
cur = cur.replace( " " + clazz + " ", " " );
}
}
// only assign if different to avoid unneeded rendering.
finalValue = value ? jQuery.trim( cur ) : "";
if ( elem.className !== finalValue ) {
elem.className = finalValue;
}
}
}
}
return this;
},
toggleClass: function( value, stateVal ) {
var type = typeof value;
if ( typeof stateVal === "boolean" && type === "string" ) {
return stateVal ? this.addClass( value ) : this.removeClass( value );
}
if ( jQuery.isFunction( value ) ) {
return this.each(function( i ) {
jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
});
}
return this.each(function() {
if ( type === "string" ) {
// toggle individual class names
var className,
i = 0,
self = jQuery( this ),
classNames = value.match( rnotwhite ) || [];
while ( (className = classNames[ i++ ]) ) {
// check each className given, space separated list
if ( self.hasClass( className ) ) {
self.removeClass( className );
} else {
self.addClass( className );
}
}
// Toggle whole class name
} else if ( type === strundefined || type === "boolean" ) {
if ( this.className ) {
// store className if set
jQuery._data( this, "__className__", this.className );
}
// If the element has a class name or if we're passed "false",
// then remove the whole classname (if there was one, the above saved it).
// Otherwise bring back whatever was previously saved (if anything),
// falling back to the empty string if nothing was stored.
this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || "";
}
});
},
hasClass: function( selector ) {
var className = " " + selector + " ",
i = 0,
l = this.length;
for ( ; i < l; i++ ) {
if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
return true;
}
}
return false;
}
});
// Return jQuery for attributes-only inclusion
jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " +
"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
"change select submit keydown keypress keyup error contextmenu").split(" "), function( i, name ) {
// Handle event binding
jQuery.fn[ name ] = function( data, fn ) {
return arguments.length > 0 ?
this.on( name, null, data, fn ) :
this.trigger( name );
};
});
jQuery.fn.extend({
hover: function( fnOver, fnOut ) {
return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
},
bind: function( types, data, fn ) {
return this.on( types, null, data, fn );
},
unbind: function( types, fn ) {
return this.off( types, null, fn );
},
delegate: function( selector, types, data, fn ) {
return this.on( types, selector, data, fn );
},
undelegate: function( selector, types, fn ) {
// ( namespace ) or ( selector, types [, fn] )
return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn );
}
});
var nonce = jQuery.now();
var rquery = (/\?/);
var rvalidtokens = /(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;
jQuery.parseJSON = function( data ) {
// Attempt to parse using the native JSON parser first
if ( window.JSON && window.JSON.parse ) {
// Support: Android 2.3
// Workaround failure to string-cast null input
return window.JSON.parse( data + "" );
}
var requireNonComma,
depth = null,
str = jQuery.trim( data + "" );
// Guard against invalid (and possibly dangerous) input by ensuring that nothing remains
// after removing valid tokens
return str && !jQuery.trim( str.replace( rvalidtokens, function( token, comma, open, close ) {
// Force termination if we see a misplaced comma
if ( requireNonComma && comma ) {
depth = 0;
}
// Perform no more replacements after returning to outermost depth
if ( depth === 0 ) {
return token;
}
// Commas must not follow "[", "{", or ","
requireNonComma = open || comma;
// Determine new depth
// array/object open ("[" or "{"): depth += true - false (increment)
// array/object close ("]" or "}"): depth += false - true (decrement)
// other cases ("," or primitive): depth += true - true (numeric cast)
depth += !close - !open;
// Remove this token
return "";
}) ) ?
( Function( "return " + str ) )() :
jQuery.error( "Invalid JSON: " + data );
};
// Cross-browser xml parsing
jQuery.parseXML = function( data ) {
var xml, tmp;
if ( !data || typeof data !== "string" ) {
return null;
}
try {
if ( window.DOMParser ) { // Standard
tmp = new DOMParser();
xml = tmp.parseFromString( data, "text/xml" );
} else { // IE
xml = new ActiveXObject( "Microsoft.XMLDOM" );
xml.async = "false";
xml.loadXML( data );
}
} catch( e ) {
xml = undefined;
}
if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
jQuery.error( "Invalid XML: " + data );
}
return xml;
};
var
// Document location
ajaxLocParts,
ajaxLocation,
rhash = /#.*$/,
rts = /([?&])_=[^&]*/,
rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL
// #7653, #8125, #8152: local protocol detection
rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent = /^(?:GET|HEAD)$/,
rprotocol = /^\/\//,
rurl = /^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,
/* Prefilters
* 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
* 2) These are called:
* - BEFORE asking for a transport
* - AFTER param serialization (s.data is a string if s.processData is true)
* 3) key is the dataType
* 4) the catchall symbol "*" can be used
* 5) execution will start with transport dataType and THEN continue down to "*" if needed
*/
prefilters = {},
/* Transports bindings
* 1) key is the dataType
* 2) the catchall symbol "*" can be used
* 3) selection will start with transport dataType and THEN go to "*" if needed
*/
transports = {},
// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
allTypes = "*/".concat("*");
// #8138, IE may throw an exception when accessing
// a field from window.location if document.domain has been set
try {
ajaxLocation = location.href;
} catch( e ) {
// Use the href attribute of an A element
// since IE will modify it given document.location
ajaxLocation = document.createElement( "a" );
ajaxLocation.href = "";
ajaxLocation = ajaxLocation.href;
}
// Segment location into parts
ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];
// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
function addToPrefiltersOrTransports( structure ) {
// dataTypeExpression is optional and defaults to "*"
return function( dataTypeExpression, func ) {
if ( typeof dataTypeExpression !== "string" ) {
func = dataTypeExpression;
dataTypeExpression = "*";
}
var dataType,
i = 0,
dataTypes = dataTypeExpression.toLowerCase().match( rnotwhite ) || [];
if ( jQuery.isFunction( func ) ) {
// For each dataType in the dataTypeExpression
while ( (dataType = dataTypes[i++]) ) {
// Prepend if requested
if ( dataType.charAt( 0 ) === "+" ) {
dataType = dataType.slice( 1 ) || "*";
(structure[ dataType ] = structure[ dataType ] || []).unshift( func );
// Otherwise append
} else {
(structure[ dataType ] = structure[ dataType ] || []).push( func );
}
}
}
};
}
// Base inspection function for prefilters and transports
function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
var inspected = {},
seekingTransport = ( structure === transports );
function inspect( dataType ) {
var selected;
inspected[ dataType ] = true;
jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
if ( typeof dataTypeOrTransport === "string" && !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
options.dataTypes.unshift( dataTypeOrTransport );
inspect( dataTypeOrTransport );
return false;
} else if ( seekingTransport ) {
return !( selected = dataTypeOrTransport );
}
});
return selected;
}
return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
}
// A special extend for ajax options
// that takes "flat" options (not to be deep extended)
// Fixes #9887
function ajaxExtend( target, src ) {
var deep, key,
flatOptions = jQuery.ajaxSettings.flatOptions || {};
for ( key in src ) {
if ( src[ key ] !== undefined ) {
( flatOptions[ key ] ? target : ( deep || (deep = {}) ) )[ key ] = src[ key ];
}
}
if ( deep ) {
jQuery.extend( true, target, deep );
}
return target;
}
/* Handles responses to an ajax request:
* - finds the right dataType (mediates between content-type and expected dataType)
* - returns the corresponding response
*/
function ajaxHandleResponses( s, jqXHR, responses ) {
var firstDataType, ct, finalDataType, type,
contents = s.contents,
dataTypes = s.dataTypes;
// Remove auto dataType and get content-type in the process
while ( dataTypes[ 0 ] === "*" ) {
dataTypes.shift();
if ( ct === undefined ) {
ct = s.mimeType || jqXHR.getResponseHeader("Content-Type");
}
}
// Check if we're dealing with a known content-type
if ( ct ) {
for ( type in contents ) {
if ( contents[ type ] && contents[ type ].test( ct ) ) {
dataTypes.unshift( type );
break;
}
}
}
// Check to see if we have a response for the expected dataType
if ( dataTypes[ 0 ] in responses ) {
finalDataType = dataTypes[ 0 ];
} else {
// Try convertible dataTypes
for ( type in responses ) {
if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) {
finalDataType = type;
break;
}
if ( !firstDataType ) {
firstDataType = type;
}
}
// Or just use first one
finalDataType = finalDataType || firstDataType;
}
// If we found a dataType
// We add the dataType to the list if needed
// and return the corresponding response
if ( finalDataType ) {
if ( finalDataType !== dataTypes[ 0 ] ) {
dataTypes.unshift( finalDataType );
}
return responses[ finalDataType ];
}
}
/* Chain conversions given the request and the original response
* Also sets the responseXXX fields on the jqXHR instance
*/
function ajaxConvert( s, response, jqXHR, isSuccess ) {
var conv2, current, conv, tmp, prev,
converters = {},
// Work with a copy of dataTypes in case we need to modify it for conversion
dataTypes = s.dataTypes.slice();
// Create converters map with lowercased keys
if ( dataTypes[ 1 ] ) {
for ( conv in s.converters ) {
converters[ conv.toLowerCase() ] = s.converters[ conv ];
}
}
current = dataTypes.shift();
// Convert to each sequential dataType
while ( current ) {
if ( s.responseFields[ current ] ) {
jqXHR[ s.responseFields[ current ] ] = response;
}
// Apply the dataFilter if provided
if ( !prev && isSuccess && s.dataFilter ) {
response = s.dataFilter( response, s.dataType );
}
prev = current;
current = dataTypes.shift();
if ( current ) {
// There's only work to do if current dataType is non-auto
if ( current === "*" ) {
current = prev;
// Convert response if prev dataType is non-auto and differs from current
} else if ( prev !== "*" && prev !== current ) {
// Seek a direct converter
conv = converters[ prev + " " + current ] || converters[ "* " + current ];
// If none found, seek a pair
if ( !conv ) {
for ( conv2 in converters ) {
// If conv2 outputs current
tmp = conv2.split( " " );
if ( tmp[ 1 ] === current ) {
// If prev can be converted to accepted input
conv = converters[ prev + " " + tmp[ 0 ] ] ||
converters[ "* " + tmp[ 0 ] ];
if ( conv ) {
// Condense equivalence converters
if ( conv === true ) {
conv = converters[ conv2 ];
// Otherwise, insert the intermediate dataType
} else if ( converters[ conv2 ] !== true ) {
current = tmp[ 0 ];
dataTypes.unshift( tmp[ 1 ] );
}
break;
}
}
}
}
// Apply converter (if not an equivalence)
if ( conv !== true ) {
// Unless errors are allowed to bubble, catch and return them
if ( conv && s[ "throws" ] ) {
response = conv( response );
} else {
try {
response = conv( response );
} catch ( e ) {
return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current };
}
}
}
}
}
}
return { state: "success", data: response };
}
jQuery.extend({
// Counter for holding the number of active queries
active: 0,
// Last-Modified header cache for next request
lastModified: {},
etag: {},
ajaxSettings: {
url: ajaxLocation,
type: "GET",
isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),
global: true,
processData: true,
async: true,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
/*
timeout: 0,
data: null,
dataType: null,
username: null,
password: null,
cache: null,
throws: false,
traditional: false,
headers: {},
*/
accepts: {
"*": allTypes,
text: "text/plain",
html: "text/html",
xml: "application/xml, text/xml",
json: "application/json, text/javascript"
},
contents: {
xml: /xml/,
html: /html/,
json: /json/
},
responseFields: {
xml: "responseXML",
text: "responseText",
json: "responseJSON"
},
// Data converters
// Keys separate source (or catchall "*") and destination types with a single space
converters: {
// Convert anything to text
"* text": String,
// Text to html (true = no transformation)
"text html": true,
// Evaluate text as a json expression
"text json": jQuery.parseJSON,
// Parse text as xml
"text xml": jQuery.parseXML
},
// For options that shouldn't be deep extended:
// you can add your own custom options here if
// and when you create one that shouldn't be
// deep extended (see ajaxExtend)
flatOptions: {
url: true,
context: true
}
},
// Creates a full fledged settings object into target
// with both ajaxSettings and settings fields.
// If target is omitted, writes into ajaxSettings.
ajaxSetup: function( target, settings ) {
return settings ?
// Building a settings object
ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
// Extending ajaxSettings
ajaxExtend( jQuery.ajaxSettings, target );
},
ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
ajaxTransport: addToPrefiltersOrTransports( transports ),
// Main method
ajax: function( url, options ) {
// If url is an object, simulate pre-1.5 signature
if ( typeof url === "object" ) {
options = url;
url = undefined;
}
// Force options to be an object
options = options || {};
var // Cross-domain detection vars
parts,
// Loop variable
i,
// URL without anti-cache param
cacheURL,
// Response headers as string
responseHeadersString,
// timeout handle
timeoutTimer,
// To know if global events are to be dispatched
fireGlobals,
transport,
// Response headers
responseHeaders,
// Create the final options object
s = jQuery.ajaxSetup( {}, options ),
// Callbacks context
callbackContext = s.context || s,
// Context for global events is callbackContext if it is a DOM node or jQuery collection
globalEventContext = s.context && ( callbackContext.nodeType || callbackContext.jquery ) ?
jQuery( callbackContext ) :
jQuery.event,
// Deferreds
deferred = jQuery.Deferred(),
completeDeferred = jQuery.Callbacks("once memory"),
// Status-dependent callbacks
statusCode = s.statusCode || {},
// Headers (they are sent all at once)
requestHeaders = {},
requestHeadersNames = {},
// The jqXHR state
state = 0,
// Default abort message
strAbort = "canceled",
// Fake xhr
jqXHR = {
readyState: 0,
// Builds headers hashtable if needed
getResponseHeader: function( key ) {
var match;
if ( state === 2 ) {
if ( !responseHeaders ) {
responseHeaders = {};
while ( (match = rheaders.exec( responseHeadersString )) ) {
responseHeaders[ match[1].toLowerCase() ] = match[ 2 ];
}
}
match = responseHeaders[ key.toLowerCase() ];
}
return match == null ? null : match;
},
// Raw string
getAllResponseHeaders: function() {
return state === 2 ? responseHeadersString : null;
},
// Caches the header
setRequestHeader: function( name, value ) {
var lname = name.toLowerCase();
if ( !state ) {
name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;
requestHeaders[ name ] = value;
}
return this;
},
// Overrides response content-type header
overrideMimeType: function( type ) {
if ( !state ) {
s.mimeType = type;
}
return this;
},
// Status-dependent callbacks
statusCode: function( map ) {
var code;
if ( map ) {
if ( state < 2 ) {
for ( code in map ) {
// Lazy-add the new callback in a way that preserves old ones
statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
}
} else {
// Execute the appropriate callbacks
jqXHR.always( map[ jqXHR.status ] );
}
}
return this;
},
// Cancel the request
abort: function( statusText ) {
var finalText = statusText || strAbort;
if ( transport ) {
transport.abort( finalText );
}
done( 0, finalText );
return this;
}
};
// Attach deferreds
deferred.promise( jqXHR ).complete = completeDeferred.add;
jqXHR.success = jqXHR.done;
jqXHR.error = jqXHR.fail;
// Remove hash character (#7531: and string promotion)
// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)
// Handle falsy url in the settings object (#10093: consistency with old signature)
// We also use the url parameter if available
s.url = ( ( url || s.url || ajaxLocation ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" );
// Alias method option to type as per ticket #12004
s.type = options.method || options.type || s.method || s.type;
// Extract dataTypes list
s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().match( rnotwhite ) || [ "" ];
// A cross-domain request is in order when we have a protocol:host:port mismatch
if ( s.crossDomain == null ) {
parts = rurl.exec( s.url.toLowerCase() );
s.crossDomain = !!( parts &&
( parts[ 1 ] !== ajaxLocParts[ 1 ] || parts[ 2 ] !== ajaxLocParts[ 2 ] ||
( parts[ 3 ] || ( parts[ 1 ] === "http:" ? "80" : "443" ) ) !==
( ajaxLocParts[ 3 ] || ( ajaxLocParts[ 1 ] === "http:" ? "80" : "443" ) ) )
);
}
// Convert data if not already a string
if ( s.data && s.processData && typeof s.data !== "string" ) {
s.data = jQuery.param( s.data, s.traditional );
}
// Apply prefilters
inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
// If request was aborted inside a prefilter, stop there
if ( state === 2 ) {
return jqXHR;
}
// We can fire global events as of now if asked to
fireGlobals = s.global;
// Watch for a new set of requests
if ( fireGlobals && jQuery.active++ === 0 ) {
jQuery.event.trigger("ajaxStart");
}
// Uppercase the type
s.type = s.type.toUpperCase();
// Determine if request has content
s.hasContent = !rnoContent.test( s.type );
// Save the URL in case we're toying with the If-Modified-Since
// and/or If-None-Match header later on
cacheURL = s.url;
// More options handling for requests with no content
if ( !s.hasContent ) {
// If data is available, append data to url
if ( s.data ) {
cacheURL = ( s.url += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data );
// #9682: remove data so that it's not used in an eventual retry
delete s.data;
}
// Add anti-cache in url if needed
if ( s.cache === false ) {
s.url = rts.test( cacheURL ) ?
// If there is already a '_' parameter, set its value
cacheURL.replace( rts, "$1_=" + nonce++ ) :
// Otherwise add one to the end
cacheURL + ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + nonce++;
}
}
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
if ( s.ifModified ) {
if ( jQuery.lastModified[ cacheURL ] ) {
jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
}
if ( jQuery.etag[ cacheURL ] ) {
jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
}
}
// Set the correct header, if data is being sent
if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
jqXHR.setRequestHeader( "Content-Type", s.contentType );
}
// Set the Accepts header for the server, depending on the dataType
jqXHR.setRequestHeader(
"Accept",
s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?
s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
s.accepts[ "*" ]
);
// Check for headers option
for ( i in s.headers ) {
jqXHR.setRequestHeader( i, s.headers[ i ] );
}
// Allow custom headers/mimetypes and early abort
if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
// Abort if not done already and return
return jqXHR.abort();
}
// aborting is no longer a cancellation
strAbort = "abort";
// Install callbacks on deferreds
for ( i in { success: 1, error: 1, complete: 1 } ) {
jqXHR[ i ]( s[ i ] );
}
// Get transport
transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
// If no transport, we auto-abort
if ( !transport ) {
done( -1, "No Transport" );
} else {
jqXHR.readyState = 1;
// Send global event
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
}
// Timeout
if ( s.async && s.timeout > 0 ) {
timeoutTimer = setTimeout(function() {
jqXHR.abort("timeout");
}, s.timeout );
}
try {
state = 1;
transport.send( requestHeaders, done );
} catch ( e ) {
// Propagate exception as error if not done
if ( state < 2 ) {
done( -1, e );
// Simply rethrow otherwise
} else {
throw e;
}
}
}
// Callback for when everything is done
function done( status, nativeStatusText, responses, headers ) {
var isSuccess, success, error, response, modified,
statusText = nativeStatusText;
// Called once
if ( state === 2 ) {
return;
}
// State is "done" now
state = 2;
// Clear timeout if it exists
if ( timeoutTimer ) {
clearTimeout( timeoutTimer );
}
// Dereference transport for early garbage collection
// (no matter how long the jqXHR object will be used)
transport = undefined;
// Cache response headers
responseHeadersString = headers || "";
// Set readyState
jqXHR.readyState = status > 0 ? 4 : 0;
// Determine if successful
isSuccess = status >= 200 && status < 300 || status === 304;
// Get response data
if ( responses ) {
response = ajaxHandleResponses( s, jqXHR, responses );
}
// Convert no matter what (that way responseXXX fields are always set)
response = ajaxConvert( s, response, jqXHR, isSuccess );
// If successful, handle type chaining
if ( isSuccess ) {
// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
if ( s.ifModified ) {
modified = jqXHR.getResponseHeader("Last-Modified");
if ( modified ) {
jQuery.lastModified[ cacheURL ] = modified;
}
modified = jqXHR.getResponseHeader("etag");
if ( modified ) {
jQuery.etag[ cacheURL ] = modified;
}
}
// if no content
if ( status === 204 || s.type === "HEAD" ) {
statusText = "nocontent";
// if not modified
} else if ( status === 304 ) {
statusText = "notmodified";
// If we have data, let's convert it
} else {
statusText = response.state;
success = response.data;
error = response.error;
isSuccess = !error;
}
} else {
// We extract error from statusText
// then normalize statusText and status for non-aborts
error = statusText;
if ( status || !statusText ) {
statusText = "error";
if ( status < 0 ) {
status = 0;
}
}
}
// Set data for the fake xhr object
jqXHR.status = status;
jqXHR.statusText = ( nativeStatusText || statusText ) + "";
// Success/Error
if ( isSuccess ) {
deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
} else {
deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
}
// Status-dependent callbacks
jqXHR.statusCode( statusCode );
statusCode = undefined;
if ( fireGlobals ) {
globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
[ jqXHR, s, isSuccess ? success : error ] );
}
// Complete
completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
// Handle the global AJAX counter
if ( !( --jQuery.active ) ) {
jQuery.event.trigger("ajaxStop");
}
}
}
return jqXHR;
},
getJSON: function( url, data, callback ) {
return jQuery.get( url, data, callback, "json" );
},
getScript: function( url, callback ) {
return jQuery.get( url, undefined, callback, "script" );
}
});
jQuery.each( [ "get", "post" ], function( i, method ) {
jQuery[ method ] = function( url, data, callback, type ) {
// shift arguments if data argument was omitted
if ( jQuery.isFunction( data ) ) {
type = type || callback;
callback = data;
data = undefined;
}
return jQuery.ajax({
url: url,
type: method,
dataType: type,
data: data,
success: callback
});
};
});
// Attach a bunch of functions for handling common AJAX events
jQuery.each( [ "ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend" ], function( i, type ) {
jQuery.fn[ type ] = function( fn ) {
return this.on( type, fn );
};
});
jQuery._evalUrl = function( url ) {
return jQuery.ajax({
url: url,
type: "GET",
dataType: "script",
async: false,
global: false,
"throws": true
});
};
jQuery.fn.extend({
wrapAll: function( html ) {
if ( jQuery.isFunction( html ) ) {
return this.each(function(i) {
jQuery(this).wrapAll( html.call(this, i) );
});
}
if ( this[0] ) {
// The elements to wrap the target around
var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);
if ( this[0].parentNode ) {
wrap.insertBefore( this[0] );
}
wrap.map(function() {
var elem = this;
while ( elem.firstChild && elem.firstChild.nodeType === 1 ) {
elem = elem.firstChild;
}
return elem;
}).append( this );
}
return this;
},
wrapInner: function( html ) {
if ( jQuery.isFunction( html ) ) {
return this.each(function(i) {
jQuery(this).wrapInner( html.call(this, i) );
});
}
return this.each(function() {
var self = jQuery( this ),
contents = self.contents();
if ( contents.length ) {
contents.wrapAll( html );
} else {
self.append( html );
}
});
},
wrap: function( html ) {
var isFunction = jQuery.isFunction( html );
return this.each(function(i) {
jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );
});
},
unwrap: function() {
return this.parent().each(function() {
if ( !jQuery.nodeName( this, "body" ) ) {
jQuery( this ).replaceWith( this.childNodes );
}
}).end();
}
});
jQuery.expr.filters.hidden = function( elem ) {
// Support: Opera <= 12.12
// Opera reports offsetWidths and offsetHeights less than zero on some elements
return elem.offsetWidth <= 0 && elem.offsetHeight <= 0 ||
(!support.reliableHiddenOffsets() &&
((elem.style && elem.style.display) || jQuery.css( elem, "display" )) === "none");
};
jQuery.expr.filters.visible = function( elem ) {
return !jQuery.expr.filters.hidden( elem );
};
var r20 = /%20/g,
rbracket = /\[\]$/,
rCRLF = /\r?\n/g,
rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
rsubmittable = /^(?:input|select|textarea|keygen)/i;
function buildParams( prefix, obj, traditional, add ) {
var name;
if ( jQuery.isArray( obj ) ) {
// Serialize array item.
jQuery.each( obj, function( i, v ) {
if ( traditional || rbracket.test( prefix ) ) {
// Treat each array item as a scalar.
add( prefix, v );
} else {
// Item is non-scalar (array or object), encode its numeric index.
buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add );
}
});
} else if ( !traditional && jQuery.type( obj ) === "object" ) {
// Serialize object item.
for ( name in obj ) {
buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
}
} else {
// Serialize scalar item.
add( prefix, obj );
}
}
// Serialize an array of form elements or a set of
// key/values into a query string
jQuery.param = function( a, traditional ) {
var prefix,
s = [],
add = function( key, value ) {
// If value is a function, invoke it and return its value
value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value );
s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value );
};
// Set traditional to true for jQuery <= 1.3.2 behavior.
if ( traditional === undefined ) {
traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;
}
// If an array was passed in, assume that it is an array of form elements.
if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
// Serialize the form elements
jQuery.each( a, function() {
add( this.name, this.value );
});
} else {
// If traditional, encode the "old" way (the way 1.3.2 or older
// did it), otherwise encode params recursively.
for ( prefix in a ) {
buildParams( prefix, a[ prefix ], traditional, add );
}
}
// Return the resulting serialization
return s.join( "&" ).replace( r20, "+" );
};
jQuery.fn.extend({
serialize: function() {
return jQuery.param( this.serializeArray() );
},
serializeArray: function() {
return this.map(function() {
// Can add propHook for "elements" to filter or add form elements
var elements = jQuery.prop( this, "elements" );
return elements ? jQuery.makeArray( elements ) : this;
})
.filter(function() {
var type = this.type;
// Use .is(":disabled") so that fieldset[disabled] works
return this.name && !jQuery( this ).is( ":disabled" ) &&
rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
( this.checked || !rcheckableType.test( type ) );
})
.map(function( i, elem ) {
var val = jQuery( this ).val();
return val == null ?
null :
jQuery.isArray( val ) ?
jQuery.map( val, function( val ) {
return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
}) :
{ name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
}).get();
}
});
// Create the request object
// (This is still attached to ajaxSettings for backward compatibility)
jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
// Support: IE6+
function() {
// XHR cannot access local files, always use ActiveX for that case
return !this.isLocal &&
// Support: IE7-8
// oldIE XHR does not support non-RFC2616 methods (#13240)
// See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
// and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
// Although this check for six methods instead of eight
// since IE also does not support "trace" and "connect"
/^(get|post|head|put|delete|options)$/i.test( this.type ) &&
createStandardXHR() || createActiveXHR();
} :
// For all other browsers, use the standard XMLHttpRequest object
createStandardXHR;
var xhrId = 0,
xhrCallbacks = {},
xhrSupported = jQuery.ajaxSettings.xhr();
// Support: IE<10
// Open requests must be manually aborted on unload (#5280)
if ( window.ActiveXObject ) {
jQuery( window ).on( "unload", function() {
for ( var key in xhrCallbacks ) {
xhrCallbacks[ key ]( undefined, true );
}
});
}
// Determine support properties
support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
xhrSupported = support.ajax = !!xhrSupported;
// Create transport if the browser can provide an xhr
if ( xhrSupported ) {
jQuery.ajaxTransport(function( options ) {
// Cross domain only allowed if supported through XMLHttpRequest
if ( !options.crossDomain || support.cors ) {
var callback;
return {
send: function( headers, complete ) {
var i,
xhr = options.xhr(),
id = ++xhrId;
// Open the socket
xhr.open( options.type, options.url, options.async, options.username, options.password );
// Apply custom fields if provided
if ( options.xhrFields ) {
for ( i in options.xhrFields ) {
xhr[ i ] = options.xhrFields[ i ];
}
}
// Override mime type if needed
if ( options.mimeType && xhr.overrideMimeType ) {
xhr.overrideMimeType( options.mimeType );
}
// X-Requested-With header
// For cross-domain requests, seeing as conditions for a preflight are
// akin to a jigsaw puzzle, we simply never set it to be sure.
// (it can always be set on a per-request basis or even using ajaxSetup)
// For same-domain requests, won't change header if already provided.
if ( !options.crossDomain && !headers["X-Requested-With"] ) {
headers["X-Requested-With"] = "XMLHttpRequest";
}
// Set headers
for ( i in headers ) {
// Support: IE<9
// IE's ActiveXObject throws a 'Type Mismatch' exception when setting
// request header to a null-value.
//
// To keep consistent with other XHR implementations, cast the value
// to string and ignore `undefined`.
if ( headers[ i ] !== undefined ) {
xhr.setRequestHeader( i, headers[ i ] + "" );
}
}
// Do send the request
// This may raise an exception which is actually
// handled in jQuery.ajax (so no try/catch here)
xhr.send( ( options.hasContent && options.data ) || null );
// Listener
callback = function( _, isAbort ) {
var status, statusText, responses;
// Was never called and is aborted or complete
if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
// Clean up
delete xhrCallbacks[ id ];
callback = undefined;
xhr.onreadystatechange = jQuery.noop;
// Abort manually if needed
if ( isAbort ) {
if ( xhr.readyState !== 4 ) {
xhr.abort();
}
} else {
responses = {};
status = xhr.status;
// Support: IE<10
// Accessing binary-data responseText throws an exception
// (#11426)
if ( typeof xhr.responseText === "string" ) {
responses.text = xhr.responseText;
}
// Firefox throws an exception when accessing
// statusText for faulty cross-domain requests
try {
statusText = xhr.statusText;
} catch( e ) {
// We normalize with Webkit giving an empty statusText
statusText = "";
}
// Filter status for non standard behaviors
// If the request is local and we have data: assume a success
// (success with no data won't get notified, that's the best we
// can do given current implementations)
if ( !status && options.isLocal && !options.crossDomain ) {
status = responses.text ? 200 : 404;
// IE - #1450: sometimes returns 1223 when it should be 204
} else if ( status === 1223 ) {
status = 204;
}
}
}
// Call complete if needed
if ( responses ) {
complete( status, statusText, responses, xhr.getAllResponseHeaders() );
}
};
if ( !options.async ) {
// if we're in sync mode we fire the callback
callback();
} else if ( xhr.readyState === 4 ) {
// (IE6 & IE7) if it's in cache and has been
// retrieved directly we need to fire the callback
setTimeout( callback );
} else {
// Add to the list of active xhr callbacks
xhr.onreadystatechange = xhrCallbacks[ id ] = callback;
}
},
abort: function() {
if ( callback ) {
callback( undefined, true );
}
}
};
}
});
}
// Functions to create xhrs
function createStandardXHR() {
try {
return new window.XMLHttpRequest();
} catch( e ) {}
}
function createActiveXHR() {
try {
return new window.ActiveXObject( "Microsoft.XMLHTTP" );
} catch( e ) {}
}
// Install script dataType
jQuery.ajaxSetup({
accepts: {
script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"
},
contents: {
script: /(?:java|ecma)script/
},
converters: {
"text script": function( text ) {
jQuery.globalEval( text );
return text;
}
}
});
// Handle cache's special case and global
jQuery.ajaxPrefilter( "script", function( s ) {
if ( s.cache === undefined ) {
s.cache = false;
}
if ( s.crossDomain ) {
s.type = "GET";
s.global = false;
}
});
// Bind script tag hack transport
jQuery.ajaxTransport( "script", function(s) {
// This transport only deals with cross domain requests
if ( s.crossDomain ) {
var script,
head = document.head || jQuery("head")[0] || document.documentElement;
return {
send: function( _, callback ) {
script = document.createElement("script");
script.async = true;
if ( s.scriptCharset ) {
script.charset = s.scriptCharset;
}
script.src = s.url;
// Attach handlers for all browsers
script.onload = script.onreadystatechange = function( _, isAbort ) {
if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
// Handle memory leak in IE
script.onload = script.onreadystatechange = null;
// Remove the script
if ( script.parentNode ) {
script.parentNode.removeChild( script );
}
// Dereference the script
script = null;
// Callback if not abort
if ( !isAbort ) {
callback( 200, "success" );
}
}
};
// Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending
// Use native DOM manipulation to avoid our domManip AJAX trickery
head.insertBefore( script, head.firstChild );
},
abort: function() {
if ( script ) {
script.onload( undefined, true );
}
}
};
}
});
var oldCallbacks = [],
rjsonp = /(=)\?(?=&|$)|\?\?/;
// Default jsonp settings
jQuery.ajaxSetup({
jsonp: "callback",
jsonpCallback: function() {
var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
this[ callback ] = true;
return callback;
}
});
// Detect, normalize options and install callbacks for jsonp requests
jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
var callbackName, overwritten, responseContainer,
jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
"url" :
typeof s.data === "string" && !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && rjsonp.test( s.data ) && "data"
);
// Handle iff the expected data type is "jsonp" or we have a parameter to set
if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
// Get callback name, remembering preexisting value associated with it
callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?
s.jsonpCallback() :
s.jsonpCallback;
// Insert callback into url or form data
if ( jsonProp ) {
s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
} else if ( s.jsonp !== false ) {
s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
}
// Use data converter to retrieve json after script execution
s.converters["script json"] = function() {
if ( !responseContainer ) {
jQuery.error( callbackName + " was not called" );
}
return responseContainer[ 0 ];
};
// force json dataType
s.dataTypes[ 0 ] = "json";
// Install callback
overwritten = window[ callbackName ];
window[ callbackName ] = function() {
responseContainer = arguments;
};
// Clean-up function (fires after converters)
jqXHR.always(function() {
// Restore preexisting value
window[ callbackName ] = overwritten;
// Save back as free
if ( s[ callbackName ] ) {
// make sure that re-using the options doesn't screw things around
s.jsonpCallback = originalSettings.jsonpCallback;
// save the callback name for future use
oldCallbacks.push( callbackName );
}
// Call if it was a function and we have a response
if ( responseContainer && jQuery.isFunction( overwritten ) ) {
overwritten( responseContainer[ 0 ] );
}
responseContainer = overwritten = undefined;
});
// Delegate to script
return "script";
}
});
// data: string of html
// context (optional): If specified, the fragment will be created in this context, defaults to document
// keepScripts (optional): If true, will include scripts passed in the html string
jQuery.parseHTML = function( data, context, keepScripts ) {
if ( !data || typeof data !== "string" ) {
return null;
}
if ( typeof context === "boolean" ) {
keepScripts = context;
context = false;
}
context = context || document;
var parsed = rsingleTag.exec( data ),
scripts = !keepScripts && [];
// Single tag
if ( parsed ) {
return [ context.createElement( parsed[1] ) ];
}
parsed = jQuery.buildFragment( [ data ], context, scripts );
if ( scripts && scripts.length ) {
jQuery( scripts ).remove();
}
return jQuery.merge( [], parsed.childNodes );
};
// Keep a copy of the old load method
var _load = jQuery.fn.load;
/**
* Load a url into a page
*/
jQuery.fn.load = function( url, params, callback ) {
if ( typeof url !== "string" && _load ) {
return _load.apply( this, arguments );
}
var selector, response, type,
self = this,
off = url.indexOf(" ");
if ( off >= 0 ) {
selector = url.slice( off, url.length );
url = url.slice( 0, off );
}
// If it's a function
if ( jQuery.isFunction( params ) ) {
// We assume that it's the callback
callback = params;
params = undefined;
// Otherwise, build a param string
} else if ( params && typeof params === "object" ) {
type = "POST";
}
// If we have elements to modify, make the request
if ( self.length > 0 ) {
jQuery.ajax({
url: url,
// if "type" variable is undefined, then "GET" method will be used
type: type,
dataType: "html",
data: params
}).done(function( responseText ) {
// Save response for use in complete callback
response = arguments;
self.html( selector ?
// If a selector was specified, locate the right elements in a dummy div
// Exclude scripts to avoid IE 'Permission Denied' errors
jQuery("").append( jQuery.parseHTML( responseText ) ).find( selector ) :
// Otherwise use the full result
responseText );
}).complete( callback && function( jqXHR, status ) {
self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );
});
}
return this;
};
jQuery.expr.filters.animated = function( elem ) {
return jQuery.grep(jQuery.timers, function( fn ) {
return elem === fn.elem;
}).length;
};
var docElem = window.document.documentElement;
/**
* Gets a window from an element
*/
function getWindow( elem ) {
return jQuery.isWindow( elem ) ?
elem :
elem.nodeType === 9 ?
elem.defaultView || elem.parentWindow :
false;
}
jQuery.offset = {
setOffset: function( elem, options, i ) {
var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
position = jQuery.css( elem, "position" ),
curElem = jQuery( elem ),
props = {};
// set position first, in-case top/left are set even on static elem
if ( position === "static" ) {
elem.style.position = "relative";
}
curOffset = curElem.offset();
curCSSTop = jQuery.css( elem, "top" );
curCSSLeft = jQuery.css( elem, "left" );
calculatePosition = ( position === "absolute" || position === "fixed" ) &&
jQuery.inArray("auto", [ curCSSTop, curCSSLeft ] ) > -1;
// need to be able to calculate position if either top or left is auto and position is either absolute or fixed
if ( calculatePosition ) {
curPosition = curElem.position();
curTop = curPosition.top;
curLeft = curPosition.left;
} else {
curTop = parseFloat( curCSSTop ) || 0;
curLeft = parseFloat( curCSSLeft ) || 0;
}
if ( jQuery.isFunction( options ) ) {
options = options.call( elem, i, curOffset );
}
if ( options.top != null ) {
props.top = ( options.top - curOffset.top ) + curTop;
}
if ( options.left != null ) {
props.left = ( options.left - curOffset.left ) + curLeft;
}
if ( "using" in options ) {
options.using.call( elem, props );
} else {
curElem.css( props );
}
}
};
jQuery.fn.extend({
offset: function( options ) {
if ( arguments.length ) {
return options === undefined ?
this :
this.each(function( i ) {
jQuery.offset.setOffset( this, options, i );
});
}
var docElem, win,
box = { top: 0, left: 0 },
elem = this[ 0 ],
doc = elem && elem.ownerDocument;
if ( !doc ) {
return;
}
docElem = doc.documentElement;
// Make sure it's not a disconnected DOM node
if ( !jQuery.contains( docElem, elem ) ) {
return box;
}
// If we don't have gBCR, just use 0,0 rather than error
// BlackBerry 5, iOS 3 (original iPhone)
if ( typeof elem.getBoundingClientRect !== strundefined ) {
box = elem.getBoundingClientRect();
}
win = getWindow( doc );
return {
top: box.top + ( win.pageYOffset || docElem.scrollTop ) - ( docElem.clientTop || 0 ),
left: box.left + ( win.pageXOffset || docElem.scrollLeft ) - ( docElem.clientLeft || 0 )
};
},
position: function() {
if ( !this[ 0 ] ) {
return;
}
var offsetParent, offset,
parentOffset = { top: 0, left: 0 },
elem = this[ 0 ];
// fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is its only offset parent
if ( jQuery.css( elem, "position" ) === "fixed" ) {
// we assume that getBoundingClientRect is available when computed position is fixed
offset = elem.getBoundingClientRect();
} else {
// Get *real* offsetParent
offsetParent = this.offsetParent();
// Get correct offsets
offset = this.offset();
if ( !jQuery.nodeName( offsetParent[ 0 ], "html" ) ) {
parentOffset = offsetParent.offset();
}
// Add offsetParent borders
parentOffset.top += jQuery.css( offsetParent[ 0 ], "borderTopWidth", true );
parentOffset.left += jQuery.css( offsetParent[ 0 ], "borderLeftWidth", true );
}
// Subtract parent offsets and element margins
// note: when an element has margin: auto the offsetLeft and marginLeft
// are the same in Safari causing offset.left to incorrectly be 0
return {
top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true)
};
},
offsetParent: function() {
return this.map(function() {
var offsetParent = this.offsetParent || docElem;
while ( offsetParent && ( !jQuery.nodeName( offsetParent, "html" ) && jQuery.css( offsetParent, "position" ) === "static" ) ) {
offsetParent = offsetParent.offsetParent;
}
return offsetParent || docElem;
});
}
});
// Create scrollLeft and scrollTop methods
jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
var top = /Y/.test( prop );
jQuery.fn[ method ] = function( val ) {
return access( this, function( elem, method, val ) {
var win = getWindow( elem );
if ( val === undefined ) {
return win ? (prop in win) ? win[ prop ] :
win.document.documentElement[ method ] :
elem[ method ];
}
if ( win ) {
win.scrollTo(
!top ? val : jQuery( win ).scrollLeft(),
top ? val : jQuery( win ).scrollTop()
);
} else {
elem[ method ] = val;
}
}, method, val, arguments.length, null );
};
});
// Add the top/left cssHooks using jQuery.fn.position
// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
// getComputedStyle returns percent when specified for top/left/bottom/right
// rather than make the css module depend on the offset module, we just check for it here
jQuery.each( [ "top", "left" ], function( i, prop ) {
jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
function( elem, computed ) {
if ( computed ) {
computed = curCSS( elem, prop );
// if curCSS returns percentage, fallback to offset
return rnumnonpx.test( computed ) ?
jQuery( elem ).position()[ prop ] + "px" :
computed;
}
}
);
});
// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) {
// margin is only for outerHeight, outerWidth
jQuery.fn[ funcName ] = function( margin, value ) {
var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
return access( this, function( elem, type, value ) {
var doc;
if ( jQuery.isWindow( elem ) ) {
// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there
// isn't a whole lot we can do. See pull request at this URL for discussion:
// https://github.com/jquery/jquery/pull/764
return elem.document.documentElement[ "client" + name ];
}
// Get document width or height
if ( elem.nodeType === 9 ) {
doc = elem.documentElement;
// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest
// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.
return Math.max(
elem.body[ "scroll" + name ], doc[ "scroll" + name ],
elem.body[ "offset" + name ], doc[ "offset" + name ],
doc[ "client" + name ]
);
}
return value === undefined ?
// Get width or height on the element, requesting but not forcing parseFloat
jQuery.css( elem, type, extra ) :
// Set width or height on the element
jQuery.style( elem, type, value, extra );
}, type, chainable ? margin : undefined, chainable, null );
};
});
});
// The number of elements contained in the matched element set
jQuery.fn.size = function() {
return this.length;
};
jQuery.fn.andSelf = jQuery.fn.addBack;
// Register as a named AMD module, since jQuery can be concatenated with other
// files that may use define, but not via a proper concatenation script that
// understands anonymous AMD modules. A named AMD is safest and most robust
// way to register. Lowercase jquery is used because AMD module names are
// derived from file names, and jQuery is normally delivered in a lowercase
// file name. Do this after creating the global so that if an AMD module wants
// to call noConflict to hide this version of jQuery, it will work.
if ( typeof define === "function" && define.amd ) {
define( "jquery", [], function() {
return jQuery;
});
}
var
// Map over jQuery in case of overwrite
_jQuery = window.jQuery,
// Map over the $ in case of overwrite
_$ = window.$;
jQuery.noConflict = function( deep ) {
if ( window.$ === jQuery ) {
window.$ = _$;
}
if ( deep && window.jQuery === jQuery ) {
window.jQuery = _jQuery;
}
return jQuery;
};
// Expose jQuery and $ identifiers, even in
// AMD (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
// and CommonJS for browser emulators (#13566)
if ( typeof noGlobal === strundefined ) {
window.jQuery = window.$ = jQuery;
}
return jQuery;
}));/*
* Copyright (c) 2009 Simo Kinnunen.
* Licensed under the MIT license.
*
* @version 1.09i
*/
var Cufon=(function(){var m=function(){return m.replace.apply(null,arguments)};var x=m.DOM={ready:(function(){var C=false,E={loaded:1,complete:1};var B=[],D=function(){if(C){return}C=true;for(var F;F=B.shift();F()){}};if(document.addEventListener){document.addEventListener("DOMContentLoaded",D,false);window.addEventListener("pageshow",D,false)}if(!window.opera&&document.readyState){(function(){E[document.readyState]?D():setTimeout(arguments.callee,10)})()}if(document.readyState&&document.createStyleSheet){(function(){try{document.body.doScroll("left");D()}catch(F){setTimeout(arguments.callee,1)}})()}q(window,"load",D);return function(F){if(!arguments.length){D()}else{C?F():B.push(F)}}})(),root:function(){return document.documentElement||document.body}};var n=m.CSS={Size:function(C,B){this.value=parseFloat(C);this.unit=String(C).match(/[a-z%]*$/)[0]||"px";this.convert=function(D){return D/B*this.value};this.convertFrom=function(D){return D/this.value*B};this.toString=function(){return this.value+this.unit}},addClass:function(C,B){var D=C.className;C.className=D+(D&&" ")+B;return C},color:j(function(C){var B={};B.color=C.replace(/^rgba\((.*?),\s*([\d.]+)\)/,function(E,D,F){B.opacity=parseFloat(F);return"rgb("+D+")"});return B}),fontStretch:j(function(B){if(typeof B=="number"){return B}if(/%$/.test(B)){return parseFloat(B)/100}return{"ultra-condensed":0.5,"extra-condensed":0.625,condensed:0.75,"semi-condensed":0.875,"semi-expanded":1.125,expanded:1.25,"extra-expanded":1.5,"ultra-expanded":2}[B]||1}),getStyle:function(C){var B=document.defaultView;if(B&&B.getComputedStyle){return new a(B.getComputedStyle(C,null))}if(C.currentStyle){return new a(C.currentStyle)}return new a(C.style)},gradient:j(function(F){var G={id:F,type:F.match(/^-([a-z]+)-gradient\(/)[1],stops:[]},C=F.substr(F.indexOf("(")).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);for(var E=0,B=C.length,D;E
0){E=" "+E}}else{if(B400}if(I==500){I=400}for(var J in G){if(!k(G,J)){continue}J=parseInt(J,10);if(!F||JD){D=J}K.push(J)}if(ID){I=D}K.sort(function(M,L){return(E?(M>=I&&L>=I)?ML:(M<=I&&L<=I)?M>L:Mcufoncanvas{text-indent:0;}@media screen{cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}cufoncanvas{position:absolute;text-align:left;}cufon{display:inline-block;position:relative;vertical-align:'+(h?"middle":"text-bottom")+";}cufon cufontext{position:absolute;left:-10000in;font-size:1px;}a cufon{cursor:pointer}}@media print{cufon cufoncanvas{display:none;}}").replace(/;/g,"!important;"));function c(i,j){return a(i,/(?:em|ex|%)$|^[a-z-]+$/i.test(j)?"1em":j)}function a(l,m){if(m==="0"){return 0}if(/px$/i.test(m)){return parseFloat(m)}var k=l.style.left,j=l.runtimeStyle.left;l.runtimeStyle.left=l.currentStyle.left;l.style.left=m.replace("%","em");var i=l.style.pixelLeft;l.style.left=k;l.runtimeStyle.left=j;return i}function f(l,k,j,n){var i="computed"+n,m=k[i];if(isNaN(m)){m=k.get(n);k[i]=m=(m=="normal")?0:~~j.convertFrom(a(l,m))}return m}var g={};function d(p){var q=p.id;if(!g[q]){var n=p.stops,o=document.createElement("cvml:fill"),i=[];o.type="gradient";o.angle=180;o.focus="0";o.method="sigma";o.color=n[0][1];for(var m=1,l=n.length-1;mO){O=K}if(I>N){N=I}if(K":-2,"<":-2,"9":2,"3":5,"2":7,"*":4,"\\":7,"-":-2,"+":-2,"7":18,",":11,".":11,"\/":7}},"1":{"d":"71,0r-19,0r0,-231v-17,7,-26,21,-48,23r0,-13v23,-9,35,-30,67,-31r0,252","w":105,"k":{"7":7}},"2":{"d":"166,-16r0,16r-157,0r0,-16v41,-46,130,-109,136,-171v7,-64,-96,-60,-117,-25r-9,0r0,-13v33,-41,154,-39,146,38v-7,65,-93,124,-134,171r135,0","w":180,"k":{"\u20ac":2,"<":4,"6":2,"5":-4,"4":11,"2":4,"&":7,"-":4,"7":5,":":-2,";":-2,",":-7,".":-7,"\/":-2}},"3":{"d":"79,1v-32,0,-56,-10,-71,-23r0,-15r9,0v11,12,32,23,61,23v44,0,66,-22,66,-58v-1,-45,-39,-54,-85,-51r0,-16v45,3,80,-10,80,-50v0,-60,-90,-57,-114,-29r-9,0r0,-13v39,-36,141,-31,141,41v0,33,-20,49,-43,59v29,7,50,24,50,59v0,46,-30,73,-85,73","w":176,"k":{"@":-2,"?":4,"5":-4,"4":-2,"2":2,"-":-2,"7":7}},"4":{"d":"155,0r-20,0r0,-65r-128,0r0,-19r130,-168r18,0r0,172r32,0r0,15r-32,0r0,65xm135,-224r-111,144r111,0r0,-144","w":194,"k":{"@":-2,"?":5,"9":4,"8":-2,"*":9,"&":-2,"\\":7,"+":4,"7":11,"%":4,"\u00bd":2}},"5":{"d":"169,-85v9,83,-111,108,-161,64r0,-15r10,0v11,12,29,22,59,22v45,0,72,-26,72,-70v0,-76,-91,-75,-117,-37r-14,0r0,-131r138,0r0,17r-123,0v2,30,-4,68,2,94v36,-36,142,-27,134,56","w":181,"k":{"?":7,"9":5,"5":2,"3":4,"2":7,"1":4,"*":11,"7":14,",":4,".":4,"%":7}},"6":{"d":"107,1v-51,0,-93,-37,-93,-122v0,-108,81,-154,165,-122r0,16v-19,0,-24,-11,-52,-11v-57,0,-95,41,-94,119v41,-50,160,-51,159,39v0,51,-36,81,-85,81xm173,-80v0,-80,-110,-67,-140,-22v5,63,35,88,74,88v40,0,66,-24,66,-66","w":204,"k":{"?":7,"9":7,"3":4,"2":4,"1":4,"0":2,"*":4,"&":-2,"\\":4,"-":-2,"+":4,"7":11,",":4,".":4,"%":7}},"7":{"d":"45,0r0,-10r111,-225r-146,0r0,-17r161,0r0,18r-110,234r-16,0","w":178,"k":{"\u20ac":14,"@":16,"?":-2,">":4,"<":14,"8":9,"6":7,"4":25,"3":2,"1":-5,"0":5,"&":22,"\\":-2,"-":13,"+":13,":":16,";":16,",":27,".":27,"\/":25,"%":2,"\u00bd":-7}},"8":{"d":"100,1v-104,0,-114,-118,-34,-135v-21,-10,-44,-28,-43,-57v0,-37,31,-62,77,-62v83,0,100,99,34,118v29,11,54,32,54,66v0,42,-31,70,-88,70xm100,-13v46,0,69,-24,69,-57v0,-33,-24,-57,-69,-57v-46,0,-69,24,-69,57v0,33,23,57,69,57xm100,-142v36,0,57,-19,57,-48v0,-29,-21,-49,-57,-49v-37,0,-58,20,-58,49v0,29,21,48,58,48","k":{"?":7,">":-2,"9":4,"4":-2,"2":4,"*":4,"\\":7,"+":4,"7":16,":":-2,";":-2,"%":5}},"9":{"d":"190,-131v0,108,-80,153,-167,122r0,-16v19,0,25,11,53,11v61,0,95,-41,94,-119v-41,49,-160,51,-159,-38v0,-51,35,-82,85,-82v51,0,94,37,94,122xm31,-172v-1,80,108,67,139,23v-5,-63,-35,-89,-74,-89v-40,0,-65,24,-65,66","w":203,"k":{"?":9,"5":-2,"3":7,"2":11,"*":4,"\\":7,"+":-2,"7":14,",":11,".":11,"\/":7}},":":{"d":"27,-111v-8,0,-14,-5,-14,-13v0,-8,6,-14,14,-14v8,0,14,6,14,14v0,8,-6,13,-14,13xm27,1v-8,0,-14,-5,-14,-13v0,-8,6,-14,14,-14v8,0,14,6,14,14v0,8,-6,13,-14,13","w":54,"k":{"V":18,"x":-4,"X":-4,"5":-2,"1":11,"3":-2,"2":-2,"8":-2,"A":-4,"\u00c2":-4,"J":-7,"S":-4,"\u015e":-4,"T":23,"W":11,"Y":18,"Z":-4,"w":4,"v":9,"y":9,"7":14,"j":-2,"s":-4,"\u015f":-4,"\/":-2}},";":{"d":"9,18v37,-7,-18,-44,17,-44v8,0,15,5,15,19v0,24,-13,33,-32,36r0,-11xm27,-111v-8,0,-14,-5,-14,-13v0,-8,6,-14,14,-14v8,0,14,6,14,14v0,8,-6,13,-14,13","w":54,"k":{"j":-2,"V":18,"x":-4,"X":-4,"5":-2,"1":11,"3":-2,"2":-2,"8":-2,"A":-4,"\u00c2":-4,"J":-7,"S":-4,"\u015e":-4,"T":23,"W":11,"Y":18,"Z":-4,"w":4,"v":9,"y":9,"7":14,"s":-4,"\u015f":-4,"\/":-2}},"<":{"d":"10,-111r0,-15r135,-71v9,-2,5,9,6,15r-122,64r122,63v-1,6,4,18,-6,15","w":163,"k":{"8":-2,"6":-2,"5":-2,"4":-2,"3":-2,"2":-2,"1":-2,"0":-2,"7":5}},"=":{"d":"161,-135r-151,0r0,-16r151,0r0,16xm161,-75r-151,0r0,-16r151,0r0,16","w":171},">":{"d":"152,-126r0,15r-134,71v-9,2,-5,-9,-6,-15r122,-63r-122,-63v1,-6,-4,-19,6,-16","w":163,"k":{"9":5,"6":-2,"4":-2,"3":14,"2":13,"1":7,"0":-2,"7":22}},"?":{"d":"143,-196v0,62,-88,71,-75,144r-16,0v-17,-69,65,-83,71,-145v5,-52,-86,-48,-101,-20r-9,0r0,-15v29,-31,130,-32,130,36xm61,1v-8,0,-13,-5,-13,-13v0,-8,5,-14,13,-14v8,0,14,6,14,14v0,8,-6,13,-14,13","w":154},"@":{"d":"251,15v-84,55,-239,33,-239,-103v0,-96,81,-149,152,-149v73,0,133,41,133,116v0,67,-42,95,-79,95v-27,0,-36,-15,-35,-31v-21,33,-100,54,-100,-14v0,-58,68,-124,123,-85v4,-10,7,-12,18,-11r-23,95v-5,20,-1,33,20,33v28,0,60,-23,60,-82v0,-66,-48,-102,-117,-102v-65,0,-136,46,-136,135v0,124,138,142,216,92r7,0r0,11xm100,-71v5,59,67,24,85,-4r16,-69v-45,-32,-105,21,-101,73","w":309,"k":{"x":7,"X":14,"V":13,"9":2,"8":4,"3":11,"2":7,"1":4,"A":13,"\u00c2":13,"J":11,"S":4,"\u015e":4,"T":23,"W":11,"Y":16,"Z":7,"z":5,"7":18,"f":-2,"s":2,"\u015f":2,"t":-2}},"A":{"d":"11,0r0,-8r88,-244r23,0r88,244r0,8r-17,0r-29,-79r-109,0r-28,79r-16,0xm110,-231v-19,43,-33,91,-50,136r99,0","w":220},"B":{"d":"31,0r0,-252v71,0,152,-11,151,63v0,34,-19,48,-44,56v31,7,56,22,56,64v0,77,-86,70,-163,69xm50,-16v60,1,125,7,125,-54v0,-58,-65,-56,-125,-54r0,108xm50,-140v54,1,113,6,113,-49v0,-56,-60,-46,-113,-47r0,96","w":208,"k":{"x":2,"X":2,"V":4,"@":-7,"?":4,"*":4,"&":-4,"!":2,"A":2,"\u00c2":2,"J":-2,"S":-5,"\u015e":-5,"T":9,"W":4,"Y":5,"Z":4,"a":-4,"\u00e2":-4,"\\":7,"d":-2,"q":-2,"-":-2,"+":-4,"w":4,"v":5,"y":5,"z":2}},"C":{"d":"126,1v-64,0,-109,-45,-109,-128v0,-119,118,-155,188,-101r0,15r-9,0v-14,-14,-32,-25,-67,-25v-52,0,-92,38,-92,111v0,74,35,113,89,113v38,0,60,-14,75,-30r8,0r0,14v-17,16,-42,31,-83,31","w":221,"k":{"?":-2,"@":-2,")":-5,"x":4,"A":-2,"\u00c2":-2,"J":-2,"S":-7,"\u015e":-7,"T":4,"W":-4,"Y":-2,"Z":4,"a":-5,"\u00e2":-5,"+":4,"w":2,"v":4,"y":4,"]":-5,"}":-5,":":-4,";":-4,",":-11,".":-11}},"D":{"d":"31,0r0,-252v115,-6,194,8,194,126v0,116,-78,133,-194,126xm50,-16v96,5,155,-10,155,-110v0,-100,-59,-115,-155,-110r0,220","w":240,"k":{"V":11,"*":4,"?":7,"x":4,"X":14,"A":9,"\u00c2":9,"J":9,"T":18,"W":5,"Y":14,"Z":16,"\\":7,"-":-4,"+":-4,"z":7,"f":-2,",":13,".":13,"s":-2,"\u015f":-2,"\/":5}},"E":{"d":"31,0r0,-252r150,0r0,16r-131,0r0,98r99,0r0,16r-99,0r0,106r136,0r0,16r-155,0","w":198,"k":{"&":5,"*":4,")":-5,"J":-5,"S":-4,"\u015e":-4,"d":5,"q":5,"-":5,"+":13,"w":9,"v":16,"y":16,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"]":-4,"}":-4,":":-5,";":-5,"g":5,"\u011f":5,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,",":-13,".":-13,"\/":-2,"u":4,"\u00fc":4}},"F":{"d":"50,0r-19,0r0,-252r150,0r0,16r-131,0r0,105r97,0r0,15r-97,0r0,116","w":193,"k":{"x":20,"X":4,"V":-2,"@":16,"?":-2,"*":4,")":-2,"&":23,"!":2,"A":29,"\u00c2":29,"J":34,"S":2,"\u015e":2,"T":-2,"W":-2,"Z":9,"a":18,"\u00e2":18,"\\":-4,"d":20,"q":20,"-":14,"+":14,"w":14,"v":14,"y":14,"z":22,"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d6":11,"\u011e":11,"]":-2,"}":-2,":":5,";":5,"f":4,"g":20,"\u011f":20,"i":9,"j":9,"m":20,"n":20,"p":20,"r":20,"\u0131":20,"c":20,"e":20,"o":20,"\u00e7":20,"\u00f6":20,",":22,".":22,"s":18,"\u015f":18,"\/":29,"t":4,"u":20,"\u00fc":20}},"G":{"d":"131,1v-71,0,-116,-43,-116,-128v0,-118,114,-151,192,-107r0,17r-10,0v-13,-13,-33,-21,-64,-21v-56,0,-97,35,-97,111v0,106,88,133,159,99r0,-80r-56,0r0,-15r75,0r0,104v-17,10,-42,20,-83,20","w":241,"k":{"V":9,"*":9,"!":2,"?":5,"x":5,"X":5,"A":5,"\u00c2":5,"T":14,"W":5,"Y":11,"Z":5,"\\":7,"d":2,"q":2,"w":7,"v":11,"y":11,"z":7,"i":4,"j":4,"s":4,"\u015f":4,"\/":4,"t":2,"u":5,"\u00fc":5,"U":4,"\u00dc":4,"b":4,"h":4,"k":4,"l":4}},"H":{"d":"50,0r-19,0r0,-252r19,0r0,114r146,0r0,-114r19,0r0,252r-19,0r0,-122r-146,0r0,122","w":245},"I":{"d":"51,0r-19,0r0,-252r19,0r0,252","w":82},"J":{"d":"118,-58v10,58,-76,74,-112,46r0,-15v19,1,20,13,48,13v31,0,45,-16,45,-44r0,-194r19,0r0,194","w":147,"k":{"x":4,"A":4,"\u00c2":4,"J":5,"z":4,",":7,".":7,"\/":5}},"K":{"d":"31,0r0,-252r19,0r0,145r134,-145r15,0r0,8r-88,95r97,141r0,8r-16,0r-94,-136r-48,51r0,85r-19,0","w":222,"k":{"V":4,"&":9,"*":13,"!":2,"?":5,"@":9,")":-2,"x":5,"S":2,"\u015e":2,"T":7,"W":2,"Y":4,"Z":2,"a":7,"\u00e2":7,"d":9,"q":9,"-":25,"+":25,"w":13,"v":18,"y":18,"z":4,"C":20,"G":20,"O":20,"Q":20,"\u00c7":20,"\u00d6":20,"\u011e":20,":":-4,";":-4,"f":2,"g":11,"\u011f":11,"i":4,"j":2,"c":9,"e":9,"o":9,"\u00e7":9,"\u00f6":9,",":-7,".":-7,"s":4,"\u015f":4,"\/":-2,"t":7,"u":11,"\u00fc":11,"U":11,"\u00dc":11,"b":2,"h":2,"k":2,"l":2}},"L":{"d":"181,0r-150,0r0,-252r19,0r0,236r131,0r0,16","w":194,"k":{"V":31,"&":5,"*":32,"?":16,"@":4,")":-2,"T":40,"W":23,"Y":31,"a":2,"\u00e2":2,"\\":34,"d":5,"q":5,"-":22,"+":23,"w":20,"v":25,"y":25,"C":20,"G":20,"O":20,"Q":20,"\u00c7":20,"\u00d6":20,"\u011e":20,":":-7,";":-7,"f":2,"g":5,"\u011f":5,"i":4,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,",":-11,".":-11,"\/":-2,"t":9,"u":7,"\u00fc":7,"U":11,"\u00dc":11}},"M":{"d":"31,0r0,-252r30,0r86,223r86,-223r29,0r0,252r-20,0r0,-229r-2,0r-88,229r-14,0r-89,-229r0,229r-18,0","w":292},"N":{"d":"31,0r0,-252r24,0r140,217r0,-217r18,0r0,252r-18,0r-146,-226r0,226r-18,0","w":244},"O":{"d":"129,1v-62,0,-114,-44,-114,-127v0,-82,52,-127,114,-127v61,0,112,45,112,127v0,83,-51,127,-112,127xm129,-14v52,0,92,-38,92,-112v0,-74,-40,-112,-92,-112v-53,0,-94,38,-94,112v0,74,41,112,94,112","w":256,"k":{"V":11,"*":4,"?":7,"x":4,"X":14,"A":9,"\u00c2":9,"J":9,"T":18,"W":5,"Y":14,"Z":16,"\\":7,"-":-4,"+":-4,"z":7,"f":-2,",":13,".":13,"s":-2,"\u015f":-2,"\/":5}},"P":{"d":"31,0r0,-252v77,-2,155,-6,155,72v0,71,-62,79,-136,75r0,105r-19,0xm50,-236r0,115v60,2,116,3,116,-58v0,-60,-56,-59,-116,-57","w":198,"k":{"x":5,"X":5,"@":4,"?":-2,"*":-4,"&":14,"A":20,"\u00c2":20,"J":25,"S":-4,"\u015e":-4,"T":4,"W":-4,"Y":2,"Z":13,"a":4,"\u00e2":4,"d":4,"q":4,"-":4,"+":4,"w":-4,"z":4,"f":-4,"g":4,"\u011f":4,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,",":29,".":29,"\/":18,"t":-4}},"Q":{"d":"246,33v-50,-5,-88,-20,-134,-31v-58,-14,-97,-53,-97,-128v0,-83,52,-127,114,-127v61,0,112,44,112,127v1,73,-41,113,-90,124r95,19r0,16xm129,-13v53,0,92,-39,92,-113v0,-75,-40,-112,-92,-112v-53,0,-94,37,-94,112v0,74,41,113,94,113","w":257,"k":{"}":-2,"z":7,"j":-5,"]":-2,"Z":16,"X":14,"S":-2,"J":9,"A":9,";":-2,":":-2,"\/":5,".":13,",":13,")":-2,"V":11,"*":4,"?":7,"x":4,"\u00c2":9,"T":18,"W":5,"Y":14,"\\":7,"-":-4,"+":-4,"f":-2,"s":-2,"\u015f":-2}},"R":{"d":"183,0r-62,-115v-22,2,-47,1,-70,1r0,114r-19,0r0,-252v74,-1,153,-7,153,68v0,36,-17,57,-45,65r60,111r0,8r-17,0xm51,-236r0,106v57,0,115,7,115,-53v0,-59,-58,-54,-115,-53","w":216,"k":{"V":7,"&":4,"*":5,"!":2,"?":2,"@":2,"T":14,"W":7,"Y":9,"Z":4,"\\":9,"d":5,"q":5,"-":11,"+":13,"w":4,"v":7,"y":7,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"g":5,"\u011f":5,"i":4,"j":4,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,",":-7,".":-7,"s":2,"\u015f":2,"t":4,"u":4,"\u00fc":4,"U":7,"\u00dc":7}},"S":{"d":"170,-69v0,83,-121,83,-162,47r0,-17r9,0v23,33,134,41,134,-29v0,-37,-30,-44,-66,-54v-45,-12,-71,-26,-71,-67v0,-36,27,-64,76,-64v32,0,53,7,68,19r0,17r-9,0v-23,-32,-127,-27,-116,26v0,35,24,43,58,52v51,13,79,26,79,70","w":183,"k":{"V":5,"&":-2,"*":11,"?":5,"x":2,"X":4,"T":7,"W":5,"Y":5,"Z":4,"a":-4,"\u00e2":-4,"\\":4,"d":-4,"q":-4,"-":-4,"+":4,"w":4,"v":5,"y":5,"g":-4,"\u011f":-4,"b":-2,"h":-2,"k":-2,"l":-2}},"T":{"d":"110,0r-20,0r0,-236r-82,0r0,-16r184,0r0,16r-82,0r0,236","k":{"V":-4,"&":27,"*":4,"?":-2,"@":25,")":-2,"x":29,"X":4,"A":27,"\u00c2":27,"J":27,"T":-4,"W":-4,"Y":-4,"Z":11,"a":34,"\u00e2":34,"\\":-5,"d":29,"q":29,"-":32,"+":32,"w":32,"v":25,"y":25,"z":27,"C":18,"G":18,"O":18,"Q":18,"\u00c7":18,"\u00d6":18,"\u011e":18,"]":-2,"}":-2,":":23,";":23,"f":11,"g":29,"\u011f":29,"i":11,"j":11,"m":23,"n":23,"p":23,"r":23,"\u0131":23,"c":34,"e":34,"o":34,"\u00e7":34,"\u00f6":34,",":29,".":29,"s":31,"\u015f":31,"\/":32,"t":7,"u":23,"\u00fc":23}},"U":{"d":"123,-14v40,0,72,-16,72,-71r0,-167r19,0r0,167v0,63,-40,86,-92,86v-51,0,-93,-22,-93,-86r0,-167r19,0r0,167v0,54,34,71,75,71","w":242,"k":{"x":7,"X":5,"A":9,"\u00c2":9,"J":9,"Z":7,"a":4,"\u00e2":4,"d":2,"q":2,"w":2,"v":4,"y":4,"z":5,"g":2,"\u011f":2,"i":4,"j":4,"c":4,"e":4,"o":4,"\u00e7":4,"\u00f6":4,",":11,".":11,"s":4,"\u015f":4,"\/":7,"t":2,"u":2,"\u00fc":2}},"V":{"d":"99,0r-89,-244r0,-8r17,0r83,229r83,-229r15,0r0,8r-88,244r-21,0","w":218,"k":{"x":9,"V":-2,"@":18,")":-2,"&":16,"A":23,"\u00c2":23,"J":25,"T":-4,"W":-4,"Z":9,"a":16,"\u00e2":16,"\\":-4,"d":14,"q":14,"-":22,"+":18,"w":9,"v":7,"y":7,"z":14,"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d6":11,"\u011e":11,"]":-2,"}":-2,":":18,";":18,"g":14,"\u011f":14,"i":5,"j":5,"m":11,"n":11,"p":11,"r":11,"\u0131":11,"c":22,"e":22,"o":22,"\u00e7":22,"\u00f6":22,",":27,".":27,"s":13,"\u015f":13,"\/":25,"u":11,"\u00fc":11}},"W":{"d":"74,0r-63,-252r18,0r57,221r62,-221r17,0r64,221r55,-221r17,0v-16,89,-43,167,-63,252r-21,0r-61,-219r-61,219r-21,0","w":312,"k":{"V":-4,"&":14,"?":-2,"@":11,")":-2,"x":7,"A":16,"\u00c2":16,"J":25,"S":-2,"\u015e":-2,"T":-4,"W":-4,"Z":9,"a":13,"\u00e2":13,"\\":-4,"d":13,"q":13,"-":13,"+":9,"w":11,"v":7,"y":7,"z":13,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"]":-2,"}":-2,":":11,";":11,"g":13,"\u011f":13,"i":4,"j":4,"m":5,"n":5,"p":5,"r":5,"\u0131":5,"c":13,"e":13,"o":13,"\u00e7":13,"\u00f6":13,",":22,".":22,"s":7,"\u015f":7,"\/":14,"u":7,"\u00fc":7}},"X":{"d":"13,0r0,-8r82,-123r-77,-113r0,-8r17,0r74,108r72,-108r15,0r0,8r-76,113r83,123r0,8r-17,0r-79,-118r-79,118r-15,0","w":215,"k":{"V":2,"@":4,"?":2,"*":7,")":-2,"&":5,"!":2,"T":5,"W":2,"Y":2,"a":2,"\u00e2":2,"d":5,"q":5,"-":20,"+":18,"w":9,"v":13,"y":13,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d6":14,"\u011e":14,"]":-2,"}":-2,":":-4,";":-4,"f":2,"g":5,"\u011f":5,"i":4,"j":4,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,",":-7,".":-7,"s":4,"\u015f":4,"\/":-4,"t":4,"u":5,"\u00fc":5,"U":5,"\u00dc":5}},"Y":{"d":"109,0r-19,0r0,-105r-81,-139r0,-8r17,0r74,129r74,-129r15,0r0,8r-80,138r0,106","w":198,"k":{"&":20,"?":-2,"@":20,")":-5,"x":20,"A":20,"\u00c2":20,"J":31,"T":-4,"Y":-2,"Z":9,"a":20,"\u00e2":20,"\\":-4,"d":23,"q":23,"-":27,"+":18,"w":14,"v":14,"y":14,"z":18,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d6":14,"\u011e":14,"]":-5,"}":-5,":":18,";":18,"f":2,"g":23,"\u011f":23,"i":7,"j":7,"m":13,"n":13,"p":13,"r":13,"\u0131":13,"c":25,"e":25,"o":25,"\u00e7":25,"\u00f6":25,",":23,".":23,"s":22,"\u015f":22,"\/":23,"t":7,"u":14,"\u00fc":14}},"Z":{"d":"12,0r0,-17r157,-220r-147,0r0,-15r167,0r0,17r-156,220r152,0r0,15r-173,0","w":202,"k":{"&":9,"*":-2,"?":-2,"@":5,")":-2,"x":5,"A":5,"\u00c2":5,"J":4,"W":-2,"Z":9,"a":4,"\u00e2":4,"\\":-5,"d":9,"q":9,"-":13,"+":14,"w":9,"v":14,"y":14,"z":5,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d6":14,"\u011e":14,"]":-2,"}":-2,":":-2,";":-2,"f":-2,"g":7,"\u011f":7,"i":4,"j":4,"m":4,"n":4,"p":4,"r":4,"\u0131":4,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,",":-5,".":-5,"s":7,"\u015f":7,"\/":-2,"t":4,"u":5,"\u00fc":5,"U":4,"\u00dc":4}},"[":{"d":"27,18r0,-285r63,0r0,15r-45,0r0,255r45,0r0,15r-63,0","w":98,"k":{"V":-2,"X":-2,"5":-5,"4":5,"1":-4,"3":-2,"2":-4,"T":-2,"W":-2,"Y":-5,"Z":-2,"7":-2,"j":-4}},"\\":{"d":"90,18r-85,-285r16,0r86,285r-17,0","w":110,"k":{"p":-2,"V":25,"x":-2,"X":-4,"5":-2,"4":4,"9":5,"1":7,"6":2,"3":-2,"2":-4,"0":7,"A":-4,"\u00c2":-4,"J":-2,"T":32,"W":14,"Y":23,"Z":-5,"d":2,"q":2,"w":9,"v":14,"y":14,"z":-4,"7":14,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"j":-5,"s":-2,"\u015f":-2,"t":2,"U":7,"\u00dc":7}},"]":{"d":"71,-267r0,285r-62,0r0,-15r44,0r0,-255r-44,0r0,-15r62,0","w":98},"^":{"d":"24,-168v-6,-1,-17,3,-14,-6r53,-78r17,0r52,78v2,9,-9,5,-15,6r-46,-67","w":141},"_":{"d":"119,58r-120,0r0,-14r120,0r0,14","w":118},"a":{"d":"153,0v-17,3,-19,-8,-18,-26v-27,41,-125,39,-125,-27v0,-55,74,-63,125,-49v4,-43,-4,-73,-46,-73v-34,0,-44,13,-66,16r0,-15v34,-21,130,-31,130,37r0,137xm29,-54v2,63,88,45,106,11r0,-46v-39,-10,-107,-11,-106,35","w":177,"k":{"*":7,"?":14,"\\":14,"w":4,"v":4,"y":4}},"b":{"d":"44,-235r0,81v41,-51,143,-59,143,58v0,107,-90,115,-143,75v-2,14,-5,23,-18,21r0,-252v13,0,19,-1,18,17xm169,-95v0,-111,-90,-88,-125,-41r0,99v43,40,126,39,125,-58","k":{"*":7,"!":2,"?":13,"x":5,"\\":16,"-":-4,"+":-2,"w":4,"v":4,"y":4,"z":7,",":5,".":5,"\/":2}},"c":{"d":"100,1v-55,0,-88,-36,-88,-95v0,-85,95,-119,147,-78r0,15v-22,-2,-25,-18,-59,-18v-42,0,-70,30,-70,81v0,51,26,81,70,81v29,0,45,-12,54,-22r9,0v2,32,-27,36,-63,36","w":172,"k":{"V":7,"&":-2,"?":4,"@":-2,")":-5,"A":-2,"\u00c2":-2,"S":-2,"\u015e":-2,"T":31,"W":9,"Y":14,"a":-2,"\u00e2":-2,"\\":7,"+":4,"]":-2,"}":-2,":":-4,";":-4,"f":-4,",":-7,".":-7,"s":-2,"\u015f":-2,"t":-4}},"d":{"d":"155,-32v-44,52,-143,50,-143,-60v0,-106,92,-118,143,-74r0,-86v13,0,20,-1,19,17r0,235v-20,5,-20,-9,-19,-32xm31,-93v0,106,90,93,124,42r0,-99v-41,-41,-124,-43,-124,57","w":200},"e":{"d":"30,-93v0,53,25,80,72,80v30,0,48,-10,58,-20r8,0r0,14v-13,10,-34,20,-68,20v-57,0,-88,-36,-88,-94v0,-59,35,-97,83,-97v49,0,80,32,77,97r-142,0xm95,-176v-35,0,-60,23,-64,69r123,0v-1,-50,-24,-69,-59,-69","w":183,"k":{"&":-2,"*":5,"?":9,"x":4,"a":-2,"\u00e2":-2,"\\":14,"-":-4,"w":2,"v":2,"y":2,"z":4,":":-2,";":-2}},"f":{"d":"4,-174r0,-14r25,0v-6,-51,22,-74,67,-63r0,13v-37,-5,-54,8,-49,50r46,0r0,14r-46,0r0,174r-18,0r0,-174r-25,0","w":97,"k":{"&":9,"*":-7,"?":-5,"@":5,")":-5,"a":4,"\u00e2":4,"\\":-4,"d":5,"q":5,"-":9,"+":5,"z":4,"]":-4,"}":-4,":":5,";":5,"g":5,"\u011f":5,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,",":22,".":22,"s":2,"\u015f":2,"\/":16}},"g":{"d":"174,-188r0,186v6,69,-111,73,-152,45r0,-14v36,17,134,36,133,-32r0,-32v-44,54,-143,50,-143,-59v0,-103,93,-116,143,-72v1,-13,4,-24,19,-22xm31,-94v0,107,89,90,124,41r0,-97v-41,-42,-124,-42,-124,56","k":{"?":11,"\\":14,"j":-2}},"h":{"d":"44,-235r0,77v21,-17,49,-32,82,-32v26,0,49,11,49,50r0,140r-18,0r0,-138v-6,-68,-85,-28,-113,-5r0,143r-18,0r0,-252v13,0,19,-1,18,17","k":{"*":7,"?":14,"\\":14,"w":4,"v":4,"y":4}},"i":{"d":"45,0r-18,0r0,-188v14,0,18,0,18,20r0,168xm36,-216v-7,0,-12,-6,-12,-13v0,-6,5,-12,12,-12v7,0,12,6,12,12v0,7,-5,13,-12,13","w":71,"k":{"\\":9}},"j":{"d":"-8,58r0,-13v22,2,36,-5,35,-26r0,-207v14,0,18,0,18,20r0,187v1,31,-21,45,-53,39xm36,-216v-7,0,-12,-6,-12,-13v0,-6,5,-12,12,-12v7,0,12,6,12,12v0,7,-5,13,-12,13","w":71,"k":{"\\":9,"j":-2}},"k":{"d":"44,-235r0,153r97,-106r14,0r0,8r-65,71r71,102r0,7r-16,0r-67,-97r-34,36r0,61r-18,0r0,-252v13,0,19,-1,18,17","w":171,"k":{"&":5,"*":2,"!":2,"?":5,"@":4,"a":2,"\u00e2":2,"\\":9,"d":7,"q":7,"-":11,"+":11,"v":2,"y":2,"g":7,"\u011f":7,"c":9,"e":9,"o":9,"\u00e7":9,"\u00f6":9,",":-4,".":-4,"s":2,"\u015f":2,"\/":-2,"u":2,"\u00fc":2}},"l":{"d":"44,0r-18,0r0,-252v14,0,18,-2,18,17r0,235","w":70},"m":{"d":"44,-159v25,-25,103,-55,119,0v29,-30,122,-58,122,15r0,144r-18,0r0,-139v-3,-65,-79,-28,-102,-5r0,144r-18,0r0,-139v-5,-64,-79,-30,-103,-5r0,144r-18,0r0,-188v18,-4,19,8,18,29","w":309,"k":{"*":7,"?":14,"\\":14,"w":4,"v":4,"y":4}},"n":{"d":"44,-158v21,-17,49,-32,82,-32v26,0,49,11,49,50r0,140r-18,0r0,-138v-6,-68,-85,-28,-113,-5r0,143r-18,0r0,-188v19,-5,19,8,18,30","k":{"*":7,"?":14,"\\":14,"w":4,"v":4,"y":4}},"o":{"d":"99,1v-52,0,-87,-36,-87,-95v0,-59,35,-96,87,-96v53,0,87,37,87,96v0,59,-34,95,-87,95xm99,-13v43,0,69,-30,69,-81v0,-51,-26,-82,-69,-82v-42,0,-69,31,-69,82v0,51,27,81,69,81","w":198,"k":{"*":13,"!":2,"?":14,"x":7,"\\":18,"-":-4,"+":-2,"w":4,"v":4,"y":4,"z":5,",":5,".":5,"s":2,"\u015f":2}},"p":{"d":"44,-154v40,-50,143,-60,143,57v0,107,-90,115,-143,75r0,80r-18,0r0,-246v20,-6,18,12,18,34xm169,-95v0,-111,-90,-88,-125,-41r0,97v42,40,126,41,125,-56","k":{"*":7,"!":2,"?":13,"x":5,"\\":16,"-":-4,"+":-2,"w":4,"v":4,"y":4,"z":7,",":5,".":5,"\/":2}},"q":{"d":"155,58r0,-91v-44,52,-143,50,-143,-60v0,-106,94,-117,144,-73v2,-15,4,-24,18,-22r0,246r-19,0xm31,-94v0,107,90,92,124,42r0,-98v-41,-41,-124,-43,-124,56","k":{"?":7,"\\":11,"j":-5,"\/":-2}},"r":{"d":"44,-155v16,-19,38,-38,70,-33r0,15v-31,-5,-54,16,-70,35r0,138r-18,0r0,-188v20,-6,18,12,18,33","w":123,"k":{"&":13,"*":-5,"?":4,"@":5,"a":7,"\u00e2":7,"\\":5,"d":7,"q":7,"-":7,"+":5,"w":-4,"v":-5,"y":-5,"z":4,":":5,";":5,"f":-4,"g":7,"\u011f":7,"m":4,"n":4,"p":4,"r":4,"\u0131":4,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,",":23,".":23,"s":4,"\u015f":4,"\/":22,"t":-4}},"s":{"d":"73,1v-32,0,-49,-9,-60,-17v1,-7,-3,-18,7,-15v16,24,113,28,103,-22v0,-22,-12,-31,-50,-37v-36,-6,-59,-18,-59,-50v0,-55,89,-60,118,-36v-1,7,3,18,-7,15v-17,-21,-94,-23,-94,20v0,22,13,30,49,36v39,6,61,18,61,51v0,35,-21,55,-68,55","w":153,"k":{"*":4,"!":2,"?":11,"@":-2,"x":2,"\\":14,"d":-2,"q":-2,"-":4,"+":4,"v":2,"y":2,"z":4,"f":-4,"g":-2,"\u011f":-2,"t":-4}},"t":{"d":"4,-174r0,-14r25,0r0,-52r18,0r0,52r50,0r0,14r-50,0r0,131v-2,31,24,31,54,30r0,12v-35,6,-72,2,-72,-40r0,-133r-25,0","w":106,"k":{"*":-2,"?":-2,"@":-2,")":-2,"x":-4,"\\":5,"-":4,"+":4,"w":-2,"v":-2,"y":-2,"z":-2,"]":-4,"}":-4,":":-2,";":-2,"f":4,"c":4,"e":4,"o":4,"\u00e7":4,"\u00f6":4,",":-7,".":-7,"s":-2,"\u015f":-2,"\/":-4}},"u":{"d":"171,0v-19,4,-18,-7,-18,-27v-35,29,-129,55,-129,-20r0,-141r18,0r0,139v5,66,83,28,111,7r0,-146r18,0r0,188","w":197,"k":{"?":9,"\\":11}},"v":{"d":"81,0v-23,-64,-53,-120,-72,-188r17,0r65,164r64,-164v7,1,19,-3,15,7r-72,181r-17,0","w":178,"k":{"&":11,"*":-2,"?":5,"@":2,")":4,"a":2,"\u00e2":2,"\\":7,"d":4,"q":4,"-":9,"z":4,":":9,";":9,"f":-5,"g":2,"\u011f":2,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,",":23,".":23,"\/":14,"t":-7}},"w":{"d":"64,0r-54,-181r0,-7r16,0r48,161r50,-161r15,0r49,161r47,-161v7,1,18,-3,15,7r-54,181r-16,0r-50,-159r-49,159r-17,0","w":260,"k":{"&":5,"*":-5,"?":5,")":4,"a":5,"\u00e2":5,"\\":7,"d":2,"q":2,"-":4,"z":4,":":4,";":4,"f":-2,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,",":16,".":16,"s":2,"\u015f":2,"\/":9,"t":-4}},"x":{"d":"25,0v-7,-1,-18,3,-15,-7r63,-91r-60,-83r0,-7r16,0r57,79r53,-79v7,1,18,-3,15,7r-57,83r66,91r0,7r-16,0r-62,-86","w":172,"k":{"?":9,"&":2,"!":2,"a":4,"\u00e2":4,"\\":13,"d":5,"q":5,"-":14,"+":11,":":-4,";":-4,"f":-2,"g":4,"\u011f":4,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,",":-4,".":-4,"s":2,"\u015f":2,"\/":-2,"t":-2}},"y":{"d":"71,58v-6,-1,-18,4,-16,-5r29,-66v-24,-60,-55,-112,-75,-175r17,0r67,154r63,-154v6,1,20,-3,16,6","w":181,"k":{"&":11,"*":-2,"?":5,"@":2,")":4,"a":2,"\u00e2":2,"\\":7,"d":4,"q":4,"-":9,"z":4,":":9,";":9,"f":-5,"g":2,"\u011f":2,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,",":23,".":23,"\/":14,"t":-7}},"z":{"d":"12,0r0,-14r125,-160r-117,0r0,-14r137,0r0,15r-125,159r123,0r0,14r-143,0","w":164,"k":{"&":4,"*":-7,"?":4,"@":4,"a":2,"\u00e2":2,"\\":4,"d":2,"q":2,"-":4,"+":4,"w":-2,"f":-4,"g":2,"\u011f":2,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,",":-2,".":-2,"t":-2}},"{":{"d":"102,18v-76,13,-60,-58,-61,-117v1,-17,-14,-23,-33,-21r0,-15v81,12,-25,-150,94,-132r0,15v-25,-1,-43,1,-43,26v0,38,10,92,-22,99v35,6,22,65,22,103v0,24,18,29,43,27r0,15","w":110,"k":{"V":-2,"X":-2,"5":-5,"4":5,"1":-4,"3":-2,"2":-4,"T":-2,"W":-2,"Y":-5,"Z":-2,"7":-2,"j":-4}},"|":{"d":"45,-267r0,285r-16,0r0,-285r16,0","w":73},"}":{"d":"102,-120v-85,-9,29,152,-93,138r0,-15v25,2,42,-3,42,-27v0,-39,-11,-96,22,-104v-34,-5,-22,-62,-22,-98v0,-25,-17,-27,-42,-26r0,-15v36,-2,60,5,60,41v0,37,-20,98,33,91r0,15","w":110},"~":{"d":"9,-85v-1,-20,11,-32,27,-33v0,0,52,33,59,-2v7,0,17,-3,14,7v-3,15,-13,26,-28,26v-23,-1,-52,-34,-58,2r-14,0","w":118},"\u00a3":{"d":"10,0r0,-15v33,-14,36,-61,26,-102r-25,0r0,-14r22,0v-19,-63,-6,-123,68,-122v28,0,48,8,64,22r0,14r-9,0v-26,-33,-112,-28,-112,31v0,17,3,36,7,55r74,0r0,14r-71,0v9,38,7,85,-21,101r136,0r0,16r-159,0","w":182,"k":{"8":4,"6":7,"5":-2,"4":11,"3":-2,"2":-2,"0":7,"7":4}},"'":{"d":"13,-189r-3,-63r19,0v0,22,-2,42,-3,63r-13,0","w":38},"`":{"d":"83,-212v2,8,-5,6,-11,6r-34,-39r0,-7r18,0","w":149},"\u0131":{"d":"45,0r-18,0r0,-188v14,0,18,0,18,20r0,168","w":71,"k":{"?":9,"\\":11}},"\u00bd":{"d":"240,-14r0,14r-88,0r0,-14v21,-21,69,-54,71,-83v2,-31,-48,-30,-60,-12r-7,0v-1,-23,20,-26,41,-26v26,0,43,15,43,37v0,29,-46,63,-68,84r68,0xm55,-118r-17,0r0,-116v-12,5,-19,14,-34,16r0,-12v17,-7,26,-22,51,-22r0,134xm209,-262r-178,274r-17,0r178,-274r17,0","w":247},"\u00c2":{"d":"11,0r0,-8r88,-244r23,0r88,244r0,8r-17,0r-29,-79r-109,0r-28,79r-16,0xm110,-231v-19,43,-33,91,-50,136r99,0xm71,-260v3,-21,23,-25,32,-40v28,-2,30,23,46,33r0,7v-22,1,-25,-17,-39,-25v-13,8,-17,26,-39,25","w":220},"\u00c7":{"d":"209,-30v-17,16,-44,32,-86,31r0,13v18,1,29,10,29,25v0,26,-41,29,-56,16r0,-11v12,0,36,15,40,-5v1,-9,-12,-15,-26,-13r0,-26v-55,-7,-93,-51,-93,-127v0,-119,118,-155,188,-101r0,15r-9,0v-14,-14,-32,-25,-67,-25v-52,0,-92,38,-92,111v0,74,35,113,89,113v38,0,60,-14,75,-30r8,0r0,14","w":221,"k":{"?":-2,"@":-2,")":-5,"x":4,"A":-2,"\u00c2":-2,"J":-2,"S":-7,"\u015e":-7,"T":4,"W":-4,"Y":-2,"Z":4,"a":-5,"\u00e2":-5,"+":4,"w":2,"v":4,"y":4,"]":-5,"}":-5,":":-4,";":-4,",":-11,".":-11}},"\u00d6":{"d":"102,-264v-7,0,-12,-5,-12,-12v0,-6,5,-12,12,-12v7,0,12,6,12,12v0,7,-5,12,-12,12xm154,-264v-6,0,-12,-5,-12,-12v0,-6,6,-12,12,-12v7,0,12,6,12,12v0,7,-5,12,-12,12xm129,1v-62,0,-114,-44,-114,-127v0,-82,52,-127,114,-127v61,0,112,45,112,127v0,83,-51,127,-112,127xm129,-14v52,0,92,-38,92,-112v0,-74,-40,-112,-92,-112v-53,0,-94,38,-94,112v0,74,41,112,94,112","w":256,"k":{"V":11,"*":4,"?":7,"x":4,"X":14,"A":9,"\u00c2":9,"J":9,"T":18,"W":5,"Y":14,"Z":16,"\\":7,"-":-4,"+":-4,"z":7,"f":-2,",":13,".":13,"s":-2,"\u015f":-2,"\/":5}},"\u00dc":{"d":"96,-264v-7,0,-12,-5,-12,-12v0,-6,5,-12,12,-12v7,0,12,6,12,12v0,7,-5,12,-12,12xm147,-264v-6,0,-12,-5,-12,-12v0,-6,6,-12,12,-12v7,0,12,6,12,12v0,7,-5,12,-12,12xm123,-14v40,0,72,-16,72,-71r0,-167r19,0r0,167v0,63,-40,86,-92,86v-51,0,-93,-22,-93,-86r0,-167r19,0r0,167v0,54,34,71,75,71","w":242,"k":{"x":7,"X":5,"A":9,"\u00c2":9,"J":9,"Z":7,"a":4,"\u00e2":4,"d":2,"q":2,"w":2,"v":4,"y":4,"z":5,"g":2,"\u011f":2,"i":4,"j":4,"c":4,"e":4,"o":4,"\u00e7":4,"\u00f6":4,",":11,".":11,"s":4,"\u015f":4,"\/":7,"t":2,"u":2,"\u00fc":2}},"\u00e2":{"d":"153,0v-17,3,-19,-8,-18,-26v-27,41,-125,39,-125,-27v0,-55,74,-63,125,-49v4,-43,-4,-73,-46,-73v-34,0,-44,13,-66,16r0,-15v34,-21,130,-31,130,37r0,137xm29,-54v2,63,88,45,106,11r0,-46v-39,-10,-107,-11,-106,35xm60,-206v-6,0,-12,1,-10,-7r33,-39r14,0v10,16,29,24,33,46v-24,0,-26,-22,-41,-32","w":177,"k":{"*":7,"?":14,"\\":14,"w":4,"v":4,"y":4}},"\u00e7":{"d":"81,0v-44,-7,-69,-42,-69,-94v0,-85,95,-119,147,-78r0,15v-22,-2,-25,-18,-59,-18v-42,0,-70,30,-70,81v0,51,26,81,70,81v29,0,45,-12,54,-22r9,0v2,33,-32,32,-69,36r0,13v18,1,28,10,28,25v0,26,-41,29,-55,16r0,-11v12,0,35,15,40,-5v1,-9,-12,-15,-26,-13r0,-26","w":172,"k":{"V":7,"&":-2,"?":4,"@":-2,")":-5,"A":-2,"\u00c2":-2,"S":-2,"\u015e":-2,"T":31,"W":9,"Y":14,"a":-2,"\u00e2":-2,"\\":7,"+":4,"]":-2,"}":-2,":":-4,";":-4,"f":-4,",":-7,".":-7,"s":-2,"\u015f":-2,"t":-4}},"\u00f6":{"d":"73,-216v-7,0,-12,-6,-12,-12v0,-7,5,-12,12,-12v7,0,12,5,12,12v0,6,-5,12,-12,12xm125,-216v-6,0,-12,-6,-12,-12v0,-7,6,-12,12,-12v7,0,12,5,12,12v0,6,-5,12,-12,12xm99,1v-52,0,-87,-36,-87,-95v0,-59,35,-96,87,-96v53,0,87,37,87,96v0,59,-34,95,-87,95xm99,-13v43,0,69,-30,69,-81v0,-51,-26,-82,-69,-82v-42,0,-69,31,-69,82v0,51,27,81,69,81","w":198,"k":{"*":13,"!":2,"?":14,"x":7,"\\":18,"-":-4,"+":-2,"w":4,"v":4,"y":4,"z":5,",":5,".":5,"s":2,"\u015f":2}},"\u00fc":{"d":"171,0v-19,4,-18,-7,-18,-27v-35,29,-129,55,-129,-20r0,-141r18,0r0,139v5,66,83,28,111,7r0,-146r18,0r0,188xm72,-216v-7,0,-12,-6,-12,-12v0,-7,5,-12,12,-12v7,0,13,5,13,12v0,6,-6,12,-13,12xm124,-216v-6,0,-12,-6,-12,-12v0,-7,6,-12,12,-12v7,0,12,5,12,12v0,6,-5,12,-12,12","w":197,"k":{"?":9,"\\":11}},"\u20ac":{"d":"136,-100r-84,0v7,57,35,86,79,86v34,0,52,-13,64,-24r9,0r0,12v-15,14,-36,27,-74,27v-53,0,-90,-34,-98,-101r-26,0r0,-14r25,0r0,-26r-25,0r0,-14r27,0v6,-93,104,-123,166,-79r0,14v-24,-3,-30,-19,-65,-19v-42,0,-74,29,-82,84r95,0r-3,14r-93,0v-1,8,-1,18,0,26r88,0","w":213,"k":{"5":-4,"4":4,"3":-2,"2":-2,"0":2,"7":-2}},"\u011e":{"d":"91,-298r13,0v2,15,11,22,27,22v16,0,27,-7,28,-22v6,0,14,-3,13,7v-5,39,-85,41,-81,-7xm131,1v-71,0,-116,-43,-116,-128v0,-118,114,-151,192,-107r0,17r-10,0v-13,-13,-33,-21,-64,-21v-56,0,-97,35,-97,111v0,106,88,133,159,99r0,-80r-56,0r0,-15r75,0r0,104v-17,10,-42,20,-83,20","w":241,"k":{"V":9,"*":9,"!":2,"?":5,"x":5,"X":5,"A":5,"\u00c2":5,"T":14,"W":5,"Y":11,"Z":5,"\\":7,"d":2,"q":2,"w":7,"v":11,"y":11,"z":7,"i":4,"j":4,"s":4,"\u015f":4,"\/":4,"t":2,"u":5,"\u00fc":5,"U":4,"\u00dc":4,"b":4,"h":4,"k":4,"l":4}},"\u0130":{"d":"51,0r-19,0r0,-252r19,0r0,252xm42,-264v-7,0,-12,-6,-12,-12v0,-7,5,-13,12,-13v6,0,12,6,12,13v0,6,-6,12,-12,12","w":82},"\u015e":{"d":"170,-69v0,48,-33,69,-80,70r0,13v18,1,28,10,28,25v0,26,-41,29,-55,16r0,-11v12,0,35,15,40,-5v1,-9,-12,-15,-26,-13r0,-25v-32,-1,-54,-11,-69,-23r0,-17r9,0v23,33,134,41,134,-29v0,-37,-30,-44,-66,-54v-45,-12,-71,-26,-71,-67v0,-36,27,-64,76,-64v32,0,53,7,68,19r0,17r-9,0v-23,-32,-127,-27,-116,26v0,35,24,43,58,52v51,13,79,26,79,70","w":183,"k":{"V":5,"&":-2,"*":11,"?":5,"x":2,"X":4,"T":7,"W":5,"Y":5,"Z":4,"a":-4,"\u00e2":-4,"\\":4,"d":-4,"q":-4,"-":-4,"+":4,"w":4,"v":5,"y":5,"g":-4,"\u011f":-4,"b":-2,"h":-2,"k":-2,"l":-2}},"\u011f":{"d":"174,-188r0,186v6,69,-111,73,-152,45r0,-14v36,17,134,36,133,-32r0,-32v-44,54,-143,50,-143,-59v0,-103,93,-116,143,-72v1,-13,4,-24,19,-22xm31,-94v0,107,89,90,124,41r0,-97v-41,-42,-124,-42,-124,56xm97,-207v-24,0,-40,-16,-40,-40r13,0v2,16,11,26,27,26v16,0,27,-10,28,-26v6,0,16,-2,13,7v-4,18,-18,33,-41,33","k":{"?":11,"\\":14,"j":-2}},"\u015f":{"d":"141,-54v0,33,-20,54,-64,55r0,13v18,1,29,10,29,25v0,26,-41,29,-56,16r0,-11v12,0,36,15,40,-5v1,-9,-12,-15,-26,-13r0,-25v-27,-1,-41,-10,-51,-17v1,-7,-3,-18,7,-15v16,24,113,28,103,-22v0,-22,-12,-31,-50,-37v-36,-6,-59,-18,-59,-50v0,-55,89,-60,118,-36v-1,7,3,18,-7,15v-17,-21,-94,-23,-94,20v0,22,13,30,49,36v39,6,61,18,61,51","w":153,"k":{"*":4,"!":2,"?":11,"@":-2,"x":2,"\\":14,"d":-2,"q":-2,"-":4,"+":4,"v":2,"y":2,"z":4,"f":-4,"g":-2,"\u011f":-2,"t":-4}},"\u00a0":{"w":86}}});
/*!
* The following copyright notice may not be removed under any circumstances.
*
* Copyright:
* Copyright (c) Christian Schwartz, 2007. All rights reserved.
*
* Trademark:
* Stag is a trademark of Christian Schwartz.
*
* Full name:
* StagSans-Medium
*
* Manufacturer:
* Schwartzco, Inc.
*
* Designer:
* Christian Schwartz
*
* Vendor URL:
* http://christianschwartz.com
*/
Cufon.registerFont({"w":212,"face":{"font-family":"Stag Sans Medium","font-weight":500,"font-stretch":"normal","units-per-em":"360","panose-1":"2 11 6 3 4 0 0 2 0 4","ascent":"288","descent":"-72","x-height":"3","bbox":"-14 -316 322 63.0964","underline-thickness":"18","underline-position":"-18","stemh":"37","stemv":"53","unicode-range":"U+0020-U+20AC"},"glyphs":{" ":{"w":68},"!":{"d":"34,-74r-11,-178r56,0v0,63,-8,118,-11,178r-34,0xm51,2v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29","w":102},"\"":{"d":"18,-171v-4,-26,-11,-49,-9,-81r49,0v1,31,-5,55,-9,81r-31,0xm84,-171v-4,-26,-11,-49,-9,-81r48,0v1,31,-5,55,-9,81r-30,0","w":132},"#":{"d":"20,-149r0,-40r33,0r9,-63r37,0r-9,63r34,0r10,-63r36,0r-9,63r27,0r0,40r-33,0r-5,38r27,0r0,39r-33,0r-10,72r-37,0r10,-72r-34,0r-11,72r-36,0r10,-72r-27,0r0,-39r33,0r5,-38r-27,0xm84,-149r-6,38r35,0r5,-38r-34,0","w":196},"$":{"d":"112,-275r0,21v23,2,40,8,56,17r0,40v-28,3,-34,-19,-56,-20r0,68v51,14,73,30,73,75v0,44,-27,71,-77,76r0,35r-32,0r0,-34v-28,-2,-47,-9,-66,-21r0,-43r18,0v9,11,25,23,48,26r0,-74v-44,-14,-69,-31,-69,-72v0,-44,30,-68,73,-73r0,-21r32,0xm137,-67v0,-19,-10,-26,-29,-32r0,63v20,-4,29,-16,29,-31xm80,-216v-37,6,-36,50,0,58r0,-58","w":194,"k":{"9":4,"1":4,"7":4}},"%":{"d":"70,-150v14,0,23,-12,23,-38v0,-27,-9,-37,-23,-37v-14,0,-22,10,-22,37v0,26,8,38,22,38xm70,-120v-33,0,-64,-22,-64,-68v0,-46,31,-67,64,-67v33,0,64,21,64,67v0,46,-31,68,-64,68xm80,12r-40,0r178,-274r39,0xm228,-27v14,0,23,-11,23,-37v0,-27,-9,-38,-23,-38v-14,0,-22,11,-22,38v0,26,8,37,22,37xm228,3v-33,0,-63,-22,-63,-68v0,-46,30,-67,63,-67v33,0,64,21,64,67v0,46,-31,68,-64,68","w":298},"&":{"d":"186,0r-19,-21v-47,45,-159,24,-159,-50v0,-34,24,-58,52,-71v-32,-52,-4,-113,69,-113v27,0,43,7,55,16r0,39v-27,4,-28,-15,-55,-14v-37,1,-38,42,-11,62r52,59v7,-18,13,-38,14,-59r45,0v-1,38,-16,66,-29,92r40,45r0,15r-54,0xm63,-76v0,37,53,53,78,27r-60,-67v-11,9,-18,21,-18,40","w":245,"k":{"V":20,"8":2,"4":4,"2":-4,"1":7,"0":2,"S":-5,"\u015e":-5,"T":31,"W":13,"Y":22,"d":2,"q":2,"f":-2,"c":4,"e":4,"o":4,"\u00e7":4,"\u00f6":4,"s":-2,"\u015f":-2,"w":4,"v":7,"y":7,"z":-2,"7":18,"Z":-5,"t":2,"u":2,"\u00fc":2,"U":2,"\u00dc":2}},"(":{"d":"114,-267r0,35v-24,9,-53,36,-53,106v0,75,29,100,53,109r0,35v-61,-4,-103,-48,-103,-144v0,-93,43,-137,103,-141","w":121,"k":{"X":-4,"V":-4,"9":-2,"5":-7,"4":7,"3":-7,"2":-4,"1":-4,"S":-4,"\u015e":-4,"T":-4,"W":-4,"Y":-5,"w":4,"v":4,"y":4,"z":-2,"7":-4,"J":-4,"Z":-4,"j":-14}},")":{"d":"8,-232r0,-35v61,4,102,48,102,141v0,96,-42,140,-102,144r0,-35v24,-9,52,-34,52,-109v0,-70,-28,-97,-52,-106","w":121},"*":{"d":"89,-252v2,19,-5,30,-9,44v12,-8,22,-17,38,-21r13,38v-11,5,-26,6,-42,5v12,9,24,17,32,30r-33,23v-10,-10,-14,-26,-19,-41v-5,15,-10,30,-20,41r-32,-23v7,-14,20,-21,32,-30v-17,1,-32,0,-43,-5r13,-38v16,3,27,13,38,21v-4,-14,-10,-25,-8,-44r40,0","w":137,"k":{"X":4,"8":5,"6":4,"5":-4,"4":25,"3":4,"2":4,"1":-7,"0":4,"A":32,"\u00c2":32,"W":-2,"a":5,"\u00e2":5,"d":11,"q":11,"f":-4,"g":7,"\u011f":7,"c":13,"e":13,"o":13,"\u00e7":13,"\u00f6":13,"s":4,"\u015f":4,"w":-7,"v":-7,"y":-7,"z":2,"J":36,"C":4,"G":4,"O":4,"Q":4,"\u00c7":4,"\u00d6":4,"\u011e":4,"Z":4,"t":-5}},"+":{"d":"181,-104r-64,0r0,68r-44,0r0,-68r-64,0r0,-41r64,0r0,-68r44,0r0,68r64,0r0,41","w":190,"k":{"V":16,"x":7,"X":14,"4":-5,"1":4,"6":-7,"3":11,"2":7,"0":-7,"A":14,"\u00c2":14,"T":29,"W":7,"Y":18,"a":4,"\u00e2":4,"d":-4,"q":-4,"f":-4,"g":-4,"\u011f":-4,"c":-4,"e":-4,"o":-4,"\u00e7":-4,"\u00f6":-4,"s":-4,"\u015f":-4,"z":2,"7":18,"J":23,"C":-4,"G":-4,"O":-4,"Q":-4,"\u00c7":-4,"\u00d6":-4,"\u011e":-4,"Z":4,"t":-4}},",":{"d":"33,2v-3,-13,-22,-13,-22,-33v0,-14,12,-25,28,-25v17,0,32,12,32,35v0,37,-20,57,-61,61r0,-23v15,-2,23,-9,23,-15","w":80,"k":{"j":-4,"V":32,"X":-2,"5":-7,"4":4,"9":4,"1":22,"6":11,"3":-7,"2":-9,"0":7,"A":-5,"\u00c2":-5,"S":-7,"\u015e":-7,"T":38,"W":23,"Y":34,"d":5,"q":5,"f":4,"g":5,"\u011f":5,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"s":-4,"\u015f":-4,"w":18,"v":27,"y":27,"z":-4,"7":13,"J":-7,"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d6":11,"\u011e":11,"Z":-7,"t":7,"u":5,"\u00fc":5,"U":9,"\u00dc":9}},"-":{"d":"13,-86r0,-43r83,0r0,43r-83,0","w":109,"k":{"V":23,"x":13,"X":22,"4":-4,"9":4,"1":11,"6":-4,"3":11,"2":7,"0":-4,"8":-2,"A":13,"\u00c2":13,"S":2,"\u015e":2,"T":32,"W":13,"Y":29,"a":5,"\u00e2":5,"d":-4,"q":-4,"f":-4,"c":-4,"e":-4,"o":-4,"\u00e7":-4,"\u00f6":-4,"s":-4,"\u015f":-4,"w":4,"v":9,"y":9,"z":7,"7":20,"J":14,"C":-4,"G":-4,"O":-4,"Q":-4,"\u00c7":-4,"\u00d6":-4,"\u011e":-4,"Z":7}},".":{"d":"40,2v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29","w":80,"k":{"V":32,"X":-2,"5":-7,"4":4,"9":4,"1":22,"6":11,"3":-7,"2":-9,"0":7,"A":-5,"\u00c2":-5,"S":-7,"\u015e":-7,"T":38,"W":23,"Y":34,"d":5,"q":5,"f":4,"g":5,"\u011f":5,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"s":-4,"\u015f":-4,"w":18,"v":27,"y":27,"z":-4,"7":13,"J":-7,"C":11,"G":11,"O":11,"Q":11,"\u00c7":11,"\u00d6":11,"\u011e":11,"Z":-7,"j":-4,"t":7,"u":5,"\u00fc":5,"U":9,"\u00dc":9}},"\/":{"d":"125,-267r0,11r-84,274r-40,0r0,-11r84,-274r40,0","w":126,"k":{"V":-4,"x":14,"5":-4,"4":27,"1":-4,"6":9,"3":4,"0":7,"8":7,"A":27,"\u00c2":27,"T":-7,"W":-4,"Y":-4,"a":22,"\u00e2":22,"d":18,"q":18,"f":4,"g":18,"\u011f":18,"c":20,"e":20,"o":20,"\u00e7":20,"\u00f6":20,"s":16,"\u015f":16,"w":9,"v":7,"y":7,"z":14,"7":-7,"J":29,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d6":7,"\u011e":7,"i":5,"j":5,"m":14,"n":14,"p":14,"r":14,"\u0131":14,"\/":20,"t":2,"u":13,"\u00fc":13}},"0":{"d":"120,3v-58,0,-109,-42,-109,-129v0,-87,51,-129,109,-129v58,0,109,42,109,129v0,87,-51,129,-109,129xm120,-36v32,0,52,-23,52,-89v0,-66,-20,-90,-52,-90v-32,0,-52,24,-52,90v0,66,20,89,52,89","w":240,"k":{"?":5,">":-4,"<":-4,"9":2,"3":5,"2":4,"*":4,"\\":7,"-":-4,"+":-7,"7":13,",":7,".":7,"\/":7}},"1":{"d":"107,0r-56,0r0,-193v-15,6,-23,18,-45,16r0,-38r63,-37r38,0r0,252","w":136,"k":{"7":4}},"2":{"d":"181,-44r0,44r-174,0r0,-44v32,-36,113,-93,116,-138v3,-44,-73,-32,-90,-12r-17,0r0,-37v44,-37,163,-36,163,47v0,52,-71,104,-108,140r110,0","w":192,"k":{"\u20ac":4,"<":4,"6":4,"5":-4,"4":7,"&":5,"-":4,":":-4,";":-4,",":-9,".":-9,"\/":-7}},"3":{"d":"178,-72v0,76,-121,93,-171,56r0,-40v32,-4,34,18,68,18v27,0,47,-12,47,-36v0,-31,-28,-37,-64,-35r0,-39v35,2,63,-6,63,-34v0,-46,-69,-33,-86,-15r-19,0r0,-36v44,-34,158,-34,158,46v0,34,-23,45,-46,58v31,5,50,24,50,57","w":187,"k":{"@":-4,"5":-4,"4":-4,"2":2,"-":-4,"7":4}},"4":{"d":"175,0r-55,0r0,-53r-112,0r0,-47r115,-152r52,0r0,159r30,0r0,40r-30,0r0,53xm118,-186r-70,93r72,0v-2,-30,4,-67,-2,-93","w":211,"k":{"@":-4,"?":4,"9":4,"8":-4,"3":-2,"2":-2,"*":9,"&":-7,"\\":7,"7":7,"%":4,"\u00bd":4}},"5":{"d":"183,-82v0,79,-117,106,-174,67r0,-40v32,-4,34,18,69,18v28,0,49,-16,49,-44v0,-52,-61,-47,-77,-24r-33,0r0,-147r152,0r0,44r-112,0v1,19,-2,42,1,59v47,-29,125,-8,125,67","w":192,"k":{"?":4,"9":4,"3":2,"2":4,"1":4,"*":11,"7":9,",":4,".":4,"%":7}},"6":{"d":"112,3v-58,0,-101,-41,-101,-124v0,-108,91,-158,181,-122r0,40v-28,4,-31,-13,-59,-12v-43,0,-61,28,-65,74v48,-40,139,-15,139,59v0,50,-37,85,-95,85xm152,-80v0,-50,-59,-49,-85,-28v1,53,18,74,45,74v30,0,40,-19,40,-46","w":217,"k":{"?":4,"9":4,"6":2,"3":4,"2":2,"1":4,"0":2,"*":4,"&":-4,"!":2,"\\":4,"-":-4,"7":7,",":4,".":4,"%":7}},"7":{"d":"37,0r0,-22r99,-186r-128,0r0,-44r170,0r0,48r-87,204r-54,0","w":187,"k":{"\u20ac":9,"@":13,"?":-5,"<":11,"8":5,"6":7,"4":25,"3":2,"1":-4,"0":5,")":-2,"&":18,"\\":-4,"-":13,"+":7,":":16,";":16,",":29,".":29,"\/":22,"%":-4,"\u00bd":-7}},"8":{"d":"107,3v-104,0,-132,-111,-49,-137r0,-2v-71,-30,-34,-127,49,-119v84,-10,121,93,49,119r0,2v31,10,50,30,50,62v0,46,-36,75,-99,75xm107,-34v30,0,45,-18,45,-41v0,-23,-15,-41,-45,-41v-30,0,-44,18,-44,41v0,23,14,41,44,41xm107,-153v21,0,35,-11,35,-32v0,-21,-14,-32,-35,-32v-22,0,-35,11,-35,32v0,21,13,32,35,32","w":214,"k":{"?":4,">":-4,"9":4,"4":-4,"*":5,"\\":7,"-":-2,"7":7,":":-4,";":-4,"%":4}},"9":{"d":"206,-131v0,108,-88,156,-183,124r0,-42v28,-4,27,12,59,12v48,0,63,-26,67,-71v-53,35,-139,12,-139,-60v0,-50,37,-87,95,-87v58,0,101,41,101,124xm65,-170v0,50,60,46,85,26v-1,-54,-18,-74,-45,-74v-30,0,-40,21,-40,48","w":217,"k":{"?":5,"9":2,"3":5,"2":7,"*":4,"\\":7,"+":-4,"7":13,",":11,".":11,"\/":7}},":":{"d":"40,-102v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29xm40,2v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29","w":80,"k":{"V":20,"5":-4,"1":7,"3":-4,"2":-4,"8":-4,"A":-4,"\u00c2":-4,"S":-5,"\u015e":-5,"T":29,"W":13,"Y":25,"f":-2,"s":-5,"\u015f":-5,"w":4,"v":5,"y":5,"7":14,"J":-7,"Z":-5,"j":-4,"\/":-7,"t":-2}},";":{"d":"32,2v-3,-13,-22,-13,-22,-33v0,-14,13,-25,29,-25v17,0,31,12,31,35v0,37,-19,57,-60,61r0,-23v15,-2,22,-9,22,-15xm40,-102v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29","w":80,"k":{"j":-4,"V":20,"5":-4,"1":7,"3":-4,"2":-4,"8":-4,"A":-4,"\u00c2":-4,"S":-5,"\u015e":-5,"T":29,"W":13,"Y":25,"f":-2,"s":-5,"\u015f":-5,"w":4,"v":5,"y":5,"7":14,"J":-7,"Z":-5,"\/":-7,"t":-2}},"<":{"d":"9,-101r0,-35r139,-69r13,0r0,39r-98,47r98,47r0,40r-13,0","w":171,"k":{"8":-4,"6":-4,"5":-4,"4":-4,"3":-5,"2":-7,"1":-4,"0":-4}},"=":{"d":"172,-130r-161,0r0,-42r161,0r0,42xm172,-55r-161,0r0,-41r161,0r0,41","w":182},">":{"d":"162,-136r0,35r-139,69r-12,0r0,-39r98,-47r-98,-48r0,-39r12,0","w":171,"k":{"9":2,"6":-4,"4":-4,"3":14,"2":7,"1":7,"0":-4,"7":22}},"?":{"d":"151,-190v8,51,-75,70,-70,116r-37,0v-4,-26,-1,-43,23,-66v16,-15,29,-30,29,-49v0,-36,-57,-27,-69,-8r-20,0r0,-39v43,-33,152,-24,144,46xm64,2v-17,0,-29,-13,-29,-29v0,-16,12,-29,29,-29v16,0,30,13,30,29v0,16,-14,29,-30,29","w":161},"@":{"d":"264,23v-91,51,-255,27,-255,-109v0,-100,83,-154,158,-154v76,0,141,43,141,119v0,67,-42,97,-88,97v-29,0,-42,-8,-47,-22v-23,33,-97,32,-92,-29v-8,-55,68,-118,117,-76v8,-12,23,-13,42,-12r-19,87v-3,12,-2,21,10,21v23,0,39,-20,39,-66v0,-54,-41,-87,-103,-87v-60,0,-118,39,-118,122v0,111,132,122,202,78r13,0r0,31xm127,-75v1,29,32,18,44,4r14,-58v-33,-13,-59,17,-58,54","w":316,"k":{"x":7,"X":14,"V":14,"9":2,"8":4,"3":7,"2":4,"A":13,"\u00c2":13,"T":20,"W":11,"Y":18,"d":-2,"q":-2,"f":-5,"g":-2,"\u011f":-2,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"s":-2,"\u015f":-2,"z":4,"7":14,"J":9,"Z":7,"t":-4}},"A":{"d":"8,0r0,-15r83,-237r58,0r84,237r0,15r-54,0r-21,-64r-85,0r-20,64r-45,0xm115,-195v-12,28,-19,62,-30,92r60,0","w":240},"B":{"d":"22,0r0,-252v78,-1,176,-11,176,66v0,32,-22,43,-45,54v32,6,54,23,54,59v0,47,-33,73,-95,73r-90,0xm77,-40v37,2,72,-1,72,-36v0,-36,-34,-38,-72,-36r0,72xm77,-150v33,1,65,2,65,-32v0,-31,-33,-32,-65,-30r0,62","w":217,"k":{"x":2,"X":2,"V":5,"@":-5,"?":4,"*":4,"&":-4,"!":4,"A":4,"\u00c2":4,"S":-5,"\u015e":-5,"T":7,"W":4,"Y":7,"a":-2,"\u00e2":-2,"\\":7,"d":-2,"q":-2,"-":-4,"f":-2,"g":-2,"\u011f":-2,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"+":-4,"s":-2,"\u015f":-2,"w":2,"v":4,"y":4,"z":2}},"C":{"d":"131,3v-73,0,-120,-47,-120,-128v0,-112,112,-158,198,-113r0,42v-33,3,-36,-18,-72,-18v-44,0,-69,31,-69,87v0,96,84,110,126,64r18,0r0,42v-19,14,-46,24,-81,24","w":221,"k":{"?":-4,"@":-4,")":-7,"x":4,"A":-2,"\u00c2":-2,"S":-5,"\u015e":-5,"W":-2,"a":-5,"\u00e2":-5,"+":4,"w":2,"v":4,"y":4,"C":2,"G":2,"O":2,"Q":2,"\u00c7":2,"\u00d6":2,"\u011e":2,"Z":-2,"]":-5,"}":-5,":":-4,";":-4,",":-11,".":-11,"\/":-2}},"D":{"d":"22,0r0,-252r80,0v85,0,132,39,132,125v0,86,-48,127,-134,127r-78,0xm78,-40v66,4,99,-15,99,-86v0,-71,-32,-90,-99,-86r0,172","w":244,"k":{"V":13,"*":4,"?":5,"x":4,"X":14,"A":11,"\u00c2":11,"T":14,"W":7,"Y":16,"a":2,"\u00e2":2,"\\":7,"-":-4,"f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"+":-4,"s":-4,"\u015f":-4,"z":4,"J":9,"Z":7,",":11,".":11,"\/":5,"t":-2}},"E":{"d":"22,0r0,-252r166,0r0,41r-110,0r0,64r79,0r0,38r-79,0r0,69r114,0r0,40r-170,0","w":204,"k":{"&":2,"*":4,")":-5,"S":-4,"\u015e":-4,"d":4,"q":4,"-":5,"g":4,"\u011f":4,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"+":13,"s":-2,"\u015f":-2,"w":9,"v":13,"y":13,"J":-4,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"]":-4,"}":-4,":":-5,";":-5,",":-9,".":-9,"\/":-5,"u":4,"\u00fc":4}},"F":{"d":"78,0r-56,0r0,-252r168,0r0,41r-112,0r0,69r87,0r0,39r-87,0r0,103","w":200,"k":{"x":16,"V":-4,"@":13,"?":-4,")":-4,"&":20,"!":4,"A":25,"\u00c2":25,"T":-4,"W":-4,"Y":-2,"a":14,"\u00e2":14,"\\":-4,"d":16,"q":16,"-":14,"g":16,"\u011f":16,"c":16,"e":16,"o":16,"\u00e7":16,"\u00f6":16,"+":11,"s":13,"\u015f":13,"w":11,"v":11,"y":11,"z":13,"J":29,"C":9,"G":9,"O":9,"Q":9,"\u00c7":9,"\u00d6":9,"\u011e":9,"Z":4,"]":-4,"}":-4,":":5,";":5,"i":4,"j":4,"m":14,"n":14,"p":14,"r":14,"\u0131":14,",":22,".":22,"\/":25,"t":4,"u":16,"\u00fc":16}},"G":{"d":"130,3v-75,0,-120,-46,-120,-128v0,-112,107,-156,199,-115r0,44v-33,2,-33,-17,-71,-17v-44,0,-69,24,-69,86v0,79,36,102,96,87r0,-55r-35,0r0,-36r90,0r0,115v-25,13,-56,19,-90,19","w":239,"k":{"V":11,"*":9,"!":4,"?":5,"x":4,"X":5,"A":4,"\u00c2":4,"T":14,"W":7,"Y":11,"\\":7,"w":5,"v":9,"y":9,"z":4,"Z":2,"i":2,"j":2,"t":2,"u":4,"\u00fc":4,"U":4,"\u00dc":4,"b":2,"h":2,"k":2,"l":2}},"H":{"d":"78,0r-56,0r0,-252r56,0r0,104r93,0r0,-104r56,0r0,252r-56,0r0,-109r-93,0r0,109","w":249},"I":{"d":"80,0r-57,0r0,-252r57,0r0,252","w":103},"J":{"d":"63,3v-26,0,-42,-5,-56,-13r0,-41v27,-4,26,15,54,14v19,0,29,-10,29,-30r0,-185r57,0r0,186v0,44,-28,69,-84,69","w":167,"k":{"x":4,"A":4,"\u00c2":4,"z":4,"J":7,",":7,".":7,"\/":4}},"K":{"d":"22,0r0,-252r56,0r0,111r97,-111r46,0r0,15r-77,85r85,137r0,15r-54,0r-69,-111r-28,31r0,80r-56,0","w":240,"k":{"V":4,"&":7,"*":11,"!":4,"?":2,"@":5,")":-4,"x":4,"T":5,"W":2,"Y":4,"a":4,"\u00e2":4,"d":9,"q":9,"-":22,"f":4,"g":11,"\u011f":11,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,"+":23,"w":14,"v":18,"y":18,"C":18,"G":18,"O":18,"Q":18,"\u00c7":18,"\u00d6":18,"\u011e":18,":":-4,";":-4,"i":4,"j":2,",":-5,".":-5,"\/":-4,"t":9,"u":9,"\u00fc":9,"U":7,"\u00dc":7,"b":2,"h":2,"k":2,"l":2}},"L":{"d":"183,0r-161,0r0,-252r56,0r0,212r105,0r0,40","w":193,"k":{"V":31,"*":32,"?":13,")":-4,"T":36,"W":22,"Y":31,"\\":29,"d":5,"q":5,"-":22,"f":4,"g":5,"\u011f":5,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"+":18,"w":18,"v":23,"y":23,"J":-2,"C":18,"G":18,"O":18,"Q":18,"\u00c7":18,"\u00d6":18,"\u011e":18,":":-9,";":-9,"i":4,",":-11,".":-11,"\/":-5,"t":7,"u":5,"\u00fc":5,"U":11,"\u00dc":11}},"M":{"d":"22,0r0,-252r76,0r57,168r56,-168r74,0r0,252r-55,0r-1,-188r-64,188r-34,0r-63,-188r0,188r-46,0","w":307},"N":{"d":"22,0r0,-252r64,0r94,162r0,-162r47,0r0,252r-51,0r-107,-184r0,184r-47,0","w":249},"O":{"d":"131,3v-64,0,-121,-46,-121,-129v0,-83,57,-129,121,-129v64,0,121,46,121,129v0,83,-57,129,-121,129xm131,-36v37,0,64,-27,64,-89v0,-62,-27,-90,-64,-90v-37,0,-63,28,-63,90v0,62,26,89,63,89","w":262,"k":{"V":13,"*":4,"?":5,"x":4,"X":14,"A":11,"\u00c2":11,"T":14,"W":7,"Y":16,"a":2,"\u00e2":2,"\\":7,"-":-4,"f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"+":-4,"s":-4,"\u015f":-4,"z":4,"J":9,"Z":7,",":11,".":11,"\/":5,"t":-2}},"P":{"d":"22,0r0,-252v89,-3,184,-6,184,80v0,63,-52,86,-128,81r0,91r-56,0xm78,-212r0,83v41,3,76,-5,71,-42v5,-37,-30,-44,-71,-41","w":214,"k":{"x":4,"X":7,"@":4,"?":-5,"*":-4,"&":14,"!":2,"A":20,"\u00c2":20,"S":-4,"\u015e":-4,"T":4,"W":-4,"Y":4,"a":4,"\u00e2":4,"d":4,"q":4,"-":4,"f":-5,"g":4,"\u011f":4,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"w":-2,"J":25,"Z":9,",":29,".":29,"\/":18,"t":-4}},"Q":{"d":"262,44v-56,-1,-90,-22,-137,-34v-70,-18,-115,-58,-115,-136v0,-83,57,-129,121,-129v65,0,121,46,121,129v0,56,-26,96,-71,113r81,14r0,43xm131,-36v37,0,64,-27,64,-89v0,-62,-27,-90,-64,-90v-37,0,-63,28,-63,90v0,62,26,89,63,89","w":262,"k":{"}":-7,"z":4,"j":-22,"]":-7,"Z":7,"X":14,"S":-4,"J":9,"A":11,";":-7,":":-4,"\/":5,".":11,",":11,")":-9,"V":13,"*":4,"?":5,"x":4,"\u00c2":11,"T":14,"W":7,"Y":16,"a":2,"\u00e2":2,"\\":7,"-":-4,"f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"+":-4,"s":-4,"\u015f":-4,"t":-2}},"R":{"d":"165,0r-54,-99r-33,0r0,99r-56,0r0,-252v84,-3,182,-6,182,74v0,33,-15,56,-41,69r53,94r0,15r-51,0xm78,-212r0,75v38,2,73,-2,69,-38v3,-34,-31,-40,-69,-37","w":227,"k":{"V":9,"&":5,"*":7,"!":5,"?":2,"@":2,"S":-2,"\u015e":-2,"T":11,"W":4,"Y":11,"a":2,"\u00e2":2,"\\":9,"d":7,"q":7,"-":11,"g":7,"\u011f":7,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"+":9,"s":2,"\u015f":2,"w":5,"v":7,"y":7,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"i":4,"j":4,"m":2,"n":2,"p":2,"r":2,"\u0131":2,",":-4,".":-4,"t":4,"u":5,"\u00fc":5,"U":5,"\u00dc":5}},"S":{"d":"88,3v-36,0,-59,-8,-80,-20r0,-43r19,0v11,26,105,36,105,-8v0,-27,-25,-29,-54,-38v-46,-14,-68,-33,-68,-75v0,-77,107,-89,158,-57r0,40v-30,2,-37,-17,-68,-17v-27,0,-42,9,-42,30v0,20,16,25,46,33v55,14,79,32,79,78v0,49,-33,77,-95,77","w":191,"k":{"V":5,"&":-4,"*":7,"?":5,"x":4,"X":4,"A":2,"\u00c2":2,"T":7,"W":5,"Y":7,"a":-4,"\u00e2":-4,"\\":4,"d":-4,"q":-4,"-":-4,"g":-4,"\u011f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"s":-2,"\u015f":-2,"w":4,"v":5,"y":5,"C":-2,"G":-2,"O":-2,"Q":-2,"\u00c7":-2,"\u00d6":-2,"\u011e":-2,"b":-2,"h":-2,"k":-2,"l":-2}},"T":{"d":"134,0r-57,0r0,-212r-68,0r0,-40r194,0r0,40r-69,0r0,212","w":211,"k":{"V":-2,"&":29,"?":-7,"@":22,")":-4,"x":29,"A":25,"\u00c2":25,"W":-2,"Y":-4,"a":32,"\u00e2":32,"\\":-7,"d":31,"q":31,"-":32,"f":7,"g":31,"\u011f":31,"c":32,"e":32,"o":32,"\u00e7":32,"\u00f6":32,"+":29,"s":29,"\u015f":29,"w":31,"v":25,"y":25,"z":22,"J":27,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d6":14,"\u011e":14,"Z":5,"]":-4,"}":-4,":":29,";":29,"i":7,"j":7,"m":23,"n":23,"p":23,"r":23,"\u0131":23,",":38,".":38,"\/":29,"t":7,"u":23,"\u00fc":23}},"U":{"d":"129,-39v31,0,47,-11,47,-58r0,-155r47,0v-5,114,33,255,-98,255v-68,0,-104,-37,-104,-102r0,-153r56,0r0,155v0,47,20,58,52,58","w":244,"k":{"x":5,"X":2,"A":9,"\u00c2":9,"a":4,"\u00e2":4,"d":2,"q":2,"g":2,"\u011f":2,"c":2,"e":2,"o":2,"\u00e7":2,"\u00f6":2,"s":2,"\u015f":2,"w":2,"z":4,"J":9,"Z":4,"i":4,"j":4,",":9,".":9,"\/":7,"u":2,"\u00fc":2}},"V":{"d":"90,0r-82,-237r0,-15r53,0r62,186r61,-186r46,0r0,15r-82,237r-58,0","w":237,"k":{"x":11,"V":-2,"@":20,")":-4,"&":18,"A":25,"\u00c2":25,"S":2,"\u015e":2,"T":-2,"W":-4,"Y":-2,"a":18,"\u00e2":18,"\\":-4,"d":20,"q":20,"-":23,"f":2,"g":20,"\u011f":20,"c":23,"e":23,"o":23,"\u00e7":23,"\u00f6":23,"+":16,"s":16,"\u015f":16,"w":9,"v":7,"y":7,"z":11,"J":27,"C":13,"G":13,"O":13,"Q":13,"\u00c7":13,"\u00d6":13,"\u011e":13,"Z":5,"]":-4,"}":-4,":":20,";":20,"i":5,"j":5,"m":13,"n":13,"p":13,"r":13,"\u0131":13,",":32,".":32,"\/":25,"t":2,"u":11,"\u00fc":11}},"W":{"d":"64,0r-56,-237r0,-15r54,0r39,183r43,-183r48,0r45,183r38,-183r47,0r0,15r-57,237r-62,0r-38,-165r-38,165r-63,0","w":330,"k":{"V":-4,"&":16,"*":-2,"?":-7,"@":11,")":-4,"x":7,"A":18,"\u00c2":18,"T":-2,"W":-2,"Y":-2,"a":14,"\u00e2":14,"\\":-4,"d":14,"q":14,"-":13,"g":14,"\u011f":14,"c":14,"e":14,"o":14,"\u00e7":14,"\u00f6":14,"+":7,"s":9,"\u015f":9,"w":7,"v":5,"y":5,"z":11,"J":23,"C":7,"G":7,"O":7,"Q":7,"\u00c7":7,"\u00d6":7,"\u011e":7,"Z":5,"]":-4,"}":-4,":":13,";":13,"i":4,"j":4,"m":7,"n":7,"p":7,"r":7,"\u0131":7,",":23,".":23,"\/":14,"u":7,"\u00fc":7}},"X":{"d":"11,0r0,-16r70,-115r-69,-105r0,-16r54,0r56,89r49,-89r45,0r0,16r-64,109r73,111r0,16r-54,0r-60,-96r-54,96r-46,0","w":235,"k":{"V":5,"@":4,"?":4,"*":7,")":-4,"&":9,"!":5,"T":7,"W":5,"Y":7,"a":4,"\u00e2":4,"d":11,"q":11,"-":22,"f":5,"g":9,"\u011f":9,"c":13,"e":13,"o":13,"\u00e7":13,"\u00f6":13,"+":14,"s":4,"\u015f":4,"w":11,"v":14,"y":14,"C":14,"G":14,"O":14,"Q":14,"\u00c7":14,"\u00d6":14,"\u011e":14,"]":-4,"}":-4,"i":4,"j":4,"m":2,"n":2,"p":2,"r":2,"\u0131":2,",":-2,".":-2,"\/":-4,"t":7,"u":7,"\u00fc":7,"U":5,"\u00dc":5}},"Y":{"d":"141,0r-56,0r0,-98r-79,-138r0,-16r53,0r57,106r55,-106r43,0r0,16r-73,137r0,99","w":220,"k":{"V":-2,"&":23,"!":2,"?":-7,"@":22,")":-5,"x":16,"A":27,"\u00c2":27,"S":2,"\u015e":2,"T":-4,"W":-2,"Y":-2,"a":22,"\u00e2":22,"\\":-4,"d":27,"q":27,"-":29,"f":4,"g":27,"\u011f":27,"c":27,"e":27,"o":27,"\u00e7":27,"\u00f6":27,"+":18,"s":20,"\u015f":20,"w":14,"v":14,"y":14,"z":14,"J":32,"C":16,"G":16,"O":16,"Q":16,"\u00c7":16,"\u00d6":16,"\u011e":16,"Z":7,"]":-4,"}":-4,":":25,";":25,"i":5,"j":5,"m":14,"n":14,"p":14,"r":14,"\u0131":14,",":34,".":34,"\/":25,"t":7,"u":16,"\u00fc":16}},"Z":{"d":"9,0r0,-42r120,-170r-111,0r0,-40r171,0r0,44r-121,169r121,0r0,39r-180,0","w":199,"k":{"V":-2,"&":2,"*":-4,"?":-4,"@":2,")":-4,"A":2,"\u00c2":2,"S":-2,"\u015e":-2,"W":-4,"a":-2,"\u00e2":-2,"\\":-7,"d":4,"q":4,"-":13,"f":-4,"g":4,"\u011f":4,"c":4,"e":4,"o":4,"\u00e7":4,"\u00f6":4,"+":5,"s":-2,"\u015f":-2,"w":5,"v":4,"y":4,"z":-2,"J":4,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"]":-4,"}":-4,":":-4,";":-4,",":-5,".":-5,"\/":-5,"u":2,"\u00fc":2}},"[":{"d":"25,18r0,-285r86,0r0,35r-37,0r0,215r37,0r0,35r-86,0","w":121,"k":{"V":-4,"X":-4,"5":-5,"4":5,"1":-4,"3":-4,"2":-4,"S":-2,"\u015e":-2,"T":-4,"W":-4,"Y":-4,"s":-2,"\u015f":-2,"z":-2,"7":-4,"Z":-4,"j":-11}},"\\":{"d":"2,-256r0,-11r40,0r84,274r0,11r-40,0","w":126,"k":{"p":-4,"V":25,"x":-4,"X":-4,"5":-5,"4":4,"9":5,"1":9,"6":4,"3":-7,"2":-11,"0":7,"A":-4,"\u00c2":-4,"T":29,"W":14,"Y":25,"d":2,"q":2,"s":-4,"\u015f":-4,"w":11,"v":14,"y":14,"z":-4,"7":11,"J":-5,"C":5,"G":5,"O":5,"Q":5,"\u00c7":5,"\u00d6":5,"\u011e":5,"Z":-7,"j":-22,"t":4,"U":7,"\u00dc":7}},"]":{"d":"96,-267r0,285r-85,0r0,-35r37,0r0,-215r-37,0r0,-35r85,0","w":121},"^":{"d":"7,-163r0,-12r51,-77r38,0r52,77r0,12r-38,0v-11,-15,-20,-32,-33,-46r-32,46r-38,0","w":154},"_":{"d":"135,58r-136,0r0,-33r136,0r0,33","w":134},"a":{"d":"175,0v-24,0,-47,4,-50,-19v-33,38,-116,25,-116,-36v0,-53,63,-68,113,-54v1,-29,0,-45,-34,-45v-27,0,-37,16,-64,15r0,-37v43,-24,151,-29,151,45r0,131xm122,-45r0,-36v-24,-5,-62,-5,-62,23v0,34,46,33,62,13","w":193,"k":{"*":7,"?":14,"\\":16,"w":4,"v":5,"y":5}},"b":{"d":"52,-252v32,-5,16,53,20,81v52,-39,130,-29,130,74v0,103,-83,120,-138,80v-9,18,-21,18,-44,17r0,-252r32,0xm149,-93v-1,-69,-38,-66,-77,-49r0,97v34,19,79,20,77,-48","k":{"*":7,"!":4,"?":13,"@":-2,"x":7,"\\":18,"-":-4,"+":-4,"w":4,"v":5,"y":5,"z":5,",":5,".":5,"\/":2}},"c":{"d":"107,3v-62,0,-98,-37,-98,-97v0,-84,95,-118,159,-85r0,39v-27,4,-32,-13,-58,-13v-27,0,-47,19,-47,59v0,64,59,69,87,43r18,0r0,36v-12,8,-32,18,-61,18","w":179,"k":{"V":7,"&":-4,"@":-4,")":-7,"A":-2,"\u00c2":-2,"S":-2,"\u015e":-2,"T":31,"W":9,"Y":14,"a":-2,"\u00e2":-2,"\\":7,"f":-4,"c":2,"e":2,"o":2,"\u00e7":2,"\u00f6":2,"s":-4,"\u015f":-4,"w":-2,"]":-4,"}":-4,":":-5,";":-5,",":-7,".":-7,"t":-4}},"d":{"d":"193,0v-26,-4,-50,12,-52,-21v-46,48,-131,22,-131,-70v0,-98,75,-121,130,-85r0,-76v29,2,53,-11,53,30r0,222xm64,-94v0,67,42,72,76,44r0,-92v-33,-19,-76,-17,-76,48"},"e":{"d":"186,-83r-123,0v-1,61,68,54,100,33r16,0r0,34v-15,9,-36,19,-74,19v-62,0,-96,-38,-96,-97v0,-61,40,-98,93,-98v60,-1,88,39,84,109xm102,-159v-18,0,-34,10,-38,45r71,0v-1,-33,-12,-45,-33,-45","w":195,"k":{"&":-4,"*":7,"!":2,"?":5,"@":-2,"x":4,"\\":14,"-":-4,"s":-2,"\u015f":-2,"w":2,"v":4,"y":4,"z":2,":":-4,";":-4}},"f":{"d":"5,-154r0,-35r23,0v-10,-58,42,-77,91,-62r0,32v-25,-2,-44,0,-39,30r36,0r0,35r-36,0r0,154r-52,0r0,-154r-23,0","w":124,"k":{"&":7,"*":-7,"?":-7,"@":2,")":-9,"a":4,"\u00e2":4,"\\":-4,"d":5,"q":5,"-":4,"g":5,"\u011f":5,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"+":-4,"w":-2,"v":-2,"y":-2,"z":4,"]":-5,"}":-5,":":4,";":4,",":22,".":22,"\/":13}},"g":{"d":"193,-189r0,179v0,46,-35,71,-97,71v-34,0,-59,-6,-76,-15r0,-38v29,-1,37,17,69,16v39,-2,54,-14,51,-49v-50,38,-130,17,-130,-69v0,-95,82,-120,135,-79v5,-18,25,-17,48,-16xm64,-99v0,63,43,64,76,42r0,-84v-30,-20,-76,-17,-76,42","k":{"?":11,"\\":14,"j":-7}},"h":{"d":"52,-252v33,-5,16,55,20,83v37,-26,118,-46,119,30r0,139r-52,0r0,-126v2,-39,-47,-21,-67,-15r0,141r-52,0r0,-252r32,0","w":209,"k":{"*":7,"?":11,"\\":14,"w":2,"v":4,"y":4}},"i":{"d":"73,0r-53,0r0,-189v32,2,53,-12,53,35r0,154xm47,-204v-16,0,-29,-12,-29,-27v0,-15,13,-29,29,-29v16,0,28,14,28,29v0,15,-12,27,-28,27","w":93,"k":{"?":-2,"\\":5,"w":2,"v":2,"y":2}},"j":{"d":"-14,57r0,-31v22,1,34,-2,34,-25r0,-190v32,2,53,-12,53,35r0,158v3,51,-42,63,-87,53xm47,-204v-16,0,-29,-12,-29,-27v0,-15,13,-29,29,-29v16,0,28,14,28,29v0,15,-12,27,-28,27","w":93,"k":{"\\":5,"w":2,"v":2,"y":2,"j":-7}},"k":{"d":"72,-222r0,109r68,-76r43,0r0,14r-56,60r63,101r0,14r-48,0r-50,-80r-20,21r0,59r-52,0r0,-252v29,2,52,-11,52,30","w":198,"k":{"&":7,"*":4,"!":4,"?":5,"@":4,"a":2,"\u00e2":2,"\\":11,"d":9,"q":9,"-":13,"g":9,"\u011f":9,"c":11,"e":11,"o":11,"\u00e7":11,"\u00f6":11,"+":11,"s":2,"\u015f":2,"v":2,"y":2,",":-4,".":-4,"\/":-4,"t":2,"u":4,"\u00fc":4}},"l":{"d":"73,0r-52,0r0,-252v29,2,52,-11,52,30r0,222","w":93},"m":{"d":"20,-189v24,3,50,-11,51,20v28,-22,91,-39,112,1v37,-28,119,-47,119,29r0,139r-53,0r0,-126v4,-38,-44,-21,-62,-15r0,141r-52,0r0,-126v3,-38,-43,-22,-63,-15r0,141r-52,0r0,-189","w":320,"k":{"*":7,"?":11,"\\":14,"w":2,"v":4,"y":4}},"n":{"d":"20,-189v25,3,50,-10,52,20v37,-26,118,-46,119,30r0,139r-52,0r0,-126v2,-39,-47,-21,-67,-15r0,141r-52,0r0,-189","w":209,"k":{"*":7,"?":11,"\\":14,"w":2,"v":4,"y":4}},"o":{"d":"106,3v-53,0,-97,-37,-97,-97v0,-61,44,-98,97,-98v53,0,96,37,96,98v0,60,-43,97,-96,97xm106,-35v26,0,43,-17,43,-58v0,-41,-17,-61,-43,-61v-26,0,-43,20,-43,61v0,41,17,58,43,58","w":211,"k":{"*":13,"!":4,"?":11,"@":-2,"x":7,"\\":18,"-":-4,"+":-4,"s":2,"\u015f":2,"w":5,"v":5,"y":5,"z":5,",":5,".":5}},"p":{"d":"202,-99v0,93,-73,115,-130,83r0,74r-52,0r0,-247v23,3,50,-11,51,18v50,-39,131,-27,131,72xm149,-95v-1,-66,-38,-64,-77,-47r0,93v34,19,79,18,77,-46","k":{"*":7,"!":4,"?":13,"@":-2,"x":7,"\\":18,"-":-4,"+":-4,"w":4,"v":5,"y":5,"z":5,",":5,".":5,"\/":2}},"q":{"d":"140,58r0,-79v-49,40,-130,16,-130,-71v0,-99,83,-122,136,-80v6,-19,24,-18,47,-17r0,247r-53,0xm64,-97v0,66,42,68,76,45r0,-89v-31,-21,-76,-16,-76,44","k":{"?":4,"\\":11,"j":-11,"\/":-4}},"r":{"d":"136,-148v-27,-1,-54,6,-64,12r0,136r-52,0r0,-189v27,3,51,-12,52,23v14,-15,37,-30,64,-23r0,41","w":142,"k":{"&":13,"*":-7,"?":-2,"a":5,"\u00e2":5,"\\":4,"d":4,"q":4,"-":4,"f":-7,"g":7,"\u011f":7,"c":5,"e":5,"o":5,"\u00e7":5,"\u00f6":5,"+":-2,"s":-2,"\u015f":-2,"w":-5,"v":-5,"y":-5,",":25,".":25,"\/":18,"t":-5}},"s":{"d":"76,2v-31,0,-50,-7,-65,-15r0,-39v28,-2,31,16,63,16v21,0,32,-6,32,-18v0,-12,-6,-17,-33,-20v-41,-5,-64,-21,-64,-58v0,-61,92,-71,135,-46r0,38v-26,2,-31,-14,-59,-13v-21,0,-29,6,-29,17v0,10,9,15,35,18v45,6,64,21,64,59v0,37,-24,61,-79,61","w":163,"k":{"&":-2,"*":5,"!":4,"?":9,"@":-4,"x":2,"\\":16,"d":-2,"q":-2,"f":-2,"g":-2,"\u011f":-2,"+":2,"s":-2,"\u015f":-2,"w":2,"v":4,"y":4,",":-2,".":-2}},"t":{"d":"5,-154r0,-35r23,0r0,-50r52,0r0,50r38,0r0,35r-38,0r0,97v-1,24,17,24,39,23r0,32v-40,12,-91,4,-91,-49r0,-103r-23,0","w":126,"k":{"*":-5,"?":-4,"@":-4,")":-4,"x":-4,"\\":4,"-":4,"s":-4,"\u015f":-4,"w":-4,"v":-4,"y":-4,"z":-4,"]":-4,"}":-4,":":-4,";":-4,",":-7,".":-7,"\/":-5}},"u":{"d":"73,-62v-1,39,44,24,67,16r0,-143r52,0r0,189v-23,-3,-50,11,-51,-18v-38,27,-120,39,-120,-31r0,-140r52,0r0,127","w":214,"k":{"?":4,"\\":11}},"v":{"d":"76,0r-69,-175r0,-14r50,0r48,130r44,-130r44,0r0,14r-66,175r-51,0","w":200,"k":{"&":11,"*":-7,"@":4,")":4,"a":2,"\u00e2":2,"\\":7,"d":5,"q":5,"-":9,"f":-5,"g":2,"\u011f":2,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"z":4,":":5,";":5,",":27,".":27,"\/":14,"t":-7}},"w":{"d":"60,0r-52,-175r0,-14r50,0r32,119r37,-119r40,0r36,119r34,-119r41,0r0,14r-53,175r-47,0r-36,-117r-37,117r-45,0","w":285,"k":{"&":7,"*":-7,"@":2,")":4,"a":7,"\u00e2":7,"\\":9,"d":4,"q":4,"-":4,"f":-4,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"s":2,"\u015f":2,"z":4,":":4,";":4,",":18,".":18,"\/":11,"t":-4}},"x":{"d":"9,0r0,-14r55,-82r-52,-79r0,-14r50,0r40,64r36,-64r43,0r0,14r-48,76r54,85r0,14r-49,0r-43,-70r-42,70r-44,0","w":195,"k":{"?":5,"&":5,"!":4,"a":4,"\u00e2":4,"\\":14,"d":7,"q":7,"-":13,"g":4,"\u011f":4,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"+":7,"s":2,"\u015f":2,"\/":-4,"u":2,"\u00fc":2}},"y":{"d":"52,58v0,-31,18,-44,26,-67r-71,-166r0,-14r49,0r47,117r43,-117r45,0r0,14r-94,233r-45,0","w":197,"k":{"&":11,"*":-7,"@":4,")":4,"a":2,"\u00e2":2,"\\":7,"d":5,"q":5,"-":9,"f":-5,"g":2,"\u011f":2,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"z":4,":":5,";":5,",":27,".":27,"\/":14,"t":-7}},"z":{"d":"10,0r0,-36r97,-116r-91,0r0,-37r149,0r0,37r-97,115r95,0r0,37r-153,0","w":177,"k":{"&":5,"*":-4,"?":4,"x":2,"a":2,"\u00e2":2,"\\":4,"d":4,"q":4,"-":4,"f":-4,"g":2,"\u011f":2,"c":7,"e":7,"o":7,"\u00e7":7,"\u00f6":7,"w":-2,",":-4,".":-4}},"{":{"d":"87,18v-61,4,-51,-53,-51,-107v0,-13,-11,-22,-29,-20r0,-35v42,6,29,-42,29,-77v0,-43,38,-49,85,-46r0,35v-15,1,-36,-4,-36,11v-1,45,10,84,-32,95v45,9,29,53,32,98v0,15,21,11,36,11r0,35r-34,0","w":132,"k":{"V":-4,"X":-4,"5":-5,"4":5,"1":-4,"3":-4,"2":-4,"S":-2,"\u015e":-2,"T":-4,"W":-4,"Y":-4,"s":-2,"\u015f":-2,"z":-2,"7":-4,"Z":-4,"j":-11}},"|":{"d":"52,-267r0,285r-41,0r0,-285r41,0","w":63},"}":{"d":"125,-109v-71,-3,17,134,-80,127r-34,0r0,-35v15,0,36,4,37,-11v2,-46,-11,-88,32,-99v-44,-9,-30,-50,-32,-94v-1,-14,-22,-11,-37,-11r0,-35v46,-3,89,3,85,46v4,32,-16,82,29,77r0,35","w":132},"~":{"d":"48,-132v28,-1,45,23,56,-1r31,0v2,33,-14,54,-41,55v-26,0,-46,-23,-57,1r-30,0v-2,-33,14,-54,41,-55","w":141},"\u00a3":{"d":"158,-197v-21,-19,-82,-28,-83,16v0,12,1,25,3,37r61,0r0,36r-55,0v5,24,1,51,-11,64r107,0r0,44r-172,0r0,-37v23,-4,35,-42,24,-71r-23,0r0,-36r15,0v-35,-91,80,-139,151,-94r0,41r-17,0","w":187,"k":{"6":4,"5":-4,"4":5,"3":-4,"2":-4,"0":5}},"'":{"d":"18,-171v-4,-26,-11,-49,-9,-81r49,0v1,31,-5,55,-9,81r-31,0","w":67},"`":{"d":"88,-202r-30,0r-35,-35r0,-15r53,0v4,17,12,29,12,50","w":144},"\u0131":{"d":"73,0r-53,0r0,-189v32,2,53,-12,53,35r0,154","w":93,"k":{"?":4,"\\":11}},"\u00bd":{"d":"77,-113r-42,0r0,-99v-9,3,-14,11,-27,10r0,-30v20,-10,35,-24,69,-20r0,139xm58,12r-37,0r177,-274r37,0xm267,-30r0,30r-101,0r0,-30v17,-18,56,-43,60,-67v-5,-26,-37,-2,-56,-4r0,-27v25,-21,105,-19,98,28v2,28,-37,51,-56,70r55,0","w":278},"\u00c2":{"d":"12,0r0,-15r84,-237r58,0r84,237r0,15r-55,0r-21,-64r-85,0r-20,64r-45,0xm73,-260v-1,-27,23,-30,33,-47r36,0v10,16,32,20,32,47r-29,0r-22,-15v-12,10,-25,18,-50,15xm120,-195v-13,28,-20,62,-31,92r61,0","w":240},"\u00c7":{"d":"212,-21v-19,14,-45,24,-79,24r0,6v21,1,29,10,29,26v0,27,-44,35,-66,22r0,-21v13,-2,29,13,34,-2v1,-6,-13,-8,-22,-7r0,-26v-60,-9,-97,-54,-97,-126v0,-112,112,-158,198,-113r0,42v-33,3,-36,-18,-72,-18v-44,0,-69,31,-69,87v0,96,84,110,126,64r18,0r0,42","w":221,"k":{"?":-4,"@":-4,")":-7,"x":4,"A":-2,"\u00c2":-2,"S":-5,"\u015e":-5,"W":-2,"a":-5,"\u00e2":-5,"+":4,"w":2,"v":4,"y":4,"C":2,"G":2,"O":2,"Q":2,"\u00c7":2,"\u00d6":2,"\u011e":2,"Z":-2,"]":-5,"}":-5,":":-4,";":-4,",":-11,".":-11,"\/":-2}},"\u00d6":{"d":"131,3v-64,0,-121,-46,-121,-129v0,-83,57,-129,121,-129v64,0,121,46,121,129v0,83,-57,129,-121,129xm131,-36v37,0,64,-27,64,-89v0,-62,-27,-90,-64,-90v-37,0,-63,28,-63,90v0,62,26,89,63,89xm97,-260v-15,0,-27,-12,-27,-27v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,27,-27,27xm166,-260v-15,0,-27,-12,-27,-27v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,27,-27,27","w":262,"k":{"V":13,"*":4,"?":5,"x":4,"X":14,"A":11,"\u00c2":11,"T":14,"W":7,"Y":16,"a":2,"\u00e2":2,"\\":7,"-":-4,"f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"+":-4,"s":-4,"\u015f":-4,"z":4,"J":9,"Z":7,",":11,".":11,"\/":5,"t":-2}},"\u00dc":{"d":"129,-39v31,0,47,-11,47,-58r0,-155r47,0v-5,114,33,255,-98,255v-68,0,-104,-37,-104,-102r0,-153r56,0r0,155v0,47,20,58,52,58xm93,-260v-15,0,-27,-12,-27,-27v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,27,-27,27xm162,-260v-15,0,-27,-12,-27,-27v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,27,-27,27","w":244,"k":{"x":5,"X":2,"A":9,"\u00c2":9,"a":4,"\u00e2":4,"d":2,"q":2,"g":2,"\u011f":2,"c":2,"e":2,"o":2,"\u00e7":2,"\u00f6":2,"s":2,"\u015f":2,"w":2,"z":4,"J":9,"Z":4,"i":4,"j":4,",":9,".":9,"\/":7,"u":2,"\u00fc":2}},"\u00e2":{"d":"175,0v-24,0,-47,4,-50,-19v-33,38,-116,25,-116,-36v0,-53,63,-68,113,-54v1,-29,0,-45,-34,-45v-27,0,-37,16,-64,15r0,-37v43,-24,151,-29,151,45r0,131xm46,-202v-1,-28,22,-33,32,-50r36,0v10,17,33,22,32,50r-29,0r-22,-17r-22,17r-27,0xm122,-45r0,-36v-24,-5,-62,-5,-62,23v0,34,46,33,62,13","w":193,"k":{"*":7,"?":14,"\\":16,"w":4,"v":5,"y":5}},"\u00e7":{"d":"80,0v-45,-9,-71,-43,-71,-94v0,-84,95,-118,159,-85r0,39v-27,4,-32,-13,-58,-13v-27,0,-47,19,-47,59v0,64,59,69,87,43r18,0r0,36v-12,8,-33,18,-63,18r0,6v21,1,29,10,29,26v0,27,-44,35,-65,22r0,-21v12,-2,28,13,33,-2v2,-7,-13,-8,-22,-7r0,-27","w":179,"k":{"V":7,"&":-4,"@":-4,")":-7,"A":-2,"\u00c2":-2,"S":-2,"\u015e":-2,"T":31,"W":9,"Y":14,"a":-2,"\u00e2":-2,"\\":7,"f":-4,"c":2,"e":2,"o":2,"\u00e7":2,"\u00f6":2,"s":-4,"\u015f":-4,"w":-2,"]":-4,"}":-4,":":-5,";":-5,",":-7,".":-7,"t":-4}},"\u00f6":{"d":"106,3v-53,0,-97,-37,-97,-97v0,-61,44,-98,97,-98v53,0,96,37,96,98v0,60,-43,97,-96,97xm106,-35v26,0,43,-17,43,-58v0,-41,-17,-61,-43,-61v-26,0,-43,20,-43,61v0,41,17,58,43,58xm71,-204v-15,0,-27,-11,-27,-26v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,26,-27,26xm140,-204v-15,0,-27,-11,-27,-26v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,26,-27,26","w":211,"k":{"*":13,"!":4,"?":11,"@":-2,"x":7,"\\":18,"-":-4,"+":-4,"s":2,"\u015f":2,"w":5,"v":5,"y":5,"z":5,",":5,".":5}},"\u00fc":{"d":"73,-62v-1,39,44,24,67,16r0,-143r52,0r0,189v-23,-3,-50,11,-51,-18v-38,27,-120,39,-120,-31r0,-140r52,0r0,127xm141,-204v-15,0,-27,-11,-27,-26v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,26,-27,26xm72,-204v-15,0,-27,-11,-27,-26v0,-14,12,-26,27,-26v15,0,27,12,27,26v0,15,-12,26,-27,26","w":214,"k":{"?":4,"\\":11}},"\u20ac":{"d":"8,-116r17,0r1,-20r-18,0r0,-31r22,0v11,-78,105,-109,173,-73r0,39v-28,3,-35,-13,-62,-13v-31,0,-48,16,-55,47r70,0r-7,31r-66,0r0,20r62,0r-6,31r-53,0v2,56,74,59,102,28r18,0r0,39v-16,12,-38,21,-71,21v-57,0,-94,-32,-106,-88r-21,0r0,-31","w":214,"k":{"8":-2,"5":-4,"3":-4,"2":-4,"0":4,"7":-4}},"\u011e":{"d":"130,3v-75,0,-120,-46,-120,-128v0,-112,107,-156,199,-115r0,44v-33,2,-33,-17,-71,-17v-44,0,-69,24,-69,86v0,79,36,102,96,87r0,-55r-35,0r0,-36r90,0r0,115v-25,13,-56,19,-90,19xm127,-260v-33,0,-51,-16,-49,-47r33,0v1,6,6,12,16,12v10,0,14,-6,15,-12r33,0v2,31,-15,47,-48,47","w":239,"k":{"V":11,"*":9,"!":4,"?":5,"x":4,"X":5,"A":4,"\u00c2":4,"T":14,"W":7,"Y":11,"\\":7,"w":5,"v":9,"y":9,"z":4,"Z":2,"i":2,"j":2,"t":2,"u":4,"\u00fc":4,"U":4,"\u00dc":4,"b":2,"h":2,"k":2,"l":2}},"\u0130":{"d":"80,0r-57,0r0,-252r57,0r0,252xm51,-260v-16,0,-28,-13,-28,-28v0,-15,12,-28,28,-28v16,0,29,13,29,28v0,15,-13,28,-29,28","w":103},"\u015e":{"d":"184,-74v0,45,-28,72,-81,76r0,7v21,1,29,10,29,26v0,27,-44,35,-65,22r0,-21v12,-2,28,13,33,-2v1,-6,-13,-8,-22,-7r0,-24v-30,-1,-50,-9,-69,-20r0,-43r19,0v11,26,105,36,105,-8v0,-27,-25,-29,-54,-38v-46,-14,-68,-33,-68,-75v0,-78,108,-89,159,-57r0,40v-31,2,-37,-17,-68,-17v-27,0,-43,9,-43,30v0,20,16,25,46,33v55,14,79,32,79,78","w":192,"k":{"V":5,"&":-4,"*":7,"?":5,"x":4,"X":4,"A":2,"\u00c2":2,"T":7,"W":5,"Y":7,"a":-4,"\u00e2":-4,"\\":4,"d":-4,"q":-4,"-":-4,"g":-4,"\u011f":-4,"c":-2,"e":-2,"o":-2,"\u00e7":-2,"\u00f6":-2,"s":-2,"\u015f":-2,"w":4,"v":5,"y":5,"C":-2,"G":-2,"O":-2,"Q":-2,"\u00c7":-2,"\u00d6":-2,"\u011e":-2,"b":-2,"h":-2,"k":-2,"l":-2}},"\u011f":{"d":"193,-189r0,179v0,46,-35,71,-97,71v-34,0,-59,-6,-76,-15r0,-38v29,-1,37,17,69,16v39,-2,54,-14,51,-49v-50,38,-130,17,-130,-69v0,-95,82,-120,135,-79v5,-18,25,-17,48,-16xm64,-99v0,63,43,64,76,42r0,-84v-30,-20,-76,-17,-76,42xm104,-203v-32,0,-50,-18,-48,-49r33,0v1,9,5,15,15,15v10,0,15,-6,16,-15r33,0v2,31,-17,49,-49,49","k":{"?":11,"\\":14,"j":-7}},"\u015f":{"d":"155,-59v0,34,-20,56,-65,60r0,8v21,1,29,10,29,26v0,27,-44,35,-65,22r0,-21v12,-2,28,13,33,-2v2,-7,-13,-8,-22,-7r0,-25v-25,-1,-41,-8,-54,-15r0,-39v28,-2,31,16,63,16v21,0,32,-6,32,-18v0,-12,-6,-17,-33,-20v-41,-5,-64,-21,-64,-58v0,-61,92,-71,135,-46r0,38v-26,2,-31,-14,-59,-13v-21,0,-29,6,-29,17v0,10,9,15,35,18v45,6,64,21,64,59","w":163,"k":{"&":-2,"*":5,"!":4,"?":9,"@":-4,"x":2,"\\":16,"d":-2,"q":-2,"f":-2,"g":-2,"\u011f":-2,"+":2,"s":-2,"\u015f":-2,"w":2,"v":4,"y":4,",":-2,".":-2}},"\u00a0":{"w":68}}});
/*
* jQuery jFontSize Plugin
* Examples and documentation: http://jfontsize.com
* Author: Frederico Soares Vanelli
* fredsvanelli@gmail.com
* http://twitter.com/fredvanelli
* http://facebook.com/fred.vanelli
*
* Copyright (c) 2011
* Version: 1.0 (2011-07-15)
* Dual licensed under the MIT and GPL licenses.
* http://jfontsize.com/license
* Requires: jQuery v1.2.6 or later
*/
(function($){
$.fn.jfontsize = function(opcoes) {
var $this=$(this);
var defaults = {
btnMinusClasseId: '#jfontsize-minus',
btnDefaultClasseId: '#jfontsize-default',
btnPlusClasseId: '#jfontsize-plus',
btnMinusMaxHits: 10,
btnPlusMaxHits: 10,
sizeChange: 1
};
if (opcoes){opcoes = $.extend(defaults, opcoes)};
var limite=new Array();
var fontsize_padrao=new Array();
$(this).each(function(i){
limite[i]=0;
fontsize_padrao[i];
});
$(opcoes.btnMinusClasseId+', '+opcoes.btnDefaultClasseId+', '+opcoes.btnPlusClasseId).removeAttr('href');
$(opcoes.btnMinusClasseId+', '+opcoes.btnDefaultClasseId+', '+opcoes.btnPlusClasseId).css('cursor', 'pointer');
/* Ao do Boto A- */
$(opcoes.btnMinusClasseId).click(function(){
$(opcoes.btnPlusClasseId).removeClass('jfontsize-disabled');
$this.each(function(i){
if (limite[i]>(-(opcoes.btnMinusMaxHits))){
fontsize_padrao[i]=$(this).css('font-size');
fontsize_padrao[i]=fontsize_padrao[i].replace('px', '');
fontsize=$(this).css('font-size');
fontsize=parseInt(fontsize.replace('px', ''));
fontsize=fontsize-(opcoes.sizeChange);
fontsize_padrao[i]=fontsize_padrao[i]-(limite[i]*opcoes.sizeChange);
limite[i]--;
$(this).css('font-size', fontsize+'px');
if (limite[i]==(-(opcoes.btnMinusMaxHits))){
$(opcoes.btnMinusClasseId).addClass('jfontsize-disabled');
}
}
})
});
/* Ao do Boto A */
$(opcoes.btnDefaultClasseId).click(function(){
$(opcoes.btnMinusClasseId).removeClass('jfontsize-disabled');
$(opcoes.btnPlusClasseId).removeClass('jfontsize-disabled');
$this.each(function(i){
limite[i]=0;
$(this).css('font-size', fontsize_padrao[i]+'px');
})
});
/* Ao do Boto A+ */
$(opcoes.btnPlusClasseId).click(function(){
$(opcoes.btnMinusClasseId).removeClass('jfontsize-disabled');
$this.each(function(i){
if (limite[i]= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
(function(_1,_2){var _3=function(){},_4=function(it){for(var p in it){return 0;}return 1;},_5={}.toString,_6=function(it){return _5.call(it)=="[object Function]";},_7=function(it){return _5.call(it)=="[object String]";},_8=function(it){return _5.call(it)=="[object Array]";},_9=function(_a,_b){if(_a){for(var i=0;i<_a.length;){_b(_a[i++]);}}},_c=function(_d,_e){for(var p in _e){_d[p]=_e[p];}return _d;},_f=function(_10,_11){return _c(new Error(_10),{src:"dojoLoader",info:_11});},_12=1,uid=function(){return "_"+_12++;},req=function(_13,_14,_15){return _16(_13,_14,_15,0,req);},_17=this,doc=_17.document,_18=doc&&doc.createElement("DiV"),has=req.has=function(_19){return _6(_1a[_19])?(_1a[_19]=_1a[_19](_17,doc,_18)):_1a[_19];},_1a=has.cache=_2.hasCache;has.add=function(_1b,_1c,now,_1d){(_1a[_1b]===undefined||_1d)&&(_1a[_1b]=_1c);return now&&has(_1b);};false&&has.add("host-node",_1.has&&"host-node" in _1.has?_1.has["host-node"]:(typeof process=="object"&&process.versions&&process.versions.node&&process.versions.v8));if(0){require("./_base/configNode.js").config(_2);_2.loaderPatch.nodeRequire=require;}false&&has.add("host-rhino",_1.has&&"host-rhino" in _1.has?_1.has["host-rhino"]:(typeof load=="function"&&(typeof Packages=="function"||typeof Packages=="object")));if(0){for(var _1e=_1.baseUrl||".",arg,_1f=this.arguments,i=0;i<_1f.length;){arg=(_1f[i++]+"").split("=");if(arg[0]=="baseUrl"){_1e=arg[1];break;}}load(_1e+"/_base/configRhino.js");rhinoDojoConfig(_2,_1e,_1f);}for(var p in _1.has){has.add(p,_1.has[p],0,1);}var _20=1,_21=2,_22=3,_23=4,_24=5;if(0){_20="requested";_21="arrived";_22="not-a-module";_23="executing";_24="executed";}var _25=0,_26="sync",xd="xd",_27=[],_28=0,_29=_3,_2a=_3,_2b;if(1){req.isXdUrl=_3;req.initSyncLoader=function(_2c,_2d,_2e){if(!_28){_28=_2c;_29=_2d;_2a=_2e;}return {sync:_26,xd:xd,arrived:_21,nonmodule:_22,executing:_23,executed:_24,syncExecStack:_27,modules:_2f,execQ:_30,getModule:_31,injectModule:_32,setArrived:_33,signal:_34,finishExec:_35,execModule:_36,dojoRequirePlugin:_28,getLegacyMode:function(){return _25;},holdIdle:function(){_76++;},releaseIdle:function(){_37();}};};if(1){var _38=location.protocol,_39=location.host,_3a=!_39;req.isXdUrl=function(url){if(_3a||/^\./.test(url)){return false;}if(/^\/\//.test(url)){return true;}var _3b=url.match(/^([^\/\:]+\:)\/\/([^\/]+)/);return _3b&&(_3b[1]!=_38||_3b[2]!=_39);};true||has.add("dojo-xhr-factory",1);has.add("dojo-force-activex-xhr",1&&!doc.addEventListener&&window.location.protocol=="file:");has.add("native-xhr",typeof XMLHttpRequest!="undefined");if(has("native-xhr")&&!has("dojo-force-activex-xhr")){_2b=function(){return new XMLHttpRequest();};}else{for(var _3c=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],_3d,i=0;i<3;){try{_3d=_3c[i++];if(new ActiveXObject(_3d)){break;}}catch(e){}}_2b=function(){return new ActiveXObject(_3d);};}req.getXhr=_2b;has.add("dojo-gettext-api",1);req.getText=function(url,_3e,_3f){var xhr=_2b();xhr.open("GET",_40(url),false);xhr.send(null);if(xhr.status==200||(!location.host&&!xhr.status)){if(_3f){_3f(xhr.responseText,_3e);}}else{throw _f("xhrFailed",xhr.status);}return xhr.responseText;};}}else{req.async=1;}var _41=new Function("return eval(arguments[0]);");req.eval=function(_42,_43){return _41(_42+"\r\n////@ sourceURL="+_43);};var _44={},_45="error",_34=req.signal=function(_46,_47){var _48=_44[_46];_9(_48&&_48.slice(0),function(_49){_49.apply(null,_8(_47)?_47:[_47]);});},on=req.on=function(_4a,_4b){var _4c=_44[_4a]||(_44[_4a]=[]);_4c.push(_4b);return {remove:function(){for(var i=0;i<_4c.length;i++){if(_4c[i]===_4b){_4c.splice(i,1);return;}}}};};var _4d=[],_4e={},_4f=[],_50={},_51={},_52=[],_2f={},_53="",_54={},_55={},_56={};if(1){var _57=function(_58){var p,_59,_5a,now;for(p in _55){_59=_55[p];_5a=p.match(/^url\:(.+)/);if(_5a){_54[_5b(_5a[1],_58)]=_59;}else{if(p=="*now"){now=_59;}else{if(p!="*noref"){_54[_5c(p,_58).mid]=_59;}}}}if(now){now(_5d(_58));}_55={};},_5e=function(map,_5f,_60){_5f.splice(0,_5f.length);var p,i,_61,_62=0;for(p in map){_5f.push([p,map[p]]);if(map[p]==_60){_62=p;}}_5f.sort(function(lhs,rhs){return rhs[0].length-lhs[0].length;});for(i=0;i<_5f.length;){_61=_5f[i++];_61[2]=new RegExp("^"+_61[0].replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(c){return "\\"+c;})+"(/|$)");_61[3]=_61[0].length+1;}return _62;},_63=function(_64,_65){var _66=_64.name;if(!_66){_66=_64;_64={name:_66};}_64=_c({main:"main",mapProg:[]},_64);_64.location=(_65||"")+(_64.location?_64.location:_66);_64.reverseName=_5e(_64.packageMap,_64.mapProg,_66);if(!_64.main.indexOf("./")){_64.main=_64.main.substring(2);}_c(_4e,_64.paths);_50[_66]=_64;_51[_66]=_66;},_67=function(_68,_69){for(var p in _68){if(p=="waitSeconds"){req.waitms=(_68[p]||0)*1000;}if(p=="cacheBust"){_53=_68[p]?(_7(_68[p])?_68[p]:(new Date()).getTime()+""):"";}if(p=="baseUrl"||p=="combo"){req[p]=_68[p];}if(1&&p=="async"){var _6a=_68[p];req.legacyMode=_25=(_7(_6a)&&/sync|legacyAsync/.test(_6a)?_6a:(!_6a?"sync":false));req.async=!_25;}if(_68[p]!==_1a){req.rawConfig[p]=_68[p];p!="has"&&has.add("config-"+p,_68[p],0,_69);}}if(!req.baseUrl){req.baseUrl="./";}if(!/\/$/.test(req.baseUrl)){req.baseUrl+="/";}for(p in _68.has){has.add(p,_68.has[p],0,_69);}_9(_68.packages,_63);for(_1e in _68.packagePaths){_9(_68.packagePaths[_1e],function(_6b){_63(_6b,_1e+"/");});}_5e(_c(_4e,_68.paths),_4f);_9(_68.aliases,function(_6c){if(_7(_6c[0])){_6c[0]=new RegExp("^"+_6c[0].replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(c){return "\\"+c;})+"$");}_4d.push(_6c);});_5e(_c(_51,_68.packageMap),_52);if(_68.cache){_57();_55=_68.cache;if(_68.cache["*noref"]){_57();}}_34("config",[_68,req.rawConfig]);};if(has("dojo-cdn")||1){for(var _6d,src,_6e,_6f=doc.getElementsByTagName("script"),i=0;i<_6f.length&&!_6e;i++){if((src=_6f[i].getAttribute("src"))&&(_6e=src.match(/(.*)\/?dojo\.js(\W|$)/i))){_1.baseUrl=_6d=_1.baseUrl||_2.baseUrl||_6e[1];src=(_6f[i].getAttribute("data-dojo-config")||_6f[i].getAttribute("djConfig"));if(src){_56=req.eval("({ "+src+" })","data-dojo-config");}if(0){var _70=_6f[i].getAttribute("data-main");if(_70){_56.deps=_56.deps||[_70];}}}}}if(0){try{if(window.parent!=window&&window.parent.require){var doh=window.parent.require("doh");doh&&_c(_56,doh.testConfig);}}catch(e){}}req.rawConfig={};_67(_2,1);_67(_1,1);_67(_56,1);if(has("dojo-cdn")){_50.dojo.location=_6d;_50.dijit.location=_6d+"../dijit/";_50.dojox.location=_6d+"../dojox/";}}else{_4e=_2.paths;_4f=_2.pathsMapProg;_50=_2.packs;_4d=_2.aliases;_51=_2.packageMap;_52=_2.packageMapProg;_2f=_2.modules;_54=_2.cache;_53=_2.cacheBust;req.rawConfig=_2;}if(0){req.combo=req.combo||{add:_3};var _71=0,_72=[],_73=null;}var _74=function(_75){_76++;_9(_75.deps,_32);if(0&&_71&&!_73){_73=setTimeout(function(){_71=0;_73=null;req.combo.done(function(_77,url){var _78=function(){_79(0,_77);_7a();};_72.push(_77);_7b=_77;req.injectUrl(url,_78,_77);_7b=0;},req);},0);}_37();},_16=function(a1,a2,a3,_7c,_7d){var _7e,_7f;if(_7(a1)){_7e=_31(a1,_7c,true);if(_7e&&_7e.executed){return _7e.result;}throw _f("undefinedModule",a1);}if(!_8(a1)){_67(a1);a1=a2;a2=a3;}if(_8(a1)){if(!a1.length){a2&&a2();}else{_7f="require*"+uid();for(var mid,_80=[],i=0;i_ab){_ac=_6(_ad[1])?mid.replace(_ad[0],_ad[1]):_ad[1];}});if(_ac){return _9a(_ac,0,_9c,_9d,_9e,_9f,_a0,_a1);}_a7=_9d[mid];if(_a7){return _a1?_81(_a7.pid,_a7.mid,_a7.pack,_a7.url,_aa):_9d[mid];}}_a5=_91(mid,_a0);if(_a5){url=_a5[1]+mid.substring(_a5[3]-1);}else{if(pid){url=_a2.location+"/"+_a3;}else{if(has("config-tlmSiblingOfDojo")){url="../"+mid;}else{url=mid;}}}if(!(/(^\/)|(\:)/.test(url))){url=_9e+url;}url+=".js";return _81(pid,mid,_a2,_93(url),_aa);},_5c=function(mid,_af){return _9a(mid,_af,_50,_2f,req.baseUrl,_52,_4f);},_b0=function(_b1,_b2,_b3){return _b1.normalize?_b1.normalize(_b2,function(mid){return _b4(mid,_b3);}):_b4(_b2,_b3);},_b5=0,_31=function(mid,_b6,_b7){var _b8,_b9,_ba,_bb;_b8=mid.match(/^(.+?)\!(.*)$/);if(_b8){_b9=_31(_b8[1],_b6,_b7);if(1&&_25==_26&&!_b9.executed){_32(_b9);if(_b9.injected===_21&&!_b9.executed){_76++;_36(_b9);_37();}if(_b9.executed){_bc(_b9);}else{_30.unshift(_b9);}}if(_b9.executed===_24&&!_b9.load){_bc(_b9);}if(_b9.load){_ba=_b0(_b9,_b8[2],_b6);mid=(_b9.mid+"!"+(_b9.dynamic?++_b5+"!":"")+_ba);}else{_ba=_b8[2];mid=_b9.mid+"!"+(++_b5)+"!waitingForPlugin";}_bb={plugin:_b9,mid:mid,req:_5d(_b6),prid:_ba};}else{_bb=_5c(mid,_b6);}return _2f[_bb.mid]||(!_b7&&(_2f[_bb.mid]=_bb));},_b4=req.toAbsMid=function(mid,_bd){return _5c(mid,_bd).mid;},_5b=req.toUrl=function(_be,_bf){var _c0=_5c(_be+"/x",_bf),url=_c0.url;return _40(_c0.pid===0?_be:url.substring(0,url.length-5));},_c1={injected:_21,executed:_24,def:_22,result:_22},_c2=function(mid){return _2f[mid]=_c({mid:mid},_c1);},_c3=_c2("require"),_c4=_c2("exports"),_c5=_c2("module"),_c6=function(_c7,_c8){req.trace("loader-run-factory",[_c7.mid]);var _c9=_c7.def,_ca;1&&_27.unshift(_c7);if(has("config-dojo-loader-catches")){try{_ca=_6(_c9)?_c9.apply(null,_c8):_c9;}catch(e){_34(_45,_c7.result=_f("factoryThrew",[_c7,e]));}}else{_ca=_6(_c9)?_c9.apply(null,_c8):_c9;}_c7.result=_ca===undefined&&_c7.cjs?_c7.cjs.exports:_ca;1&&_27.shift(_c7);},_cb={},_cc=0,_bc=function(_cd){var _ce=_cd.result;_cd.dynamic=_ce.dynamic;_cd.normalize=_ce.normalize;_cd.load=_ce.load;return _cd;},_cf=function(_d0){var map={};_9(_d0.loadQ,function(_d1){var _d2=_d1.mid,_d3=_b0(_d0,_d1.prid,_d1.req.module),mid=_d0.dynamic?_d1.mid.replace(/waitingForPlugin$/,_d3):(_d0.mid+"!"+_d3),_d4=_c(_c({},_d1),{mid:mid,prid:_d3,injected:0});if(!_2f[mid]){_e5(_2f[mid]=_d4);}map[_d1.mid]=_2f[mid];_33(_d1);delete _2f[_d1.mid];});_d0.loadQ=0;var _d5=function(_d6){for(var _d7,_d8=_d6.deps||[],i=0;i<_d8.length;i++){_d7=map[_d8[i].mid];if(_d7){_d8[i]=_d7;}}};for(var p in _2f){_d5(_2f[p]);}_9(_30,_d5);},_35=function(_d9){req.trace("loader-finish-exec",[_d9.mid]);_d9.executed=_24;_d9.defOrder=_cc++;1&&_9(_d9.provides,function(cb){cb();});if(_d9.loadQ){_bc(_d9);_cf(_d9);}for(i=0;i<_30.length;){if(_30[i]===_d9){_30.splice(i,1);}else{i++;}}},_da=[],_36=function(_db,_dc){if(_db.executed===_23){req.trace("loader-circular-dependency",[_da.concat(mid).join("->")]);return (!_db.def||_dc)?_cb:(_db.cjs&&_db.cjs.exports);}if(!_db.executed){if(!_db.def){return _cb;}var mid=_db.mid,_dd=_db.deps||[],arg,_de,_df=[],i=0;if(0){_da.push(mid);req.trace("loader-exec-module",["exec",_da.length,mid]);}_db.executed=_23;while(i<_dd.length){arg=_dd[i++];_de=((arg===_c3)?_5d(_db):((arg===_c4)?_db.cjs.exports:((arg===_c5)?_db.cjs:_36(arg,_dc))));if(_de===_cb){_db.executed=0;req.trace("loader-exec-module",["abort",mid]);0&&_da.pop();return _cb;}_df.push(_de);}_c6(_db,_df);_35(_db);}0&&_da.pop();return _db.result;},_76=0,_7a=function(){if(_76){return;}_76++;_29();for(var _e0,_e1,i=0;i<_30.length;){_e0=_cc;_e1=_30[i];_36(_e1);if(_e0!=_cc){_29();i=0;}else{i++;}}_37();},_37=function(){_76--;if(_90()){_34("idle",[]);}};if(0){req.undef=function(_e2,_e3){var _e4=_31(_e2,_e3);_33(_e4);delete _2f[_e4.mid];};}if(1){if(has("dojo-loader-eval-hint-url")===undefined){has.add("dojo-loader-eval-hint-url",1);}var _40=function(url){url+="";return url+(_53?((/\?/.test(url)?"&":"?")+_53):"");},_e5=function(_e6){var _e7=_e6.plugin;if(_e7.executed===_24&&!_e7.load){_bc(_e7);}var _e8=function(def){_e6.result=def;_33(_e6);_35(_e6);_7a();};if(_e7.load){_e7.load(_e6.prid,_e6.req,_e8);}else{if(_e7.loadQ){_e7.loadQ.push(_e6);}else{_e7.loadQ=[_e6];_30.unshift(_e7);_32(_e7);}}},_88=0,_7b=0,_e9=0,_89=function(_ea,_eb){_e9=1;if(has("config-dojo-loader-catches")){try{if(_ea===_88){_88.call(null);}else{req.eval(_ea,has("dojo-loader-eval-hint-url")?_eb.url:_eb.mid);}}catch(e){_34(_45,_f("evalModuleThrew",_eb));}}else{if(_ea===_88){_88.call(null);}else{req.eval(_ea,has("dojo-loader-eval-hint-url")?_eb.url:_eb.mid);}}_e9=0;},_32=function(_ec){var mid=_ec.mid,url=_ec.url;if(_ec.executed||_ec.injected||_8b[mid]||(_ec.url&&((_ec.pack&&_8b[_ec.url]===_ec.pack)||_8b[_ec.url]==1))){return;}_8c(_ec);if(0){var _ed=0;if(_ec.plugin&&_ec.plugin.isCombo){req.combo.add(_ec.plugin.mid,_ec.prid,0,req);_ed=1;}else{if(!_ec.plugin){_ed=req.combo.add(0,_ec.mid,_ec.url,req);}}if(_ed){_71=1;return;}}if(_ec.plugin){_e5(_ec);return;}var _ee=function(){_79(_ec);if(_ec.injected!==_21){_33(_ec);_c(_ec,_c1);}if(1&&_25){!_27.length&&_7a();}else{_7a();}};_88=_54[mid]||_54[_ec.cacheId];if(_88){req.trace("loader-inject",["cache",_ec.mid,url]);_89(_88,_ec);_ee();return;}if(1&&_25){if(_ec.isXd){_25==_26&&(_25=xd);}else{if(_ec.isAmd&&_25!=_26){}else{var _ef=function(_f0){if(_25==_26){_27.unshift(_ec);_89(_f0,_ec);_27.shift();_79(_ec);if(!_ec.cjs){_33(_ec);_35(_ec);}if(_ec.finish){var _f1=mid+"*finish",_f2=_ec.finish;delete _ec.finish;def(_f1,["dojo",("dojo/require!"+_f2.join(",")).replace(/\./g,"/")],function(_f3){_9(_f2,function(mid){_f3.require(mid);});});_30.unshift(_31(_f1));}_ee();}else{_f0=_2a(_ec,_f0);if(_f0){_89(_f0,_ec);_ee();}else{_7b=_ec;req.injectUrl(_40(url),_ee,_ec);_7b=0;}}};req.trace("loader-inject",["xhr",_ec.mid,url,_25!=_26]);if(has("config-dojo-loader-catches")){try{req.getText(url,_25!=_26,_ef);}catch(e){_34(_45,_f("xhrInjectFailed",[_ec,e]));}}else{req.getText(url,_25!=_26,_ef);}return;}}}req.trace("loader-inject",["script",_ec.mid,url]);_7b=_ec;req.injectUrl(_40(url),_ee,_ec);_7b=0;},_f4=function(_f5,_f6,def){req.trace("loader-define-module",[_f5.mid,_f6]);if(0&&_f5.plugin&&_f5.plugin.isCombo){_f5.result=_6(def)?def():def;_33(_f5);_35(_f5);return _f5;}var mid=_f5.mid;if(_f5.injected===_21){_34(_45,_f("multipleDefine",_f5));return _f5;}_c(_f5,{deps:_f6,def:def,cjs:{id:_f5.mid,uri:_f5.url,exports:(_f5.result={}),setExports:function(_f7){_f5.cjs.exports=_f7;}}});for(var i=0;i<_f6.length;i++){_f6[i]=_31(_f6[i],_f5);}if(1&&_25&&!_8b[mid]){_74(_f5);_30.push(_f5);_7a();}_33(_f5);if(!_6(def)&&!_f6.length){_f5.result=def;_35(_f5);}return _f5;},_79=function(_f8,_f9){var _fa=[],_fb,_fc;while(_8a.length){_fc=_8a.shift();_f9&&(_fc[0]=_f9.shift());_fb=(_fc[0]&&_31(_fc[0]))||_f8;_fa.push([_fb,_fc[1],_fc[2]]);}_57(_f8);_9(_fa,function(_fd){_74(_f4.apply(null,_fd));});};}var _fe=0,_8f=_3,_ff=_3;if(1){_8f=function(){_fe&&clearTimeout(_fe);_fe=0;},_ff=function(){_8f();req.waitms&&(_fe=setTimeout(function(){_8f();_34(_45,_f("timeout",_8b));},req.waitms));};}if(1){has.add("ie-event-behavior",!!doc.attachEvent&&(typeof opera==="undefined"||opera.toString()!="[object Opera]"));}if(1&&(1||1)){var _100=function(node,_101,_102,_103){if(!has("ie-event-behavior")){node.addEventListener(_101,_103,false);return function(){node.removeEventListener(_101,_103,false);};}else{node.attachEvent(_102,_103);return function(){node.detachEvent(_102,_103);};}},_104=_100(window,"load","onload",function(){req.pageLoaded=1;doc.readyState!="complete"&&(doc.readyState="complete");_104();});if(1){var _105=doc.getElementsByTagName("script")[0],_106=_105.parentNode;req.injectUrl=function(url,_107,_108){_ff();var node=_108.node=doc.createElement("script"),_109=function(e){e=e||window.event;var node=e.target||e.srcElement;if(e.type==="load"||/complete|loaded/.test(node.readyState)){_10a();_107&&_107();}},_10a=_100(node,"load","onreadystatechange",_109);node.type="text/javascript";node.charset="utf-8";node.src=url;_106.insertBefore(node,_105);return node;};}}if(1){req.log=function(){try{for(var i=0;i0){_125._delayTimer=setTimeout(_126,de);return _125;}_126();return _125;},_play:function(_127){var _128=this;if(_128._delayTimer){_128._clearTimer();}_128._startTime=new Date().valueOf();if(_128._paused){_128._startTime-=_128.duration*_128._percent;}_128._active=true;_128._paused=false;var _129=_128.curve.getValue(_128._getStep());if(!_128._percent){if(!_128._startRepeatCount){_128._startRepeatCount=_128.repeat;}_128._fire("onBegin",[_129]);}_128._fire("onPlay",[_129]);_128._cycle();return _128;},pause:function(){var _12a=this;if(_12a._delayTimer){_12a._clearTimer();}_12a._stopTimer();if(!_12a._active){return _12a;}_12a._paused=true;_12a._fire("onPause",[_12a.curve.getValue(_12a._getStep())]);return _12a;},gotoPercent:function(_12b,_12c){var _12d=this;_12d._stopTimer();_12d._active=_12d._paused=true;_12d._percent=_12b;if(_12c){_12d.play();}return _12d;},stop:function(_12e){var _12f=this;if(_12f._delayTimer){_12f._clearTimer();}if(!_12f._timer){return _12f;}_12f._stopTimer();if(_12e){_12f._percent=1;}_12f._fire("onStop",[_12f.curve.getValue(_12f._getStep())]);_12f._active=_12f._paused=false;return _12f;},status:function(){if(this._active){return this._paused?"paused":"playing";}return "stopped";},_cycle:function(){var _130=this;if(_130._active){var curr=new Date().valueOf();var step=(curr-_130._startTime)/(_130.duration);if(step>=1){step=1;}_130._percent=step;if(_130.easing){step=_130.easing(step);}_130._fire("onAnimate",[_130.curve.getValue(step)]);if(_130._percent<1){_130._startTimer();}else{_130._active=false;if(_130.repeat>0){_130.repeat--;_130.play(null,true);}else{if(_130.repeat==-1){_130.play(null,true);}else{if(_130._startRepeatCount){_130.repeat=_130._startRepeatCount;_130._startRepeatCount=0;}}}_130._percent=0;_130._fire("onEnd",[_130.node]);!_130.repeat&&_130._stopTimer();}}return _130;},_clearTimer:function(){clearTimeout(this._delayTimer);delete this._delayTimer;}});var ctr=0,_131=null,_132={run:function(){}};lang.extend(dojo.Animation,{_startTimer:function(){if(!this._timer){this._timer=_11d.connect(_132,"run",this,"_cycle");ctr++;}if(!_131){_131=setInterval(lang.hitch(_132,"run"),this.rate);}},_stopTimer:function(){if(this._timer){_11d.disconnect(this._timer);this._timer=null;ctr--;}if(ctr<=0){clearInterval(_131);_131=null;ctr=0;}}});var _133=has("ie")?function(node){var ns=node.style;if(!ns.width.length&&_11e.get(node,"width")=="auto"){ns.width="auto";}}:function(){};dojo._fade=function(args){args.node=dom.byId(args.node);var _134=_11f({properties:{}},args),_135=(_134.properties.opacity={});_135.start=!("start" in _134)?function(){return +_11e.get(_134.node,"opacity")||0;}:_134.start;_135.end=_134.end;var anim=dojo.animateProperty(_134);_11d.connect(anim,"beforeBegin",lang.partial(_133,_134.node));return anim;};dojo.fadeIn=function(args){return dojo._fade(_11f({end:1},args));};dojo.fadeOut=function(args){return dojo._fade(_11f({end:0},args));};dojo._defaultEasing=function(n){return 0.5+((Math.sin((n+1.5)*Math.PI))/2);};var _136=function(_137){this._properties=_137;for(var p in _137){var prop=_137[p];if(prop.start instanceof _11c){prop.tempColor=new _11c();}}};_136.prototype.getValue=function(r){var ret={};for(var p in this._properties){var prop=this._properties[p],_138=prop.start;if(_138 instanceof _11c){ret[p]=_11c.blendColors(_138,prop.end,r,prop.tempColor).toCss();}else{if(!lang.isArray(_138)){ret[p]=((prop.end-_138)*r)+_138+(p!="opacity"?prop.units||"px":0);}}}return ret;};dojo.animateProperty=function(args){var n=args.node=dom.byId(args.node);if(!args.easing){args.easing=dojo._defaultEasing;}var anim=new dojo.Animation(args);_11d.connect(anim,"beforeBegin",anim,function(){var pm={};for(var p in this.properties){if(p=="width"||p=="height"){this.node.display="block";}var prop=this.properties[p];if(lang.isFunction(prop)){prop=prop(n);}prop=pm[p]=_11f({},(lang.isObject(prop)?prop:{end:prop}));if(lang.isFunction(prop.start)){prop.start=prop.start(n);}if(lang.isFunction(prop.end)){prop.end=prop.end(n);}var _139=(p.toLowerCase().indexOf("color")>=0);function _13a(node,p){var v={height:node.offsetHeight,width:node.offsetWidth}[p];if(v!==undefined){return v;}v=_11e.get(node,p);return (p=="opacity")?+v:(_139?v:parseFloat(v));};if(!("end" in prop)){prop.end=_13a(n,p);}else{if(!("start" in prop)){prop.start=_13a(n,p);}}if(_139){prop.start=new _11c(prop.start);prop.end=new _11c(prop.end);}else{prop.start=(p=="opacity")?+prop.start:parseFloat(prop.start);}}this.curve=new _136(pm);});_11d.connect(anim,"onAnimate",lang.hitch(_11e,"set",anim.node));return anim;};dojo.anim=function(node,_13b,_13c,_13d,_13e,_13f){return dojo.animateProperty({node:node,duration:_13c||dojo.Animation.prototype.duration,properties:_13b,easing:_13d,onEnd:_13e}).play(_13f||0);};return {_Line:dojo._Line,Animation:dojo.Animation,_fade:dojo._fade,fadeIn:dojo.fadeIn,fadeOut:dojo.fadeOut,_defaultEasing:dojo._defaultEasing,animateProperty:dojo.animateProperty,anim:dojo.anim};});},"dojo/dom-form":function(){define(["./_base/lang","./dom","./io-query","./json"],function(lang,dom,ioq,json){function _140(obj,name,_141){if(_141===null){return;}var val=obj[name];if(typeof val=="string"){obj[name]=[val,_141];}else{if(lang.isArray(val)){val.push(_141);}else{obj[name]=_141;}}};var _142="file|submit|image|reset|button";var form={fieldToObject:function fieldToObject(_143){var ret=null;_143=dom.byId(_143);if(_143){var _144=_143.name,type=(_143.type||"").toLowerCase();if(_144&&type&&!_143.disabled){if(type=="radio"||type=="checkbox"){if(_143.checked){ret=_143.value;}}else{if(_143.multiple){ret=[];var _145=[_143.firstChild];while(_145.length){for(var node=_145.pop();node;node=node.nextSibling){if(node.nodeType==1&&node.tagName.toLowerCase()=="option"){if(node.selected){ret.push(node.value);}}else{if(node.nextSibling){_145.push(node.nextSibling);}if(node.firstChild){_145.push(node.firstChild);}break;}}}}else{ret=_143.value;}}}}return ret;},toObject:function formToObject(_146){var ret={},_147=dom.byId(_146).elements;for(var i=0,l=_147.length;i=0;i--){var node=(_1a2?this._cloneNode(ary[i]):ary[i]);if(ary._runParse&&dojo.parser&&dojo.parser.parse){if(!_1a4){_1a4=_1a3.ownerDocument.createElement("div");}_1a4.appendChild(node);dojo.parser.parse(_1a4);node=_1a4.firstChild;while(_1a4.firstChild){_1a4.removeChild(_1a4.firstChild);}}if(i==_1a5-1){_192.place(node,_1a3,_1a1);}else{_1a3.parentNode.insertBefore(node,_1a3);}_1a3=node;}},attr:awc(_199(_194),_196),style:awc(_199(_195),_196),addClass:aafe(_191.add),removeClass:aafe(_191.remove),replaceClass:aafe(_191.replace),toggleClass:aafe(_191.toggle),empty:aafe(_192.empty),removeAttr:aafe(_194.remove),position:aam(_193.position),marginBox:aam(_193.getMarginBox),place:function(_1a6,_1a7){var item=_18f(_1a6)[0];return this.forEach(function(node){_192.place(node,item,_1a7);});},orphan:function(_1a8){return (_1a8?_18f._filterResult(this,_1a8):this).forEach(_197);},adopt:function(_1a9,_1aa){return _18f(_1a9).place(this[0],_1aa)._stash(this);},query:function(_1ab){if(!_1ab){return this;}var ret=new _198;this.map(function(node){_18f(_1ab,node).forEach(function(_1ac){if(_1ac!==undefined){ret.push(_1ac);}});});return ret._stash(this);},filter:function(_1ad){var a=arguments,_1ae=this,_1af=0;if(typeof _1ad=="string"){_1ae=_18f._filterResult(this,a[0]);if(a.length==1){return _1ae._stash(this);}_1af=1;}return this._wrap(_190.filter(_1ae,a[_1af],a[_1af+1]),this);},addContent:function(_1b0,_1b1){_1b0=this._normalize(_1b0,this[0]);for(var i=0,node;(node=this[i]);i++){this._place(_1b0,node,_1b1,i>0);}return this;}});return _198;});},"dojo/query":function(){define(["./_base/kernel","./has","./dom","./on","./_base/array","./_base/lang","./selector/_loader","./selector/_loader!default"],function(dojo,has,dom,on,_1b2,lang,_1b3,_1b4){"use strict";has.add("array-extensible",function(){return lang.delegate([],{length:1}).length==1&&!has("bug-for-in-skips-shadowed");});var ap=Array.prototype,aps=ap.slice,apc=ap.concat,_1b5=_1b2.forEach;var tnl=function(a,_1b6,_1b7){var _1b8=new (_1b7||this._NodeListCtor||nl)(a);return _1b6?_1b8._stash(_1b6):_1b8;};var _1b9=function(f,a,o){a=[0].concat(aps.call(a,0));o=o||dojo.global;return function(node){a[0]=node;return f.apply(o,a);};};var _1ba=function(f,o){return function(){this.forEach(_1b9(f,arguments,o));return this;};};var _1bb=function(f,o){return function(){return this.map(_1b9(f,arguments,o));};};var _1bc=function(f,o){return function(){return this.filter(_1b9(f,arguments,o));};};var _1bd=function(f,g,o){return function(){var a=arguments,body=_1b9(f,a,o);if(g.call(o||dojo.global,a)){return this.map(body);}this.forEach(body);return this;};};var _1be=function(_1bf){var _1c0=this instanceof nl&&has("array-extensible");if(typeof _1bf=="number"){_1bf=Array(_1bf);}var _1c1=(_1bf&&"length" in _1bf)?_1bf:arguments;if(_1c0||!_1c1.sort){var _1c2=_1c0?this:[],l=_1c2.length=_1c1.length;for(var i=0;i0;};_1d3.filter=_1d1.filter||function(_1d7,_1d8,root){return _1d3(_1d8,root).filter(function(node){return _1b2.indexOf(_1d7,node)>-1;});};if(typeof _1d1!="function"){var _1d9=_1d1.search;_1d1=function(_1da,root){return _1d9(root||document,_1da);};}return _1d3;};var _1cd=_1d0(_1b4,_1be);dojo.query=_1d0(_1b4,function(_1db){return _1be(_1db);});_1cd.load=function(id,_1dc,_1dd,_1de){_1b3.load(id,_1dc,function(_1df){_1dd(_1d0(_1df,_1be));});};dojo._filterQueryResult=_1cd._filterResult=function(_1e0,_1e1,root){return new _1be(_1cd.filter(_1e0,_1e1,root));};dojo.NodeList=_1cd.NodeList=_1be;return _1cd;});},"dojo/has":function(){define(["require"],function(_1e2){var has=_1e2.has||function(){};if(!1){var _1e3=typeof window!="undefined"&&typeof location!="undefined"&&typeof document!="undefined"&&window.location==location&&window.document==document,_1e4=this,doc=_1e3&&document,_1e5=doc&&doc.createElement("DiV"),_1e6={};has=function(name){return typeof _1e6[name]=="function"?(_1e6[name]=_1e6[name](_1e4,doc,_1e5)):_1e6[name];};has.cache=_1e6;has.add=function(name,test,now,_1e7){(typeof _1e6[name]=="undefined"||_1e7)&&(_1e6[name]=test);return now&&has(name);};true||has.add("host-browser",_1e3);false&&has.add("host-node",(typeof process=="object"&&process.versions&&process.versions.node&&process.versions.v8));false&&has.add("host-rhino",(typeof load=="function"&&(typeof Packages=="function"||typeof Packages=="object")));true||has.add("dom",_1e3);true||has.add("dojo-dom-ready-api",1);true||has.add("dojo-sniff",1);}if(1){var _1e8=navigator.userAgent;has.add("dom-addeventlistener",!!document.addEventListener);has.add("touch","ontouchstart" in document);has.add("device-width",screen.availWidth||innerWidth);has.add("agent-ios",!!_1e8.match(/iPhone|iP[ao]d/));has.add("agent-android",_1e8.indexOf("android")>1);}has.clearElement=function(_1e9){_1e9.innerHTML="";return _1e9;};has.normalize=function(id,_1ea){var _1eb=id.match(/[\?:]|[^:\?]*/g),i=0,get=function(skip){var term=_1eb[i++];if(term==":"){return 0;}else{if(_1eb[i++]=="?"){if(!skip&&has(term)){return get();}else{get(true);return get(skip);}}return term||0;}};id=get();return id&&_1ea(id);};has.load=function(id,_1ec,_1ed){if(id){_1ec([id],_1ed);}else{_1ed();}};return has;});},"dojo/_base/loader":function(){define(["./kernel","../has","require","module","./json","./lang","./array"],function(dojo,has,_1ee,_1ef,json,lang,_1f0){if(!1){console.error("cannot load the Dojo v1.x loader with a foreign loader");return 0;}var _1f1=function(id){return {src:_1ef.id,id:id};},_1f2=function(name){return name.replace(/\./g,"/");},_1f3=/\/\/>>built/,_1f4=[],_1f5=[],_1f6=function(mid,_1f7,_1f8){_1f4.push(_1f8);_1f0.forEach(mid.split(","),function(mid){var _1f9=_1fa(mid,_1f7.module);_1f5.push(_1f9);_1fb(_1f9);});_1fc();},_1fd,_1fe=function(m){_1fd[m.mid]=1;for(var t,_1ff,deps=m.deps||[],i=0;i=0;--j){_262=lin[j].prototype;if(!_262.hasOwnProperty("declaredClass")){_262.declaredClass="uniqName_"+(_259++);}name=_262.declaredClass;if(!_260.hasOwnProperty(name)){_260[name]={count:0,refs:[],cls:lin[j]};++_261;}rec=_260[name];if(top&&top!==rec){rec.refs.push(top);++top.count;}top=rec;}++top.count;_25f[0].refs.push(top);}while(_25f.length){top=_25f.pop();_25e.push(top.cls);--_261;while(refs=top.refs,refs.length==1){top=refs[0];if(!top||--top.count){top=0;break;}_25e.push(top.cls);--_261;}if(top){for(i=0,l=refs.length;i=0;--i){f=_27c[i];m=f._meta;f=m?m.ctor:f;if(f){f.apply(this,_27e?_27e[i]:a);}}f=this.postscript;if(f){f.apply(this,args);}};};function _280(ctor,_281){return function(){var a=arguments,t=a,a0=a[0],f;if(!(this instanceof a.callee)){return _27f(a);}if(_281){if(a0){f=a0.preamble;if(f){t=f.apply(this,t)||t;}}f=this.preamble;if(f){f.apply(this,t);}}if(ctor){ctor.apply(this,a);}f=this.postscript;if(f){f.apply(this,a);}};};function _282(_283){return function(){var a=arguments,i=0,f,m;if(!(this instanceof a.callee)){return _27f(a);}for(;f=_283[i];++i){m=f._meta;f=m?m.ctor:f;if(f){f.apply(this,a);break;}}f=this.postscript;if(f){f.apply(this,a);}};};function _284(name,_285,_286){return function(){var b,m,f,i=0,step=1;if(_286){i=_285.length-1;step=-1;}for(;b=_285[i];i+=step){m=b._meta;f=(m?m.hidden:b.prototype)[name];if(f){f.apply(this,arguments);}}};};function _287(ctor){xtor.prototype=ctor.prototype;var t=new xtor;xtor.prototype=null;return t;};function _27f(args){var ctor=args.callee,t=_287(ctor);ctor.apply(t,args);return t;};function _278(_288,_289,_28a){if(typeof _288!="string"){_28a=_289;_289=_288;_288="";}_28a=_28a||{};var _28b,i,t,ctor,name,_28c,_28d,_28e=1,_28f=_289;if(opts.call(_289)=="[object Array]"){_28c=_25b(_289,_288);t=_28c[0];_28e=_28c.length-t;_289=_28c[_28e];}else{_28c=[0];if(_289){if(opts.call(_289)=="[object Function]"){t=_289._meta;_28c=_28c.concat(t?t.bases:_289);}else{err("base class is not a callable constructor.",_288);}}else{if(_289!==null){err("unknown base class. Did you use dojo.require to pull it in?",_288);}}}if(_289){for(i=_28e-1;;--i){_28b=_287(_289);if(!i){break;}t=_28c[i];(t._meta?_26e:mix)(_28b,t.prototype);ctor=new Function;ctor.superclass=_289;ctor.prototype=_28b;_289=_28b.constructor=ctor;}}else{_28b={};}_278.safeMixin(_28b,_28a);t=_28a.constructor;if(t!==op.constructor){t.nom=_25a;_28b.constructor=t;}for(i=_28e-1;i;--i){t=_28c[i]._meta;if(t&&t.chains){_28d=mix(_28d||{},t.chains);}}if(_28b["-chains-"]){_28d=mix(_28d||{},_28b["-chains-"]);}t=!_28d||!_28d.hasOwnProperty(_25a);_28c[0]=ctor=(_28d&&_28d.constructor==="manual")?_282(_28c):(_28c.length==1?_280(_28a.constructor,t):_27b(_28c,t));ctor._meta={bases:_28c,hidden:_28a,chains:_28d,parents:_28f,ctor:_28a.constructor};ctor.superclass=_289&&_289.prototype;ctor.extend=_276;ctor.createSubclass=_279;ctor.prototype=_28b;_28b.constructor=ctor;_28b.getInherited=_269;_28b.isInstanceOf=_26c;_28b.inherited=_26b;_28b.__inherited=_263;if(_288){_28b.declaredClass=_288;lang.setObject(_288,ctor);}if(_28d){for(name in _28d){if(_28b[name]&&typeof _28d[name]=="string"&&name!=_25a){t=_28b[name]=_284(name,_28c,_28d[name]==="after");t.nom=name;}}}return ctor;};dojo.safeMixin=_278.safeMixin=_272;dojo.declare=_278;return _278;});},"dojo/dom":function(){define(["./_base/sniff","./_base/lang","./_base/window"],function(has,lang,win){try{document.execCommand("BackgroundImageCache",false,true);}catch(e){}var dom={};if(has("ie")){dom.byId=function(id,doc){if(typeof id!="string"){return id;}var _290=doc||win.doc,te=id&&_290.getElementById(id);if(te&&(te.attributes.id.value==id||te.id==id)){return te;}else{var eles=_290.all[id];if(!eles||eles.nodeName){eles=[eles];}var i=0;while((te=eles[i++])){if((te.attributes&&te.attributes.id&&te.attributes.id.value==id)||te.id==id){return te;}}}};}else{dom.byId=function(id,doc){return ((typeof id=="string")?(doc||win.doc).getElementById(id):id)||null;};}dom.isDescendant=function(node,_291){try{node=dom.byId(node);_291=dom.byId(_291);while(node){if(node==_291){return true;}node=node.parentNode;}}catch(e){}return false;};has.add("css-user-select",function(_292,doc,_293){if(!_293){return false;}var _294=_293.style;var _295=["Khtml","O","ms","Moz","Webkit"],i=_295.length,name="userSelect",_296;do{if(typeof _294[name]!=="undefined"){return name;}}while(i--&&(name=_295[i]+"UserSelect"));return false;});var _297=has("css-user-select");dom.setSelectable=_297?function(node,_298){dom.byId(node).style[_297]=_298?"":"none";}:function(node,_299){node=dom.byId(node);var _29a=node.getElementsByTagName("*"),i=_29a.length;if(_299){node.removeAttribute("unselectable");while(i--){_29a[i].removeAttribute("unselectable");}}else{node.setAttribute("unselectable","on");while(i--){_29a[i].setAttribute("unselectable","on");}}};return dom;});},"dojo/_base/browser":function(){if(require.has){require.has.add("config-selectorEngine","acme");}define(["../ready","./kernel","./connect","./unload","./window","./event","./html","./NodeList","../query","./xhr","./fx"],function(dojo){return dojo;});},"dojo/selector/acme":function(){define(["../_base/kernel","../has","../dom","../_base/sniff","../_base/array","../_base/lang","../_base/window"],function(dojo,has,dom){var trim=dojo.trim;var each=dojo.forEach;var _29b=function(){return dojo.doc;};var _29c=(_29b().compatMode)=="BackCompat";var _29d=">~+";var _29e=false;var _29f=function(){return true;};var _2a0=function(_2a1){if(_29d.indexOf(_2a1.slice(-1))>=0){_2a1+=" * ";}else{_2a1+=" ";}var ts=function(s,e){return trim(_2a1.slice(s,e));};var _2a2=[];var _2a3=-1,_2a4=-1,_2a5=-1,_2a6=-1,_2a7=-1,inId=-1,_2a8=-1,_2a9,lc="",cc="",_2aa;var x=0,ql=_2a1.length,_2ab=null,_2ac=null;var _2ad=function(){if(_2a8>=0){var tv=(_2a8==x)?null:ts(_2a8,x);_2ab[(_29d.indexOf(tv)<0)?"tag":"oper"]=tv;_2a8=-1;}};var _2ae=function(){if(inId>=0){_2ab.id=ts(inId,x).replace(/\\/g,"");inId=-1;}};var _2af=function(){if(_2a7>=0){_2ab.classes.push(ts(_2a7+1,x).replace(/\\/g,""));_2a7=-1;}};var _2b0=function(){_2ae();_2ad();_2af();};var _2b1=function(){_2b0();if(_2a6>=0){_2ab.pseudos.push({name:ts(_2a6+1,x)});}_2ab.loops=(_2ab.pseudos.length||_2ab.attrs.length||_2ab.classes.length);_2ab.oquery=_2ab.query=ts(_2aa,x);_2ab.otag=_2ab.tag=(_2ab["oper"])?null:(_2ab.tag||"*");if(_2ab.tag){_2ab.tag=_2ab.tag.toUpperCase();}if(_2a2.length&&(_2a2[_2a2.length-1].oper)){_2ab.infixOper=_2a2.pop();_2ab.query=_2ab.infixOper.query+" "+_2ab.query;}_2a2.push(_2ab);_2ab=null;};for(;lc=cc,cc=_2a1.charAt(x),x=0){if(cc=="]"){if(!_2ac.attr){_2ac.attr=ts(_2a3+1,x);}else{_2ac.matchFor=ts((_2a5||_2a3+1),x);}var cmf=_2ac.matchFor;if(cmf){if((cmf.charAt(0)=="\"")||(cmf.charAt(0)=="'")){_2ac.matchFor=cmf.slice(1,-1);}}if(_2ac.matchFor){_2ac.matchFor=_2ac.matchFor.replace(/\\/g,"");}_2ab.attrs.push(_2ac);_2ac=null;_2a3=_2a5=-1;}else{if(cc=="="){var _2b2=("|~^$*".indexOf(lc)>=0)?lc:"";_2ac.type=_2b2+cc;_2ac.attr=ts(_2a3+1,x-_2b2.length);_2a5=x+1;}}}else{if(_2a4>=0){if(cc==")"){if(_2a6>=0){_2ac.value=ts(_2a4+1,x);}_2a6=_2a4=-1;}}else{if(cc=="#"){_2b0();inId=x+1;}else{if(cc=="."){_2b0();_2a7=x;}else{if(cc==":"){_2b0();_2a6=x;}else{if(cc=="["){_2b0();_2a3=x;_2ac={};}else{if(cc=="("){if(_2a6>=0){_2ac={name:ts(_2a6+1,x),value:null};_2ab.pseudos.push(_2ac);}_2a4=x;}else{if((cc==" ")&&(lc!=cc)){_2b1();}}}}}}}}}return _2a2;};var _2b3=function(_2b4,_2b5){if(!_2b4){return _2b5;}if(!_2b5){return _2b4;}return function(){return _2b4.apply(window,arguments)&&_2b5.apply(window,arguments);};};var _2b6=function(i,arr){var r=arr||[];if(i){r.push(i);}return r;};var _2b7=function(n){return (1==n.nodeType);};var _2b8="";var _2b9=function(elem,attr){if(!elem){return _2b8;}if(attr=="class"){return elem.className||_2b8;}if(attr=="for"){return elem.htmlFor||_2b8;}if(attr=="style"){return elem.style.cssText||_2b8;}return (_29e?elem.getAttribute(attr):elem.getAttribute(attr,2))||_2b8;};var _2ba={"*=":function(attr,_2bb){return function(elem){return (_2b9(elem,attr).indexOf(_2bb)>=0);};},"^=":function(attr,_2bc){return function(elem){return (_2b9(elem,attr).indexOf(_2bc)==0);};},"$=":function(attr,_2bd){return function(elem){var ea=" "+_2b9(elem,attr);var _2be=ea.lastIndexOf(_2bd);return _2be>-1&&(_2be==(ea.length-_2bd.length));};},"~=":function(attr,_2bf){var tval=" "+_2bf+" ";return function(elem){var ea=" "+_2b9(elem,attr)+" ";return (ea.indexOf(tval)>=0);};},"|=":function(attr,_2c0){var _2c1=_2c0+"-";return function(elem){var ea=_2b9(elem,attr);return ((ea==_2c0)||(ea.indexOf(_2c1)==0));};},"=":function(attr,_2c2){return function(elem){return (_2b9(elem,attr)==_2c2);};}};var _2c3=(typeof _29b().firstChild.nextElementSibling=="undefined");var _2c4=!_2c3?"nextElementSibling":"nextSibling";var _2c5=!_2c3?"previousElementSibling":"previousSibling";var _2c6=(_2c3?_2b7:_29f);var _2c7=function(node){while(node=node[_2c5]){if(_2c6(node)){return false;}}return true;};var _2c8=function(node){while(node=node[_2c4]){if(_2c6(node)){return false;}}return true;};var _2c9=function(node){var root=node.parentNode;var i=0,tret=root.children||root.childNodes,ci=(node["_i"]||-1),cl=(root["_l"]||-1);if(!tret){return -1;}var l=tret.length;if(cl==l&&ci>=0&&cl>=0){return ci;}root["_l"]=l;ci=-1;for(var te=root["firstElementChild"]||root["firstChild"];te;te=te[_2c4]){if(_2c6(te)){te["_i"]=++i;if(node===te){ci=i;}}}return ci;};var _2ca=function(elem){return !((_2c9(elem))%2);};var _2cb=function(elem){return ((_2c9(elem))%2);};var _2cc={"checked":function(name,_2cd){return function(elem){return !!("checked" in elem?elem.checked:elem.selected);};},"first-child":function(){return _2c7;},"last-child":function(){return _2c8;},"only-child":function(name,_2ce){return function(node){return _2c7(node)&&_2c8(node);};},"empty":function(name,_2cf){return function(elem){var cn=elem.childNodes;var cnl=elem.childNodes.length;for(var x=cnl-1;x>=0;x--){var nt=cn[x].nodeType;if((nt===1)||(nt==3)){return false;}}return true;};},"disabled":function(name,_2d0){return function(elem){return elem.disabled;};},"enabled":function(name,_2d1){return function(elem){return !elem.disabled;};},"contains":function(name,_2d2){var cz=_2d2.charAt(0);if(cz=="\""||cz=="'"){_2d2=_2d2.slice(1,-1);}return function(elem){return (elem.innerHTML.indexOf(_2d2)>=0);};},"not":function(name,_2d3){var p=_2a0(_2d3)[0];var _2d4={el:1};if(p.tag!="*"){_2d4.tag=1;}if(!p.classes.length){_2d4.classes=1;}var ntf=_2d5(p,_2d4);return function(elem){return (!ntf(elem));};},"nth-child":function(name,_2d6){var pi=parseInt;if(_2d6=="odd"){return _2cb;}else{if(_2d6=="even"){return _2ca;}}if(_2d6.indexOf("n")!=-1){var _2d7=_2d6.split("n",2);var pred=_2d7[0]?((_2d7[0]=="-")?-1:pi(_2d7[0])):1;var idx=_2d7[1]?pi(_2d7[1]):0;var lb=0,ub=-1;if(pred>0){if(idx<0){idx=(idx%pred)&&(pred+(idx%pred));}else{if(idx>0){if(idx>=pred){lb=idx-idx%pred;}idx=idx%pred;}}}else{if(pred<0){pred*=-1;if(idx>0){ub=idx;idx=idx%pred;}}}if(pred>0){return function(elem){var i=_2c9(elem);return (i>=lb)&&(ub<0||i<=ub)&&((i%pred)==idx);};}else{_2d6=idx;}}var _2d8=pi(_2d6);return function(elem){return (_2c9(elem)==_2d8);};}};var _2d9=(dojo.isIE<9||dojo.isIE==9&&dojo.isQuirks)?function(cond){var clc=cond.toLowerCase();if(clc=="class"){cond="className";}return function(elem){return (_29e?elem.getAttribute(cond):elem[cond]||elem[clc]);};}:function(cond){return function(elem){return (elem&&elem.getAttribute&&elem.hasAttribute(cond));};};var _2d5=function(_2da,_2db){if(!_2da){return _29f;}_2db=_2db||{};var ff=null;if(!("el" in _2db)){ff=_2b3(ff,_2b7);}if(!("tag" in _2db)){if(_2da.tag!="*"){ff=_2b3(ff,function(elem){return (elem&&(elem.tagName==_2da.getTag()));});}}if(!("classes" in _2db)){each(_2da.classes,function(_2dc,idx,arr){var re=new RegExp("(?:^|\\s)"+_2dc+"(?:\\s|$)");ff=_2b3(ff,function(elem){return re.test(elem.className);});ff.count=idx;});}if(!("pseudos" in _2db)){each(_2da.pseudos,function(_2dd){var pn=_2dd.name;if(_2cc[pn]){ff=_2b3(ff,_2cc[pn](pn,_2dd.value));}});}if(!("attrs" in _2db)){each(_2da.attrs,function(attr){var _2de;var a=attr.attr;if(attr.type&&_2ba[attr.type]){_2de=_2ba[attr.type](a,attr.matchFor);}else{if(a.length){_2de=_2d9(a);}}if(_2de){ff=_2b3(ff,_2de);}});}if(!("id" in _2db)){if(_2da.id){ff=_2b3(ff,function(elem){return (!!elem&&(elem.id==_2da.id));});}}if(!ff){if(!("default" in _2db)){ff=_29f;}}return ff;};var _2df=function(_2e0){return function(node,ret,bag){while(node=node[_2c4]){if(_2c3&&(!_2b7(node))){continue;}if((!bag||_2e1(node,bag))&&_2e0(node)){ret.push(node);}break;}return ret;};};var _2e2=function(_2e3){return function(root,ret,bag){var te=root[_2c4];while(te){if(_2c6(te)){if(bag&&!_2e1(te,bag)){break;}if(_2e3(te)){ret.push(te);}}te=te[_2c4];}return ret;};};var _2e4=function(_2e5){_2e5=_2e5||_29f;return function(root,ret,bag){var te,x=0,tret=root.children||root.childNodes;while(te=tret[x++]){if(_2c6(te)&&(!bag||_2e1(te,bag))&&(_2e5(te,x))){ret.push(te);}}return ret;};};var _2e6=function(node,root){var pn=node.parentNode;while(pn){if(pn==root){break;}pn=pn.parentNode;}return !!pn;};var _2e7={};var _2e8=function(_2e9){var _2ea=_2e7[_2e9.query];if(_2ea){return _2ea;}var io=_2e9.infixOper;var oper=(io?io.oper:"");var _2eb=_2d5(_2e9,{el:1});var qt=_2e9.tag;var _2ec=("*"==qt);var ecs=_29b()["getElementsByClassName"];if(!oper){if(_2e9.id){_2eb=(!_2e9.loops&&_2ec)?_29f:_2d5(_2e9,{el:1,id:1});_2ea=function(root,arr){var te=dom.byId(_2e9.id,(root.ownerDocument||root));if(!te||!_2eb(te)){return;}if(9==root.nodeType){return _2b6(te,arr);}else{if(_2e6(te,root)){return _2b6(te,arr);}}};}else{if(ecs&&/\{\s*\[native code\]\s*\}/.test(String(ecs))&&_2e9.classes.length&&!_29c){_2eb=_2d5(_2e9,{el:1,classes:1,id:1});var _2ed=_2e9.classes.join(" ");_2ea=function(root,arr,bag){var ret=_2b6(0,arr),te,x=0;var tret=root.getElementsByClassName(_2ed);while((te=tret[x++])){if(_2eb(te,root)&&_2e1(te,bag)){ret.push(te);}}return ret;};}else{if(!_2ec&&!_2e9.loops){_2ea=function(root,arr,bag){var ret=_2b6(0,arr),te,x=0;var tret=root.getElementsByTagName(_2e9.getTag());while((te=tret[x++])){if(_2e1(te,bag)){ret.push(te);}}return ret;};}else{_2eb=_2d5(_2e9,{el:1,tag:1,id:1});_2ea=function(root,arr,bag){var ret=_2b6(0,arr),te,x=0;var tret=root.getElementsByTagName(_2e9.getTag());while((te=tret[x++])){if(_2eb(te,root)&&_2e1(te,bag)){ret.push(te);}}return ret;};}}}}else{var _2ee={el:1};if(_2ec){_2ee.tag=1;}_2eb=_2d5(_2e9,_2ee);if("+"==oper){_2ea=_2df(_2eb);}else{if("~"==oper){_2ea=_2e2(_2eb);}else{if(">"==oper){_2ea=_2e4(_2eb);}}}}return _2e7[_2e9.query]=_2ea;};var _2ef=function(root,_2f0){var _2f1=_2b6(root),qp,x,te,qpl=_2f0.length,bag,ret;for(var i=0;i0){bag={};ret.nozip=true;}var gef=_2e8(qp);for(var j=0;(te=_2f1[j]);j++){gef(te,ret,bag);}if(!ret.length){break;}_2f1=ret;}return ret;};var _2f2={},_2f3={};var _2f4=function(_2f5){var _2f6=_2a0(trim(_2f5));if(_2f6.length==1){var tef=_2e8(_2f6[0]);return function(root){var r=tef(root,[]);if(r){r.nozip=true;}return r;};}return function(root){return _2ef(root,_2f6);};};var nua=navigator.userAgent;var wk="WebKit/";var _2f7=(dojo.isWebKit&&(nua.indexOf(wk)>0)&&(parseFloat(nua.split(wk)[1])>528));var _2f8=dojo.isIE?"commentStrip":"nozip";var qsa="querySelectorAll";var _2f9=(!!_29b()[qsa]&&(!dojo.isSafari||(dojo.isSafari>3.1)||_2f7));var _2fa=/\\[>~+]|n\+\d|([^ \\])?([>~+])([^ =])?/g;var _2fb=function(_2fc,pre,ch,post){return ch?(pre?pre+" ":"")+ch+(post?" "+post:""):_2fc;};var _2fd=/([^[]*)([^\]]*])?/g;var _2fe=function(_2ff,_300,att){return _300.replace(_2fa,_2fb)+(att||"");};var _301=function(_302,_303){_302=_302.replace(_2fd,_2fe);if(_2f9){var _304=_2f3[_302];if(_304&&!_303){return _304;}}var _305=_2f2[_302];if(_305){return _305;}var qcz=_302.charAt(0);var _306=(-1==_302.indexOf(" "));if((_302.indexOf("#")>=0)&&(_306)){_303=true;}var _307=(_2f9&&(!_303)&&(_29d.indexOf(qcz)==-1)&&(!dojo.isIE||(_302.indexOf(":")==-1))&&(!(_29c&&(_302.indexOf(".")>=0)))&&(_302.indexOf(":contains")==-1)&&(_302.indexOf(":checked")==-1)&&(_302.indexOf("|=")==-1));if(_307){var tq=(_29d.indexOf(_302.charAt(_302.length-1))>=0)?(_302+" *"):_302;return _2f3[_302]=function(root){try{if(!((9==root.nodeType)||_306)){throw "";}var r=root[qsa](tq);r[_2f8]=true;return r;}catch(e){return _301(_302,true)(root);}};}else{var _308=_302.match(/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g);return _2f2[_302]=((_308.length<2)?_2f4(_302):function(root){var _309=0,ret=[],tp;while((tp=_308[_309++])){ret=ret.concat(_2f4(tp)(root));}return ret;});}};var _30a=0;var _30b=dojo.isIE?function(node){if(_29e){return (node.getAttribute("_uid")||node.setAttribute("_uid",++_30a)||_30a);}else{return node.uniqueID;}}:function(node){return (node._uid||(node._uid=++_30a));};var _2e1=function(node,bag){if(!bag){return 1;}var id=_30b(node);if(!bag[id]){return bag[id]=1;}return 0;};var _30c="_zipIdx";var _30d=function(arr){if(arr&&arr.nozip){return arr;}var ret=[];if(!arr||!arr.length){return ret;}if(arr[0]){ret.push(arr[0]);}if(arr.length<2){return ret;}_30a++;if(dojo.isIE&&_29e){var _30e=_30a+"";arr[0].setAttribute(_30c,_30e);for(var x=1,te;te=arr[x];x++){if(arr[x].getAttribute(_30c)!=_30e){ret.push(te);}te.setAttribute(_30c,_30e);}}else{if(dojo.isIE&&arr.commentStrip){try{for(var x=1,te;te=arr[x];x++){if(_2b7(te)){ret.push(te);}}}catch(e){}}else{if(arr[0]){arr[0][_30c]=_30a;}for(var x=1,te;te=arr[x];x++){if(arr[x][_30c]!=_30a){ret.push(te);}te[_30c]=_30a;}}}return ret;};var _30f=function(_310,root){root=root||_29b();var od=root.ownerDocument||root;_29e=(od.createElement("div").tagName==="div");var r=_301(_310)(root);if(r&&r.nozip){return r;}return _30d(r);};_30f.filter=function(_311,_312,root){var _313=[],_314=_2a0(_312),_315=(_314.length==1&&!/[^\w#\.]/.test(_312))?_2d5(_314[0]):function(node){return dojo.query(_312,root).indexOf(node)!=-1;};for(var x=0,te;te=_311[x];x++){if(_315(te)){_313.push(te);}}return _313;};return _30f;});},"dojo/dom-style":function(){define("dojo/dom-style",["./_base/sniff","./dom"],function(has,dom){var _316,_317={};if(has("webkit")){_316=function(node){var s;if(node.nodeType==1){var dv=node.ownerDocument.defaultView;s=dv.getComputedStyle(node,null);if(!s&&node.style){node.style.display="";s=dv.getComputedStyle(node,null);}}return s||{};};}else{if(has("ie")&&(has("ie")<9||has("quirks"))){_316=function(node){return node.nodeType==1?node.currentStyle:{};};}else{_316=function(node){return node.nodeType==1?node.ownerDocument.defaultView.getComputedStyle(node,null):{};};}}_317.getComputedStyle=_316;var _318;if(!has("ie")){_318=function(_319,_31a){return parseFloat(_31a)||0;};}else{_318=function(_31b,_31c){if(!_31c){return 0;}if(_31c=="medium"){return 4;}if(_31c.slice&&_31c.slice(-2)=="px"){return parseFloat(_31c);}var s=_31b.style,rs=_31b.runtimeStyle,cs=_31b.currentStyle,_31d=s.left,_31e=rs.left;rs.left=cs.left;try{s.left=_31c;_31c=s.pixelLeft;}catch(e){_31c=0;}s.left=_31d;rs.left=_31e;return _31c;};}_317.toPixelValue=_318;var astr="DXImageTransform.Microsoft.Alpha";var af=function(n,f){try{return n.filters.item(astr);}catch(e){return f?{}:null;}};var _31f=has("ie")<9||(has("ie")<10&&has("quirks"))?function(node){try{return af(node).Opacity/100;}catch(e){return 1;}}:function(node){return _316(node).opacity;};var _320=has("ie")<9||(has("ie")<10&&has("quirks"))?function(node,_321){var ov=_321*100,_322=_321==1;node.style.zoom=_322?"":1;if(!af(node)){if(_322){return _321;}node.style.filter+=" progid:"+astr+"(Opacity="+ov+")";}else{af(node,1).Opacity=ov;}af(node,1).Enabled=!_322;if(node.tagName.toLowerCase()=="tr"){for(var td=node.firstChild;td;td=td.nextSibling){if(td.tagName.toLowerCase()=="td"){_320(td,_321);}}}return _321;}:function(node,_323){return node.style.opacity=_323;};var _324={left:true,top:true};var _325=/margin|padding|width|height|max|min|offset/;function _326(node,type,_327){type=type.toLowerCase();if(has("ie")){if(_327=="auto"){if(type=="height"){return node.offsetHeight;}if(type=="width"){return node.offsetWidth;}}if(type=="fontweight"){switch(_327){case 700:return "bold";case 400:default:return "normal";}}}if(!(type in _324)){_324[type]=_325.test(type);}return _324[type]?_318(node,_327):_327;};var _328=has("ie")?"styleFloat":"cssFloat",_329={"cssFloat":_328,"styleFloat":_328,"float":_328};_317.get=function getStyle(node,name){var n=dom.byId(node),l=arguments.length,op=(name=="opacity");if(l==2&&op){return _31f(n);}name=_329[name]||name;var s=_317.getComputedStyle(n);return (l==1)?s:_326(n,name,s[name]||n.style[name]);};_317.set=function setStyle(node,name,_32a){var n=dom.byId(node),l=arguments.length,op=(name=="opacity");name=_329[name]||name;if(l==3){return op?_320(n,_32a):n.style[name]=_32a;}for(var x in name){_317.set(node,x,name[x]);}return _317.getComputedStyle(n);};return _317;});},"dojo/dom-geometry":function(){define(["./_base/sniff","./_base/window","./dom","./dom-style"],function(has,win,dom,_32b){var geom={};geom.boxModel="content-box";if(has("ie")){geom.boxModel=document.compatMode=="BackCompat"?"border-box":"content-box";}geom.getPadExtents=function getPadExtents(node,_32c){node=dom.byId(node);var s=_32c||_32b.getComputedStyle(node),px=_32b.toPixelValue,l=px(node,s.paddingLeft),t=px(node,s.paddingTop),r=px(node,s.paddingRight),b=px(node,s.paddingBottom);return {l:l,t:t,r:r,b:b,w:l+r,h:t+b};};var none="none";geom.getBorderExtents=function getBorderExtents(node,_32d){node=dom.byId(node);var px=_32b.toPixelValue,s=_32d||_32b.getComputedStyle(node),l=s.borderLeftStyle!=none?px(node,s.borderLeftWidth):0,t=s.borderTopStyle!=none?px(node,s.borderTopWidth):0,r=s.borderRightStyle!=none?px(node,s.borderRightWidth):0,b=s.borderBottomStyle!=none?px(node,s.borderBottomWidth):0;return {l:l,t:t,r:r,b:b,w:l+r,h:t+b};};geom.getPadBorderExtents=function getPadBorderExtents(node,_32e){node=dom.byId(node);var s=_32e||_32b.getComputedStyle(node),p=geom.getPadExtents(node,s),b=geom.getBorderExtents(node,s);return {l:p.l+b.l,t:p.t+b.t,r:p.r+b.r,b:p.b+b.b,w:p.w+b.w,h:p.h+b.h};};geom.getMarginExtents=function getMarginExtents(node,_32f){node=dom.byId(node);var s=_32f||_32b.getComputedStyle(node),px=_32b.toPixelValue,l=px(node,s.marginLeft),t=px(node,s.marginTop),r=px(node,s.marginRight),b=px(node,s.marginBottom);if(has("webkit")&&(s.position!="absolute")){r=l;}return {l:l,t:t,r:r,b:b,w:l+r,h:t+b};};geom.getMarginBox=function getMarginBox(node,_330){node=dom.byId(node);var s=_330||_32b.getComputedStyle(node),me=geom.getMarginExtents(node,s),l=node.offsetLeft-me.l,t=node.offsetTop-me.t,p=node.parentNode,px=_32b.toPixelValue,pcs;if(has("mozilla")){var sl=parseFloat(s.left),st=parseFloat(s.top);if(!isNaN(sl)&&!isNaN(st)){l=sl,t=st;}else{if(p&&p.style){pcs=_32b.getComputedStyle(p);if(pcs.overflow!="visible"){l+=pcs.borderLeftStyle!=none?px(node,pcs.borderLeftWidth):0;t+=pcs.borderTopStyle!=none?px(node,pcs.borderTopWidth):0;}}}}else{if(has("opera")||(has("ie")==8&&!has("quirks"))){if(p){pcs=_32b.getComputedStyle(p);l-=pcs.borderLeftStyle!=none?px(node,pcs.borderLeftWidth):0;t-=pcs.borderTopStyle!=none?px(node,pcs.borderTopWidth):0;}}}return {l:l,t:t,w:node.offsetWidth+me.w,h:node.offsetHeight+me.h};};geom.getContentBox=function getContentBox(node,_331){node=dom.byId(node);var s=_331||_32b.getComputedStyle(node),w=node.clientWidth,h,pe=geom.getPadExtents(node,s),be=geom.getBorderExtents(node,s);if(!w){w=node.offsetWidth;h=node.offsetHeight;}else{h=node.clientHeight;be.w=be.h=0;}if(has("opera")){pe.l+=be.l;pe.t+=be.t;}return {l:pe.l,t:pe.t,w:w-pe.w-be.w,h:h-pe.h-be.h};};function _332(node,l,t,w,h,u){u=u||"px";var s=node.style;if(!isNaN(l)){s.left=l+u;}if(!isNaN(t)){s.top=t+u;}if(w>=0){s.width=w+u;}if(h>=0){s.height=h+u;}};function _333(node){return node.tagName.toLowerCase()=="button"||node.tagName.toLowerCase()=="input"&&(node.getAttribute("type")||"").toLowerCase()=="button";};function _334(node){return geom.boxModel=="border-box"||node.tagName.toLowerCase()=="table"||_333(node);};geom.setContentSize=function setContentSize(node,box,_335){node=dom.byId(node);var w=box.w,h=box.h;if(_334(node)){var pb=geom.getPadBorderExtents(node,_335);if(w>=0){w+=pb.w;}if(h>=0){h+=pb.h;}}_332(node,NaN,NaN,w,h);};var _336={l:0,t:0,w:0,h:0};geom.setMarginBox=function setMarginBox(node,box,_337){node=dom.byId(node);var s=_337||_32b.getComputedStyle(node),w=box.w,h=box.h,pb=_334(node)?_336:geom.getPadBorderExtents(node,s),mb=geom.getMarginExtents(node,s);if(has("webkit")){if(_333(node)){var ns=node.style;if(w>=0&&!ns.width){ns.width="4px";}if(h>=0&&!ns.height){ns.height="4px";}}}if(w>=0){w=Math.max(w-pb.w-mb.w,0);}if(h>=0){h=Math.max(h-pb.h-mb.h,0);}_332(node,box.l,box.t,w,h);};geom.isBodyLtr=function isBodyLtr(){return (win.body().dir||win.doc.documentElement.dir||"ltr").toLowerCase()=="ltr";};geom.docScroll=function docScroll(){var node=win.doc.parentWindow||win.doc.defaultView;return "pageXOffset" in node?{x:node.pageXOffset,y:node.pageYOffset}:(node=has("quirks")?win.body():win.doc.documentElement,{x:geom.fixIeBiDiScrollLeft(node.scrollLeft||0),y:node.scrollTop||0});};geom.getIeDocumentElementOffset=function getIeDocumentElementOffset(){var de=win.doc.documentElement;if(has("ie")<8){var r=de.getBoundingClientRect(),l=r.left,t=r.top;if(has("ie")<7){l+=de.clientLeft;t+=de.clientTop;}return {x:l<0?0:l,y:t<0?0:t};}else{return {x:0,y:0};}};geom.fixIeBiDiScrollLeft=function fixIeBiDiScrollLeft(_338){var ie=has("ie");if(ie&&!geom.isBodyLtr()){var qk=has("quirks"),de=qk?win.body():win.doc.documentElement;if(ie==6&&!qk&&win.global.frameElement&&de.scrollHeight>de.clientHeight){_338+=de.clientLeft;}return (ie<8||qk)?(_338+de.clientWidth-de.scrollWidth):-_338;}return _338;};geom.position=function(node,_339){node=dom.byId(node);var db=win.body(),dh=db.parentNode,ret=node.getBoundingClientRect();ret={x:ret.left,y:ret.top,w:ret.right-ret.left,h:ret.bottom-ret.top};if(has("ie")<9){var _33a=geom.getIeDocumentElementOffset();ret.x-=_33a.x+(has("quirks")?db.clientLeft+db.offsetLeft:0);ret.y-=_33a.y+(has("quirks")?db.clientTop+db.offsetTop:0);}else{if(has("ff")==3){var cs=_32b.getComputedStyle(dh),px=_32b.toPixelValue;ret.x-=px(dh,cs.marginLeft)+px(dh,cs.borderLeftWidth);ret.y-=px(dh,cs.marginTop)+px(dh,cs.borderTopWidth);}}if(_339){var _33b=geom.docScroll();ret.x+=_33b.x;ret.y+=_33b.y;}return ret;};geom.getMarginSize=function getMarginSize(node,_33c){node=dom.byId(node);var me=geom.getMarginExtents(node,_33c||_32b.getComputedStyle(node));var size=node.getBoundingClientRect();return {w:(size.right-size.left)+me.w,h:(size.bottom-size.top)+me.h};};geom.normalizeEvent=function(_33d){if(!("layerX" in _33d)){_33d.layerX=_33d.offsetX;_33d.layerY=_33d.offsetY;}if(!has("dom-addeventlistener")){var se=_33d.target;var doc=(se&&se.ownerDocument)||document;var _33e=has("quirks")?doc.body:doc.documentElement;var _33f=geom.getIeDocumentElementOffset();_33d.pageX=_33d.clientX+geom.fixIeBiDiScrollLeft(_33e.scrollLeft||0)-_33f.x;_33d.pageY=_33d.clientY+(_33e.scrollTop||0)-_33f.y;}};return geom;});},"dojo/dom-prop":function(){define(["exports","./_base/kernel","./_base/sniff","./_base/lang","./dom","./dom-style","./dom-construct","./_base/connect"],function(_340,dojo,has,lang,dom,_341,ctr,conn){var _342={},_343=0,_344=dojo._scopeName+"attrid";var _345={col:1,colgroup:1,table:1,tbody:1,tfoot:1,thead:1,tr:1,title:1};_340.names={"class":"className","for":"htmlFor",tabindex:"tabIndex",readonly:"readOnly",colspan:"colSpan",frameborder:"frameBorder",rowspan:"rowSpan",valuetype:"valueType"};_340.get=function getProp(node,name){node=dom.byId(node);var lc=name.toLowerCase(),_346=_340.names[lc]||name;return node[_346];};_340.set=function setProp(node,name,_347){node=dom.byId(node);var l=arguments.length;if(l==2&&typeof name!="string"){for(var x in name){_340.set(node,x,name[x]);}return node;}var lc=name.toLowerCase(),_348=_340.names[lc]||name;if(_348=="style"&&typeof _347!="string"){_341.style(node,_347);return node;}if(_348=="innerHTML"){if(has("ie")&&node.tagName.toLowerCase() in _345){ctr.empty(node);node.appendChild(ctr.toDom(_347,node.ownerDocument));}else{node[_348]=_347;}return node;}if(lang.isFunction(_347)){var _349=node[_344];if(!_349){_349=_343++;node[_344]=_349;}if(!_342[_349]){_342[_349]={};}var h=_342[_349][_348];if(h){conn.disconnect(h);}else{try{delete node[_348];}catch(e){}}if(_347){_342[_349][_348]=conn.connect(node,_348,_347);}else{node[_348]=null;}return node;}node[_348]=_347;return node;};});},"dojo/dom-attr":function(){define(["exports","./_base/sniff","./_base/lang","./dom","./dom-style","./dom-prop"],function(_34a,has,lang,dom,_34b,prop){var _34c={innerHTML:1,className:1,htmlFor:has("ie"),value:1},_34d={classname:"class",htmlfor:"for",tabindex:"tabIndex",readonly:"readOnly"};function _34e(node,name){var attr=node.getAttributeNode&&node.getAttributeNode(name);return attr&&attr.specified;};_34a.has=function hasAttr(node,name){var lc=name.toLowerCase();return _34c[prop.names[lc]||name]||_34e(dom.byId(node),_34d[lc]||name);};_34a.get=function getAttr(node,name){node=dom.byId(node);var lc=name.toLowerCase(),_34f=prop.names[lc]||name,_350=_34c[_34f];value=node[_34f];if(_350&&typeof value!="undefined"){return value;}if(_34f!="href"&&(typeof value=="boolean"||lang.isFunction(value))){return value;}var _351=_34d[lc]||name;return _34e(node,_351)?node.getAttribute(_351):null;};_34a.set=function setAttr(node,name,_352){node=dom.byId(node);if(arguments.length==2){for(var x in name){_34a.set(node,x,name[x]);}return node;}var lc=name.toLowerCase(),_353=prop.names[lc]||name,_354=_34c[_353];if(_353=="style"&&typeof _352!="string"){_34b.set(node,_352);return node;}if(_354||typeof _352=="boolean"||lang.isFunction(_352)){return prop.set(node,name,_352);}node.setAttribute(_34d[lc]||name,_352);return node;};_34a.remove=function removeAttr(node,name){dom.byId(node).removeAttribute(_34d[name.toLowerCase()]||name);};_34a.getNodeProp=function getNodeProp(node,name){node=dom.byId(node);var lc=name.toLowerCase(),_355=prop.names[lc]||name;if((_355 in node)&&_355!="href"){return node[_355];}var _356=_34d[lc]||name;return _34e(node,_356)?node.getAttribute(_356):null;};});},"dojo/dom-construct":function(){define(["exports","./_base/kernel","./_base/sniff","./_base/window","./dom","./dom-attr","./on"],function(_357,dojo,has,win,dom,attr,on){var _358={option:["select"],tbody:["table"],thead:["table"],tfoot:["table"],tr:["table","tbody"],td:["table","tbody","tr"],th:["table","thead","tr"],legend:["fieldset"],caption:["table"],colgroup:["table"],col:["table","colgroup"],li:["ul"]},_359=/<\s*([\w\:]+)/,_35a={},_35b=0,_35c="__"+dojo._scopeName+"ToDomId";for(var _35d in _358){if(_358.hasOwnProperty(_35d)){var tw=_358[_35d];tw.pre=_35d=="option"?"":"<"+tw.join("><")+">";tw.post=""+tw.reverse().join(">")+">";}}function _35e(node,ref){var _35f=ref.parentNode;if(_35f){_35f.insertBefore(node,ref);}};function _360(node,ref){var _361=ref.parentNode;if(_361){if(_361.lastChild==ref){_361.appendChild(node);}else{_361.insertBefore(node,ref.nextSibling);}}};_357.toDom=function toDom(frag,doc){doc=doc||win.doc;var _362=doc[_35c];if(!_362){doc[_35c]=_362=++_35b+"";_35a[_362]=doc.createElement("div");}frag+="";var _363=frag.match(_359),tag=_363?_363[1].toLowerCase():"",_364=_35a[_362],wrap,i,fc,df;if(_363&&_358[tag]){wrap=_358[tag];_364.innerHTML=wrap.pre+frag+wrap.post;for(i=wrap.length;i;--i){_364=_364.firstChild;}}else{_364.innerHTML=frag;}if(_364.childNodes.length==1){return _364.removeChild(_364.firstChild);}df=doc.createDocumentFragment();while((fc=_364.firstChild)){df.appendChild(fc);}return df;};_357.place=function place(node,_365,_366){_365=dom.byId(_365);if(typeof node=="string"){node=/^\s*2){return lang._hitchArgs.apply(dojo,arguments);}if(!_39d){_39d=_39c;_39c=null;}if(lang.isString(_39d)){_39c=_39c||dojo.global;if(!_39c[_39d]){throw (["dojo.hitch: scope[\"",_39d,"\"] is null (scope=\"",_39c,"\")"].join(""));}return function(){return _39c[_39d].apply(_39c,arguments||[]);};}return !_39c?_39d:function(){return _39d.apply(_39c,arguments||[]);};},_39e=(function(){function TMP(){};return function(obj,_39f){TMP.prototype=obj;var tmp=new TMP();TMP.prototype=null;if(_39f){lang._mixin(tmp,_39f);}return tmp;};})(),_3a0=function(obj,_3a1,_3a2){return (_3a2||[]).concat(Array.prototype.slice.call(obj,_3a1||0));},_399=has("ie")?(function(){function slow(obj,_3a3,_3a4){var arr=_3a4||[];for(var x=_3a3||0;x2&&!_3e8)||"POST|PUT".indexOf(_3e7.toUpperCase())==-1){dojo._ioAddQueryToUrl(_3e9);}}}}xhr.open(_3e7,_3e9.url,args.sync!==true,args.user||undefined,args.password||undefined);if(args.headers){for(var hdr in args.headers){if(hdr.toLowerCase()==="content-type"&&!args.contentType){args.contentType=args.headers[hdr];}else{if(args.headers[hdr]){xhr.setRequestHeader(hdr,args.headers[hdr]);}}}}if(args.contentType!==false){xhr.setRequestHeader("Content-Type",args.contentType||_3e2);}if(!args.headers||!("X-Requested-With" in args.headers)){xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");}dojo._ioNotifyStart(dfd);if(dojo.config.debugAtAllCosts){xhr.send(_3e9.query);}else{try{xhr.send(_3e9.query);}catch(e){_3e9.error=e;dfd.cancel();}}dojo._ioWatch(dfd,_3e3,_3e4,_3e5);xhr=null;return dfd;};dojo.xhrGet=function(args){return dojo.xhr("GET",args);};dojo.rawXhrPost=dojo.xhrPost=function(args){return dojo.xhr("POST",args,true);};dojo.rawXhrPut=dojo.xhrPut=function(args){return dojo.xhr("PUT",args,true);};dojo.xhrDelete=function(args){return dojo.xhr("DELETE",args);};dojo._isDocumentOk=function(http){var stat=http.status||0;stat=(stat>=200&&stat<300)||stat==304||stat==1223||!stat;return stat;};dojo._getText=function(url){var _3ea;dojo.xhrGet({url:url,sync:true,load:function(text){_3ea=text;}});return _3ea;};lang.mixin(dojo.xhr,{_xhrObj:dojo._xhrObj,fieldToObject:_3bf.fieldToObject,formToObject:_3bf.toObject,objectToQuery:ioq.objectToQuery,formToQuery:_3bf.toQuery,formToJson:_3bf.toJson,queryToObject:ioq.queryToObject,contentHandlers:_3c4,_ioSetArgs:dojo._ioSetArgs,_ioCancelAll:dojo._ioCancelAll,_ioNotifyStart:dojo._ioNotifyStart,_ioWatch:dojo._ioWatch,_ioAddQueryToUrl:dojo._ioAddQueryToUrl,_isDocumentOk:dojo._isDocumentOk,_getText:dojo._getText,get:dojo.xhrGet,post:dojo.xhrPost,put:dojo.xhrPut,del:dojo.xhrDelete});return dojo.xhr;});},"dojo/_base/unload":function(){define(["./kernel","./connect"],function(dojo,_3eb){var win=window;dojo.addOnWindowUnload=function(obj,_3ec){if(!dojo.windowUnloaded){_3eb.connect(win,"unload",(dojo.windowUnloaded=function(){}));}_3eb.connect(win,"unload",obj,_3ec);};dojo.addOnUnload=function(obj,_3ed){_3eb.connect(win,"beforeunload",obj,_3ed);};return {addOnWindowUnload:dojo.addOnWindowUnload,addOnUnload:dojo.addOnUnload};});},"dojo/_base/NodeList":function(){define("dojo/_base/NodeList",["./kernel","../query","./array","./html","../NodeList-dom"],function(dojo,_3ee,_3ef){var _3f0=_3ee.NodeList;var nlp=_3f0.prototype;nlp.connect=_3f0._adaptAsForEach(function(){return dojo.connect.apply(this,arguments);});nlp.coords=_3f0._adaptAsMap(dojo.coords);_3f0.events=["blur","focus","change","click","error","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","submit"];_3ef.forEach(_3f0.events,function(evt){var _3f1="on"+evt;nlp[_3f1]=function(a,b){return this.connect(_3f1,a,b);};});dojo.NodeList=_3f0;return dojo.NodeList;});},"dojo/_base/Color":function(){define(["./kernel","./lang","./array","./config"],function(dojo,lang,_3f2,_3f3){var _3f4=dojo.Color=function(_3f5){if(_3f5){this.setColor(_3f5);}};_3f4.named={"black":[0,0,0],"silver":[192,192,192],"gray":[128,128,128],"white":[255,255,255],"maroon":[128,0,0],"red":[255,0,0],"purple":[128,0,128],"fuchsia":[255,0,255],"green":[0,128,0],"lime":[0,255,0],"olive":[128,128,0],"yellow":[255,255,0],"navy":[0,0,128],"blue":[0,0,255],"teal":[0,128,128],"aqua":[0,255,255],"transparent":_3f3.transparentColor||[0,0,0,0]};lang.extend(_3f4,{r:255,g:255,b:255,a:1,_set:function(r,g,b,a){var t=this;t.r=r;t.g=g;t.b=b;t.a=a;},setColor:function(_3f6){if(lang.isString(_3f6)){_3f4.fromString(_3f6,this);}else{if(lang.isArray(_3f6)){_3f4.fromArray(_3f6,this);}else{this._set(_3f6.r,_3f6.g,_3f6.b,_3f6.a);if(!(_3f6 instanceof _3f4)){this.sanitize();}}}return this;},sanitize:function(){return this;},toRgb:function(){var t=this;return [t.r,t.g,t.b];},toRgba:function(){var t=this;return [t.r,t.g,t.b,t.a];},toHex:function(){var arr=_3f2.map(["r","g","b"],function(x){var s=this[x].toString(16);return s.length<2?"0"+s:s;},this);return "#"+arr.join("");},toCss:function(_3f7){var t=this,rgb=t.r+", "+t.g+", "+t.b;return (_3f7?"rgba("+rgb+", "+t.a:"rgb("+rgb)+")";},toString:function(){return this.toCss(true);}});_3f4.blendColors=dojo.blendColors=function(_3f8,end,_3f9,obj){var t=obj||new _3f4();_3f2.forEach(["r","g","b","a"],function(x){t[x]=_3f8[x]+(end[x]-_3f8[x])*_3f9;if(x!="a"){t[x]=Math.round(t[x]);}});return t.sanitize();};_3f4.fromRgb=dojo.colorFromRgb=function(_3fa,obj){var m=_3fa.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return m&&_3f4.fromArray(m[1].split(/\s*,\s*/),obj);};_3f4.fromHex=dojo.colorFromHex=function(_3fb,obj){var t=obj||new _3f4(),bits=(_3fb.length==4)?4:8,mask=(1<>=bits;t[x]=bits==4?17*c:c;});t.a=1;return t;};_3f4.fromArray=dojo.colorFromArray=function(a,obj){var t=obj||new _3f4();t._set(Number(a[0]),Number(a[1]),Number(a[2]),Number(a[3]));if(isNaN(t.a)){t.a=1;}return t.sanitize();};_3f4.fromString=dojo.colorFromString=function(str,obj){var a=_3f4.named[str];return a&&_3f4.fromArray(a,obj)||_3f4.fromRgb(str,obj)||_3f4.fromHex(str,obj);};return _3f4;});},"dojo/selector/_loader":function(){define(["../has","require"],function(has,_3fc){"use strict";var _3fd=document.createElement("div");has.add("dom-qsa2.1",!!_3fd.querySelectorAll);has.add("dom-qsa3",function(){try{_3fd.innerHTML="
";return _3fd.querySelectorAll(".TEST:empty").length==1;}catch(e){}});var _3fe;var acme="./acme",lite="./lite";return {load:function(id,_3ff,_400,_401){var req=_3fc;id=id=="default"?has("config-selectorEngine")||"css3":id;id=id=="css2"||id=="lite"?lite:id=="css2.1"?has("dom-qsa2.1")?lite:acme:id=="css3"?has("dom-qsa3")?lite:acme:id=="acme"?acme:(req=_3ff)&&id;if(id.charAt(id.length-1)=="?"){id=id.substring(0,id.length-1);var _402=true;}if(_402&&(has("dom-compliant-qsa")||_3fe)){return _400(_3fe);}req([id],function(_403){if(id!="./lite"){_3fe=_403;}_400(_403);});}};});},"dojo/on":function(){define(["./has!dom-addeventlistener?:./aspect","./_base/kernel","./has"],function(_404,dojo,has){"use strict";if(1){var _405=window.ScriptEngineMajorVersion;has.add("jscript",_405&&(_405()+ScriptEngineMinorVersion()/10));has.add("event-orientationchange",has("touch")&&!has("android"));}var on=function(_406,type,_407,_408){if(typeof _406.on=="function"&&typeof type!="function"&&!_406.nodeType){return _406.on(type,_407);}return on.parse(_406,type,_407,_409,_408,this);};on.pausable=function(_40a,type,_40b,_40c){var _40d;var _40e=on(_40a,type,function(){if(!_40d){return _40b.apply(this,arguments);}},_40c);_40e.pause=function(){_40d=true;};_40e.resume=function(){_40d=false;};return _40e;};on.once=function(_40f,type,_410,_411){var _412=on(_40f,type,function(){_412.remove();return _410.apply(this,arguments);});return _412;};on.parse=function(_413,type,_414,_415,_416,_417){if(type.call){return type.call(_417,_413,_414);}if(type.indexOf(",")>-1){var _418=type.split(/\s*,\s*/);var _419=[];var i=0;var _41a;while(_41a=_418[i++]){_419.push(_415(_413,_41a,_414,_416,_417));}_419.remove=function(){for(var i=0;i<_419.length;i++){_419[i].remove();}};return _419;}return _415(_413,type,_414,_416,_417);};var _41b=/^touch/;function _409(_41c,type,_41d,_41e,_41f){var _420=type.match(/(.*):(.*)/);if(_420){type=_420[2];_420=_420[1];return on.selector(_420,type).call(_41f,_41c,_41d);}if(has("touch")){if(_41b.test(type)){_41d=_421(_41d);}if(!has("event-orientationchange")&&(type=="orientationchange")){type="resize";_41c=window;_41d=_421(_41d);}}if(_41c.addEventListener){var _422=type in _423;_41c.addEventListener(_422?_423[type]:type,_41d,_422);return {remove:function(){_41c.removeEventListener(type,_41d,_422);}};}type="on"+type;if(_424&&_41c.attachEvent){return _424(_41c,type,_41d);}throw new Error("Target must be an event emitter");};on.selector=function(_425,_426,_427){return function(_428,_429){var _42a=this;var _42b=_426.bubble;if(_42b){_426=_42b;}else{if(_427!==false){_427=true;}}return on(_428,_426,function(_42c){var _42d=_42c.target;_42a=_42a&&_42a.matches?_42a:dojo.query;while(!_42a.matches(_42d,_425,_428)){if(_42d==_428||!_427||!(_42d=_42d.parentNode)){return;}}return _429.call(_42d,_42c);});};};function _42e(){this.cancelable=false;};function _42f(){this.bubbles=false;};var _430=[].slice,_431=on.emit=function(_432,type,_433){var args=_430.call(arguments,2);var _434="on"+type;if("parentNode" in _432){var _435=args[0]={};for(var i in _433){_435[i]=_433[i];}_435.preventDefault=_42e;_435.stopPropagation=_42f;_435.target=_432;_435.type=type;_433=_435;}do{_432[_434]&&_432[_434].apply(_432,args);}while(_433&&_433.bubbles&&(_432=_432.parentNode));return _433&&_433.cancelable&&_433;};var _423={};if(has("dom-addeventlistener")){_423={focusin:"focus",focusout:"blur"};if(has("opera")){_423.keydown="keypress";}on.emit=function(_436,type,_437){if(_436.dispatchEvent&&document.createEvent){var _438=_436.ownerDocument||document;var _439=_438.createEvent("HTMLEvents");_439.initEvent(type,!!_437.bubbles,!!_437.cancelable);for(var i in _437){var _43a=_437[i];if(!(i in _439)){_439[i]=_437[i];}}return _436.dispatchEvent(_439)&&_439;}return _431.apply(on,arguments);};}else{on._fixEvent=function(evt,_43b){if(!evt){var w=_43b&&(_43b.ownerDocument||_43b.document||_43b).parentWindow||window;evt=w.event;}if(!evt){return (evt);}if(!evt.target){evt.target=evt.srcElement;evt.currentTarget=(_43b||evt.srcElement);if(evt.type=="mouseover"){evt.relatedTarget=evt.fromElement;}if(evt.type=="mouseout"){evt.relatedTarget=evt.toElement;}if(!evt.stopPropagation){evt.stopPropagation=_43c;evt.preventDefault=_43d;}switch(evt.type){case "keypress":var c=("charCode" in evt?evt.charCode:evt.keyCode);if(c==10){c=0;evt.keyCode=13;}else{if(c==13||c==27){c=0;}else{if(c==3){c=99;}}}evt.charCode=c;_43e(evt);break;}}return evt;};var _43f=function(_440){this.handle=_440;};_43f.prototype.remove=function(){delete _dojoIEListeners_[this.handle];};var _441=function(_442){return function(evt){evt=on._fixEvent(evt,this);return _442.call(this,evt);};};var _424=function(_443,type,_444){_444=_441(_444);if(((_443.ownerDocument?_443.ownerDocument.parentWindow:_443.parentWindow||_443.window||window)!=top||has("jscript")<5.8)&&!has("config-_allow_leaks")){if(typeof _dojoIEListeners_=="undefined"){_dojoIEListeners_=[];}var _445=_443[type];if(!_445||!_445.listeners){var _446=_445;_443[type]=_445=Function("event","var callee = arguments.callee; for(var i = 0; i=0){_450=1;}_451=(dav.indexOf("Konqueror")>=0)?tv:0;_452=parseFloat(dua.split("WebKit/")[1])||undefined;_453=parseFloat(dua.split("Chrome/")[1])||undefined;_454=dav.indexOf("Macintosh")>=0;_459=/iPhone|iPod|iPad/.test(dua);_45a=parseFloat(dua.split("Android ")[1])||undefined;_45b=typeof opera!="undefined"&&opera.wiiremote;var _45c=Math.max(dav.indexOf("WebKit"),dav.indexOf("Safari"),0);if(_45c&&!_453){_455=parseFloat(dav.split("Version/")[1]);if(!_455||parseFloat(dav.substr(_45c+7))<=419.3){_455=2;}}if(!has("dojo-webkit")){if(dua.indexOf("Opera")>=0){_44f=tv;if(_44f>=9.8){_44f=parseFloat(dua.split("Version/")[1])||tv;}}isIE=0;if(document.all&&!has("opera")){isIE=parseFloat(dav.split("MSIE ")[1])||undefined;}else{if(dav.indexOf("Trident")){isIE=parseFloat(dav.split("rv:")[1])||undefined;}}if(document.all&&!_44f){var mode=document.documentMode;if(mode&&mode!=5&&Math.floor(isIE)!=mode){isIE=mode;}}if(!isIE&&dua.indexOf("Gecko")>=0&&!_451&&!_452){_456=_457=tv;}if(_457){isFF=parseFloat(dua.split("Firefox/")[1]||dua.split("Minefield/")[1])||undefined;}}_458=document.compatMode=="BackCompat";_44e("opera",dojo.isOpera=_44f);_44e("air",dojo.isAIR=_450);_44e("khtml",dojo.isKhtml=_451);_44e("webkit",dojo.isWebKit=_452);_44e("chrome",dojo.isChrome=_453);_44e("mac",dojo.isMac=_454);_44e("safari",dojo.isSafari=_455);_44e("mozilla",dojo.isMozilla=dojo.isMoz=_456);_44e("ie",dojo.isIE=isIE);_44e("ff",dojo.isFF=isFF);_44e("quirks",dojo.isQuirks=_458);_44e("ios",dojo.isIos=_459);_44e("android",dojo.isAndroid=_45a);dojo.locale=dojo.locale||(isIE?n.userLanguage:n.language).toLowerCase();return has;});},"dojo/_base/array":function(){define(["./kernel","../has","./lang"],function(dojo,has,lang){var _45d={},u,_45e;function _45f(){_45d={};};function _460(fn){return _45d[fn]=new Function("item","index","array",fn);};function _461(some){var _462=!some;return function(a,fn,o){var i=0,l=a&&a.length||0,_463;if(l&&typeof a=="string"){a=a.split("");}if(typeof fn=="string"){fn=_45d[fn]||_460(fn);}if(o){for(;i0){return _45e.lastIndexOf(a,x,from);}var l=a&&a.length||0,end=up?l+_467:_466,i;if(from===u){i=up?_466:l+_467;}else{if(from<0){i=l+from;if(i<0){i=_466;}}else{i=from>=l?l+_467:from;}}if(l&&typeof a=="string"){a=a.split("");}for(;i!=end;i+=_465){if(a[i]==x){return i;}}return -1;};};function _468(a,fn,o){var i=0,l=a&&a.length||0;if(l&&typeof a=="string"){a=a.split("");}if(typeof fn=="string"){fn=_45d[fn]||_460(fn);}if(o){for(;i=0);},add:function addClass(node,_473){node=dom.byId(node);_473=_470(_473);var cls=node[_46e],_474;cls=cls?" "+cls+" ":" ";_474=cls.length;for(var i=0,len=_473.length,c;i=_497[i].priority;i++){}_497.splice(i,0,_49e);_496();};true||has.add("dojo-config-addOnLoad",1);if(1){var dca=dojo.config.addOnLoad;if(dca){_49b[(lang.isArray(dca)?"apply":"call")](dojo,dca);}}if(1&&dojo.config.parseOnLoad&&!dojo.isAsync){_49b(99,function(){if(!dojo.parser){dojo.deprecated("Add explicit require(['dojo/parser']);","","2.0");_493(["dojo/parser"]);}});}if(1){_494(_499);}else{_499();}return _49b;});},"dojo/aspect":function(){define("dojo/aspect",[],function(){"use strict";var _4a0=0;function _4a1(_4a2,type,_4a3,_4a4){var _4a5=_4a2[type];var _4a6=type=="around";var _4a7;if(_4a6){var _4a8=_4a3(function(){return _4a5.advice(this,arguments);});_4a7={remove:function(){if(_4a8){_4a8=_4a2=_4a3=null;}},advice:function(_4a9,args){return _4a8?_4a8.apply(_4a9,args):_4a5.advice(_4a9,args);}};}else{_4a7={remove:function(){if(_4a7.advice){var _4aa=_4a7.previous;var next=_4a7.next;if(!next&&!_4aa){delete _4a2[type];}else{if(_4aa){_4aa.next=next;}else{_4a2[type]=next;}if(next){next.previous=_4aa;}}_4a2=_4a3=_4a7.advice=null;}},id:_4a0++,advice:_4a3,receiveArguments:_4a4};}if(_4a5&&!_4a6){if(type=="after"){while(_4a5.next&&(_4a5=_4a5.next)){}_4a5.next=_4a7;_4a7.previous=_4a5;}else{if(type=="before"){_4a2[type]=_4a7;_4a7.next=_4a5;_4a5.previous=_4a7;}}}else{_4a2[type]=_4a7;}return _4a7;};function _4ab(type){return function(_4ac,_4ad,_4ae,_4af){var _4b0=_4ac[_4ad],_4b1;if(!_4b0||_4b0.target!=_4ac){_4ac[_4ad]=_4b1=function(){var _4b2=_4a0;var args=arguments;var _4b3=_4b1.before;while(_4b3){args=_4b3.advice.apply(this,args)||args;_4b3=_4b3.next;}if(_4b1.around){var _4b4=_4b1.around.advice(this,args);}var _4b5=_4b1.after;while(_4b5&&_4b5.id<_4b2){_4b4=_4b5.receiveArguments?_4b5.advice.apply(this,args)||_4b4:_4b5.advice.call(this,_4b4);_4b5=_4b5.next;}return _4b4;};if(_4b0){_4b1.around={advice:function(_4b6,args){return _4b0.apply(_4b6,args);}};}_4b1.target=_4ac;}var _4b7=_4a1((_4b1||_4b0),type,_4ae,_4af);_4ae=null;return _4b7;};};return {before:_4ab("before"),around:_4ab("around"),after:_4ab("after")};});},"dojo/_base/connect":function(){define(["./kernel","../on","../topic","../aspect","./event","../mouse","./sniff","./lang","../keys"],function(_4b8,on,hub,_4b9,_4ba,_4bb,has,lang){has.add("events-keypress-typed",function(){var _4bc={charCode:0};try{_4bc=document.createEvent("KeyboardEvent");(_4bc.initKeyboardEvent||_4bc.initKeyEvent).call(_4bc,"keypress",true,true,null,false,false,false,false,9,3);}catch(e){}return _4bc.charCode==0&&!has("opera");});function _4bd(obj,_4be,_4bf,_4c0,_4c1){_4c0=lang.hitch(_4bf,_4c0);if(!obj||!(obj.addEventListener||obj.attachEvent)){return _4b9.after(obj||_4b8.global,_4be,_4c0,true);}if(typeof _4be=="string"&&_4be.substring(0,2)=="on"){_4be=_4be.substring(2);}if(!obj){obj=_4b8.global;}if(!_4c1){switch(_4be){case "keypress":_4be=_4c2;break;case "mouseenter":_4be=_4bb.enter;break;case "mouseleave":_4be=_4bb.leave;break;}}return on(obj,_4be,_4c0,_4c1);};var _4c3={106:42,111:47,186:59,187:43,188:44,189:45,190:46,191:47,192:96,219:91,220:92,221:93,222:39,229:113};var _4c4=has("mac")?"metaKey":"ctrlKey";var _4c5=function(evt,_4c6){var faux=lang.mixin({},evt,_4c6);_4c7(faux);faux.preventDefault=function(){evt.preventDefault();};faux.stopPropagation=function(){evt.stopPropagation();};return faux;};function _4c7(evt){evt.keyChar=evt.charCode?String.fromCharCode(evt.charCode):"";evt.charOrCode=evt.keyChar||evt.keyCode;};var _4c2;if(has("events-keypress-typed")){var _4c8=function(e,code){try{return (e.keyCode=code);}catch(e){return 0;}};_4c2=function(_4c9,_4ca){var _4cb=on(_4c9,"keydown",function(evt){var k=evt.keyCode;var _4cc=(k!=13||(has("ie")>=9&&!has("quirks")))&&k!=32&&(k!=27||!has("ie"))&&(k<48||k>90)&&(k<96||k>111)&&(k<186||k>192)&&(k<219||k>222)&&k!=229;if(_4cc||evt.ctrlKey){var c=_4cc?0:k;if(evt.ctrlKey){if(k==3||k==13){return _4ca.call(evt.currentTarget,evt);}else{if(c>95&&c<106){c-=48;}else{if((!evt.shiftKey)&&(c>=65&&c<=90)){c+=32;}else{c=_4c3[c]||c;}}}}var faux=_4c5(evt,{type:"keypress",faux:true,charCode:c});_4ca.call(evt.currentTarget,faux);if(has("ie")){_4c8(evt,faux.keyCode);}}});var _4cd=on(_4c9,"keypress",function(evt){var c=evt.charCode;c=c>=32?c:0;evt=_4c5(evt,{charCode:c,faux:true});return _4ca.call(this,evt);});return {remove:function(){_4cb.remove();_4cd.remove();}};};}else{if(has("opera")){_4c2=function(_4ce,_4cf){return on(_4ce,"keypress",function(evt){var c=evt.which;if(c==3){c=99;}c=c<32&&!evt.shiftKey?0:c;if(evt.ctrlKey&&!evt.shiftKey&&c>=65&&c<=90){c+=32;}return _4cf.call(this,_4c5(evt,{charCode:c}));});};}else{_4c2=function(_4d0,_4d1){return on(_4d0,"keypress",function(evt){_4c7(evt);return _4d1.call(this,evt);});};}}var _4d2={_keypress:_4c2,connect:function(obj,_4d3,_4d4,_4d5,_4d6){var a=arguments,args=[],i=0;args.push(typeof a[0]=="string"?null:a[i++],a[i++]);var a1=a[i+1];args.push(typeof a1=="string"||typeof a1=="function"?a[i++]:null,a[i++]);for(var l=a.length;i= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/fx":function(){define("dojo/fx",["./_base/lang","./Evented","./_base/kernel","./_base/array","./_base/connect","./_base/fx","./dom","./dom-style","./dom-geometry","./ready","require"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b){if(!_3.isAsync){_a(0,function(){var _c=["./fx/Toggler"];_b(_c);});}var _d=_3.fx={};var _e={_fire:function(_f,_10){if(this[_f]){this[_f].apply(this,_10||[]);}return this;}};var _11=function(_12){this._index=-1;this._animations=_12||[];this._current=this._onAnimateCtx=this._onEndCtx=null;this.duration=0;_4.forEach(this._animations,function(a){this.duration+=a.duration;if(a.delay){this.duration+=a.delay;}},this);};_11.prototype=new _2();_1.extend(_11,{_onAnimate:function(){this._fire("onAnimate",arguments);},_onEnd:function(){_5.disconnect(this._onAnimateCtx);_5.disconnect(this._onEndCtx);this._onAnimateCtx=this._onEndCtx=null;if(this._index+1==this._animations.length){this._fire("onEnd");}else{this._current=this._animations[++this._index];this._onAnimateCtx=_5.connect(this._current,"onAnimate",this,"_onAnimate");this._onEndCtx=_5.connect(this._current,"onEnd",this,"_onEnd");this._current.play(0,true);}},play:function(_13,_14){if(!this._current){this._current=this._animations[this._index=0];}if(!_14&&this._current.status()=="playing"){return this;}var _15=_5.connect(this._current,"beforeBegin",this,function(){this._fire("beforeBegin");}),_16=_5.connect(this._current,"onBegin",this,function(arg){this._fire("onBegin",arguments);}),_17=_5.connect(this._current,"onPlay",this,function(arg){this._fire("onPlay",arguments);_5.disconnect(_15);_5.disconnect(_16);_5.disconnect(_17);});if(this._onAnimateCtx){_5.disconnect(this._onAnimateCtx);}this._onAnimateCtx=_5.connect(this._current,"onAnimate",this,"_onAnimate");if(this._onEndCtx){_5.disconnect(this._onEndCtx);}this._onEndCtx=_5.connect(this._current,"onEnd",this,"_onEnd");this._current.play.apply(this._current,arguments);return this;},pause:function(){if(this._current){var e=_5.connect(this._current,"onPause",this,function(arg){this._fire("onPause",arguments);_5.disconnect(e);});this._current.pause();}return this;},gotoPercent:function(_18,_19){this.pause();var _1a=this.duration*_18;this._current=null;_4.some(this._animations,function(a){if(a.duration<=_1a){this._current=a;return true;}_1a-=a.duration;return false;});if(this._current){this._current.gotoPercent(_1a/this._current.duration,_19);}return this;},stop:function(_1b){if(this._current){if(_1b){for(;this._index+1this._animations.length){this._fire("onEnd");}},_call:function(_23,_24){var t=this._pseudoAnimation;t[_23].apply(t,_24);},play:function(_25,_26){this._finished=0;this._doAction("play",arguments);this._call("play",arguments);return this;},pause:function(){this._doAction("pause",arguments);this._call("pause",arguments);return this;},gotoPercent:function(_27,_28){var ms=this.duration*_27;_4.forEach(this._animations,function(a){a.gotoPercent(a.duration= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/i18n":function(){define("dojo/i18n",["./_base/kernel","require","./has","./_base/array","./_base/config","./_base/lang","./_base/xhr","./json"],function(_1,_2,_3,_4,_5,_6,_7,_8){_3.add("dojo-preload-i18n-Api",1);true||_3.add("dojo-v1x-i18n-Api",1);var _9=_1.i18n={},_a=/(^.*(^|\/)nls)(\/|$)([^\/]*)\/?([^\/]*)/,_b=function(_c,_d,_e,_f){for(var _10=[_e+_f],_11=_d.split("-"),_12="",i=0;i<_11.length;i++){_12+=(_12?"-":"")+_11[i];if(!_c||_c[_12]){_10.push(_e+_12+"/"+_f);}}return _10;},_13={},_14=_1.getL10nName=function(_15,_16,_17){_17=_17?_17.toLowerCase():_1.locale;_15="dojo/i18n!"+_15.replace(/\./g,"/");_16=_16.replace(/\./g,"/");return (/root/i.test(_17))?(_15+"/nls/"+_16):(_15+"/nls/"+_17+"/"+_16);},_18=function(_19,_1a,_1b,_1c,_1d,_1e){_19([_1a],function(_1f){var _20=_6.clone(_1f.root||_1f.ROOT),_21=_b(!_1f._v1x&&_1f,_1d,_1b,_1c);_19(_21,function(){for(var i=1;i<_21.length;i++){_20=_6.mixin(_6.clone(_20),arguments[i]);}var _22=_1a+"/"+_1d;_13[_22]=_20;_1e();});});},_23=function(id,_24){return /^\./.test(id)?_24(id):id;},_25=function(_26){var _27=_5.extraLocale||[];_27=_6.isArray(_27)?_27:[_27];_27.push(_26);return _27;},_28=function(id,_29,_2a){if(_3("dojo-preload-i18n-Api")){var _2b=id.split("*"),_2c=_2b[1]=="preload";if(_2c){if(!_13[id]){_13[id]=1;_2d(_2b[2],_8.parse(_2b[3]),1);}_2a(1);}if(_2c||_2e(id,_29,_2a)){return;}}var _2f=_a.exec(id),_30=_2f[1]+"/",_31=_2f[5]||_2f[4],_32=_30+_31,_33=(_2f[5]&&_2f[4]),_34=_33||_1.locale,_35=_32+"/"+_34,_36=_33?[_34]:_25(_34),_37=_36.length,_38=function(){if(!--_37){_2a(_6.delegate(_13[_35]));}};_4.forEach(_36,function(_39){var _3a=_32+"/"+_39;if(_3("dojo-preload-i18n-Api")){_3b(_3a);}if(!_13[_3a]){_18(_29,_32,_30,_31,_39,_38);}else{_38();}});};if(_3("dojo-unit-tests")){var _3c=_9.unitTests=[];}if(_3("dojo-preload-i18n-Api")||1){var _3d=_9.normalizeLocale=function(_3e){var _3f=_3e?_3e.toLowerCase():_1.locale;return _3f=="root"?"ROOT":_3f;},_40=function(mid){return (1&&1)?_2.isXdUrl(_2.toUrl(mid+".js")):true;},_41=0,_42=[],_2d=_9._preloadLocalizations=function(_43,_44,_45){function _46(_47,_48){var _49=_47.split("-");while(_49.length){if(_48(_49.join("-"))){return true;}_49.pop();}return _48("ROOT");};function _4a(_4b){_4b=_3d(_4b);_46(_4b,function(loc){if(_4.indexOf(_44,loc)>=0){var mid=_43.replace(/\./g,"/")+"_"+loc;_41++;(_40(mid)||_45?_2:_50)([mid],function(_4c){for(var p in _4c){_13[p+"/"+loc]=_4c[p];}--_41;while(!_41&&_42.length){_28.apply(null,_42.shift());}});return true;}return false;});};_4a();_4.forEach(_1.config.extraLocale,_4a);},_2e=function(id,_4d,_4e){if(_41){_42.push([id,_4d,_4e]);}return _41;};}if(1){var _4f=new Function("__bundle","__checkForLegacyModules","__mid","var define = function(){define.called = 1;},"+" require = function(){define.called = 1;};"+"try{"+"define.called = 0;"+"eval(__bundle);"+"if(define.called==1)"+"return 1;"+"if((__checkForLegacyModules = __checkForLegacyModules(__mid)))"+"return __checkForLegacyModules;"+"}catch(e){}"+"try{"+"return eval('('+__bundle+')');"+"}catch(e){"+"return e;"+"}"),_50=function(_51,_52){var _53=[];_4.forEach(_51,function(mid){var url=_2.toUrl(mid+".js");function _28(_54){var _55=_4f(_54,_3b,mid);if(_55===1){_2([mid],function(_56){_53.push(_13[url]=_56);});}else{if(_55 instanceof Error){console.error("failed to evaluate i18n bundle; url="+url,_55);_55={};}_53.push(_13[url]=(/nls\/[^\/]+\/[^\/]+$/.test(url)?_55:{root:_55,_v1x:1}));}};if(_13[url]){_53.push(_13[url]);}else{var _57=_2.syncLoadNls(mid);if(_57){_53.push(_57);}else{if(!_7){try{_2.getText(url,true,_28);}catch(e){_53.push(_13[url]={});}}else{_7.get({url:url,sync:true,load:_28,error:function(){_53.push(_13[url]={});}});}}}});_52&&_52.apply(null,_53);},_3b=function(_58){for(var _59,_5a=_58.split("/"),_5b=_1.global[_5a[0]],i=1;_5b&&i<_5a.length-1;_5b=_5b[_5a[i++]]){}if(_5b){_59=_5b[_5a[i]];if(!_59){_59=_5b[_5a[i].replace(/-/g,"_")];}if(_59){_13[_58]=_59;}}return _59;};_9.getLocalization=function(_5c,_5d,_5e){var _5f,_60=_14(_5c,_5d,_5e).substring(10);_28(_60,(!_40(_60)?_50:_2),function(_61){_5f=_61;});return _5f;};if(_3("dojo-unit-tests")){_3c.push(function(doh){doh.register("tests.i18n.unit",function(t){var _62;_62=_4f("{prop:1}");t.is({prop:1},_62);t.is(undefined,_62[1]);_62=_4f("({prop:1})");t.is({prop:1},_62);t.is(undefined,_62[1]);_62=_4f("{'prop-x':1}");t.is({"prop-x":1},_62);t.is(undefined,_62[1]);_62=_4f("({'prop-x':1})");t.is({"prop-x":1},_62);t.is(undefined,_62[1]);_62=_4f("define({'prop-x':1})");t.is(1,_62);_62=_4f("this is total nonsense and should throw an error");t.is(_62 instanceof Error,true);});});}}return _6.mixin(_9,{dynamic:true,normalize:_23,load:_28,cache:_13});});},"dojo/string":function(){define("dojo/string",["./_base/kernel","./_base/lang"],function(_63,_64){_64.getObject("string",true,_63);_63.string.rep=function(str,num){if(num<=0||!str){return "";}var buf=[];for(;;){if(num&1){buf.push(str);}if(!(num>>=1)){break;}str+=str;}return buf.join("");};_63.string.pad=function(_65,_66,ch,end){if(!ch){ch="0";}var out=String(_65),pad=_63.string.rep(ch,Math.ceil((_66-out.length)/ch.length));return end?out+pad:pad+out;};_63.string.substitute=function(_67,map,_68,_69){_69=_69||_63.global;_68=_68?_64.hitch(_69,_68):function(v){return v;};return _67.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_6a,key,_6b){var _6c=_64.getObject(key,false,map);if(_6b){_6c=_64.getObject(_6b,false,_69).call(_69,_6c,key);}return _68(_6c,key).toString();});};_63.string.trim=String.prototype.trim?_64.trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;};return _63.string;});},"dojo/date":function(){define("dojo/date",["./_base/kernel","./_base/lang"],function(_6d,_6e){_6e.getObject("date",true,_6d);_6d.date.getDaysInMonth=function(_6f){var _70=_6f.getMonth();var _71=[31,28,31,30,31,30,31,31,30,31,30,31];if(_70==1&&_6d.date.isLeapYear(_6f)){return 29;}return _71[_70];};_6d.date.isLeapYear=function(_72){var _73=_72.getFullYear();return !(_73%400)||(!(_73%4)&&!!(_73%100));};_6d.date.getTimezoneName=function(_74){var str=_74.toString();var tz="";var _75;var pos=str.indexOf("(");if(pos>-1){tz=str.substring(++pos,str.indexOf(")"));}else{var pat=/([A-Z\/]+) \d{4}$/;if((_75=str.match(pat))){tz=_75[1];}else{str=_74.toLocaleString();pat=/ ([A-Z\/]+)$/;if((_75=str.match(pat))){tz=_75[1];}}}return (tz=="AM"||tz=="PM")?"":tz;};_6d.date.compare=function(_76,_77,_78){_76=new Date(+_76);_77=new Date(+(_77||new Date()));if(_78=="date"){_76.setHours(0,0,0,0);_77.setHours(0,0,0,0);}else{if(_78=="time"){_76.setFullYear(0,0,0);_77.setFullYear(0,0,0);}}if(_76>_77){return 1;}if(_76<_77){return -1;}return 0;};_6d.date.add=function(_79,_7a,_7b){var sum=new Date(+_79);var _7c=false;var _7d="Date";switch(_7a){case "day":break;case "weekday":var _7e,_7f;var mod=_7b%5;if(!mod){_7e=(_7b>0)?5:-5;_7f=(_7b>0)?((_7b-5)/5):((_7b+5)/5);}else{_7e=mod;_7f=parseInt(_7b/5);}var _80=_79.getDay();var adj=0;if(_80==6&&_7b>0){adj=1;}else{if(_80==0&&_7b<0){adj=-1;}}var _81=_80+_7e;if(_81==0||_81==6){adj=(_7b>0)?2:-2;}_7b=(7*_7f)+_7e+adj;break;case "year":_7d="FullYear";_7c=true;break;case "week":_7b*=7;break;case "quarter":_7b*=3;case "month":_7c=true;_7d="Month";break;default:_7d="UTC"+_7a.charAt(0).toUpperCase()+_7a.substring(1)+"s";}if(_7d){sum["set"+_7d](sum["get"+_7d]()+_7b);}if(_7c&&(sum.getDate()<_79.getDate())){sum.setDate(0);}return sum;};_6d.date.difference=function(_82,_83,_84){_83=_83||new Date();_84=_84||"day";var _85=_83.getFullYear()-_82.getFullYear();var _86=1;switch(_84){case "quarter":var m1=_82.getMonth();var m2=_83.getMonth();var q1=Math.floor(m1/3)+1;var q2=Math.floor(m2/3)+1;q2+=(_85*4);_86=q2-q1;break;case "weekday":var _87=Math.round(_6d.date.difference(_82,_83,"day"));var _88=parseInt(_6d.date.difference(_82,_83,"week"));var mod=_87%7;if(mod==0){_87=_88*5;}else{var adj=0;var _89=_82.getDay();var _8a=_83.getDay();_88=parseInt(_87/7);mod=_87%7;var _8b=new Date(_82);_8b.setDate(_8b.getDate()+(_88*7));var _8c=_8b.getDay();if(_87>0){switch(true){case _89==6:adj=-1;break;case _89==0:adj=0;break;case _8a==6:adj=-1;break;case _8a==0:adj=-2;break;case (_8c+mod)>5:adj=-2;}}else{if(_87<0){switch(true){case _89==6:adj=0;break;case _89==0:adj=1;break;case _8a==6:adj=2;break;case _8a==0:adj=1;break;case (_8c+mod)<0:adj=2;}}}_87+=adj;_87-=(_88*2);}_86=_87;break;case "year":_86=_85;break;case "month":_86=(_83.getMonth()-_82.getMonth())+(_85*12);break;case "week":_86=parseInt(_6d.date.difference(_82,_83,"day")/7);break;case "day":_86/=24;case "hour":_86/=60;case "minute":_86/=60;case "second":_86/=1000;case "millisecond":_86*=_83.getTime()-_82.getTime();}return Math.round(_86);};return _6d.date;});},"dojo/cldr/supplemental":function(){define("dojo/cldr/supplemental",["../_base/kernel","../_base/lang","../i18n"],function(_8d,_8e){_8e.getObject("cldr.supplemental",true,_8d);_8d.cldr.supplemental.getFirstDayOfWeek=function(_8f){var _90={mv:5,ae:6,af:6,bh:6,dj:6,dz:6,eg:6,er:6,et:6,iq:6,ir:6,jo:6,ke:6,kw:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,so:6,sy:6,tn:6,ye:6,ar:0,as:0,az:0,bw:0,ca:0,cn:0,fo:0,ge:0,gl:0,gu:0,hk:0,il:0,"in":0,jm:0,jp:0,kg:0,kr:0,la:0,mh:0,mn:0,mo:0,mp:0,mt:0,nz:0,ph:0,pk:0,sg:0,th:0,tt:0,tw:0,um:0,us:0,uz:0,vi:0,zw:0};var _91=_8d.cldr.supplemental._region(_8f);var dow=_90[_91];return (dow===undefined)?1:dow;};_8d.cldr.supplemental._region=function(_92){_92=_8d.i18n.normalizeLocale(_92);var _93=_92.split("-");var _94=_93[1];if(!_94){_94={de:"de",en:"us",es:"es",fi:"fi",fr:"fr",he:"il",hu:"hu",it:"it",ja:"jp",ko:"kr",nl:"nl",pt:"br",sv:"se",zh:"cn"}[_93[0]];}else{if(_94.length==4){_94=_93[2];}}return _94;};_8d.cldr.supplemental.getWeekend=function(_95){var _96={"in":0,af:4,dz:4,ir:4,om:4,sa:4,ye:4,ae:5,bh:5,eg:5,il:5,iq:5,jo:5,kw:5,ly:5,ma:5,qa:5,sd:5,sy:5,tn:5};var _97={af:5,dz:5,ir:5,om:5,sa:5,ye:5,ae:6,bh:5,eg:6,il:6,iq:6,jo:6,kw:6,ly:6,ma:6,qa:6,sd:6,sy:6,tn:6};var _98=_8d.cldr.supplemental._region(_95);var _99=_96[_98];var end=_97[_98];if(_99===undefined){_99=6;}if(end===undefined){end=0;}return {start:_99,end:end};};return _8d.cldr.supplemental;});},"dojo/number":function(){define("dojo/number",["./_base/kernel","./_base/lang","./i18n","./i18n!./cldr/nls/number","./string","./regexp"],function(_9a,_9b,_9c,_9d,_9e,_9f){_9b.getObject("number",true,_9a);_9a.number.format=function(_a0,_a1){_a1=_9b.mixin({},_a1||{});var _a2=_9c.normalizeLocale(_a1.locale),_a3=_9c.getLocalization("dojo.cldr","number",_a2);_a1.customs=_a3;var _a4=_a1.pattern||_a3[(_a1.type||"decimal")+"Format"];if(isNaN(_a0)||Math.abs(_a0)==Infinity){return null;}return _9a.number._applyPattern(_a0,_a4,_a1);};_9a.number._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/;_9a.number._applyPattern=function(_a5,_a6,_a7){_a7=_a7||{};var _a8=_a7.customs.group,_a9=_a7.customs.decimal,_aa=_a6.split(";"),_ab=_aa[0];_a6=_aa[(_a5<0)?1:0]||("-"+_ab);if(_a6.indexOf("%")!=-1){_a5*=100;}else{if(_a6.indexOf("‰")!=-1){_a5*=1000;}else{if(_a6.indexOf("¤")!=-1){_a8=_a7.customs.currencyGroup||_a8;_a9=_a7.customs.currencyDecimal||_a9;_a6=_a6.replace(/\u00a4{1,3}/,function(_ac){var _ad=["symbol","currency","displayName"][_ac.length-1];return _a7[_ad]||_a7.currency||"";});}else{if(_a6.indexOf("E")!=-1){throw new Error("exponential notation not supported");}}}}var _ae=_9a.number._numberPatternRE;var _af=_ab.match(_ae);if(!_af){throw new Error("unable to find a number expression in pattern: "+_a6);}if(_a7.fractional===false){_a7.places=0;}return _a6.replace(_ae,_9a.number._formatAbsolute(_a5,_af[0],{decimal:_a9,group:_a8,places:_a7.places,round:_a7.round}));};_9a.number.round=function(_b0,_b1,_b2){var _b3=10/(_b2||10);return (_b3*+_b0).toFixed(_b1)/_b3;};if((0.9).toFixed()==0){var _b4=_9a.number.round;_9a.number.round=function(v,p,m){var d=Math.pow(10,-p||0),a=Math.abs(v);if(!v||a>=d){d=0;}else{a/=d;if(a<0.5||a>=0.95){d=0;}}return _b4(v,p,m)+(v>0?d:-d);};}_9a.number._formatAbsolute=function(_b5,_b6,_b7){_b7=_b7||{};if(_b7.places===true){_b7.places=0;}if(_b7.places===Infinity){_b7.places=6;}var _b8=_b6.split("."),_b9=typeof _b7.places=="string"&&_b7.places.indexOf(","),_ba=_b7.places;if(_b9){_ba=_b7.places.substring(_b9+1);}else{if(!(_ba>=0)){_ba=(_b8[1]||[]).length;}}if(!(_b7.round<0)){_b5=_9a.number.round(_b5,_ba,_b7.round);}var _bb=String(Math.abs(_b5)).split("."),_bc=_bb[1]||"";if(_b8[1]||_b7.places){if(_b9){_b7.places=_b7.places.substring(0,_b9);}var pad=_b7.places!==undefined?_b7.places:(_b8[1]&&_b8[1].lastIndexOf("0")+1);if(pad>_bc.length){_bb[1]=_9e.pad(_bc,pad,"0",true);}if(_ba<_bc.length){_bb[1]=_bc.substr(0,_ba);}}else{if(_bb[1]){_bb.pop();}}var _bd=_b8[0].replace(",","");pad=_bd.indexOf("0");if(pad!=-1){pad=_bd.length-pad;if(pad>_bb[0].length){_bb[0]=_9e.pad(_bb[0],pad);}if(_bd.indexOf("#")==-1){_bb[0]=_bb[0].substr(_bb[0].length-pad);}}var _be=_b8[0].lastIndexOf(","),_bf,_c0;if(_be!=-1){_bf=_b8[0].length-_be-1;var _c1=_b8[0].substr(0,_be);_be=_c1.lastIndexOf(",");if(_be!=-1){_c0=_c1.length-_be-1;}}var _c2=[];for(var _c3=_bb[0];_c3;){var off=_c3.length-_bf;_c2.push((off>0)?_c3.substr(off):_c3);_c3=(off>0)?_c3.slice(0,off):"";if(_c0){_bf=_c0;delete _c0;}}_bb[0]=_c2.reverse().join(_b7.group||",");return _bb.join(_b7.decimal||".");};_9a.number.regexp=function(_c4){return _9a.number._parseInfo(_c4).regexp;};_9a.number._parseInfo=function(_c5){_c5=_c5||{};var _c6=_9c.normalizeLocale(_c5.locale),_c7=_9c.getLocalization("dojo.cldr","number",_c6),_c8=_c5.pattern||_c7[(_c5.type||"decimal")+"Format"],_c9=_c7.group,_ca=_c7.decimal,_cb=1;if(_c8.indexOf("%")!=-1){_cb/=100;}else{if(_c8.indexOf("‰")!=-1){_cb/=1000;}else{var _cc=_c8.indexOf("¤")!=-1;if(_cc){_c9=_c7.currencyGroup||_c9;_ca=_c7.currencyDecimal||_ca;}}}var _cd=_c8.split(";");if(_cd.length==1){_cd.push("-"+_cd[0]);}var re=_9f.buildGroupRE(_cd,function(_ce){_ce="(?:"+_9f.escapeString(_ce,".")+")";return _ce.replace(_9a.number._numberPatternRE,function(_cf){var _d0={signed:false,separator:_c5.strict?_c9:[_c9,""],fractional:_c5.fractional,decimal:_ca,exponent:false},_d1=_cf.split("."),_d2=_c5.places;if(_d1.length==1&&_cb!=1){_d1[1]="###";}if(_d1.length==1||_d2===0){_d0.fractional=false;}else{if(_d2===undefined){_d2=_c5.pattern?_d1[1].lastIndexOf("0")+1:Infinity;}if(_d2&&_c5.fractional==undefined){_d0.fractional=true;}if(!_c5.places&&(_d2<_d1[1].length)){_d2+=","+_d1[1].length;}_d0.places=_d2;}var _d3=_d1[0].split(",");if(_d3.length>1){_d0.groupSize=_d3.pop().length;if(_d3.length>1){_d0.groupSize2=_d3.pop().length;}}return "("+_9a.number._realNumberRegexp(_d0)+")";});},true);if(_cc){re=re.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/g,function(_d4,_d5,_d6,_d7){var _d8=["symbol","currency","displayName"][_d6.length-1],_d9=_9f.escapeString(_c5[_d8]||_c5.currency||"");_d5=_d5?"[\\s\\xa0]":"";_d7=_d7?"[\\s\\xa0]":"";if(!_c5.strict){if(_d5){_d5+="*";}if(_d7){_d7+="*";}return "(?:"+_d5+_d9+_d7+")?";}return _d5+_d9+_d7;});}return {regexp:re.replace(/[\xa0 ]/g,"[\\s\\xa0]"),group:_c9,decimal:_ca,factor:_cb};};_9a.number.parse=function(_da,_db){var _dc=_9a.number._parseInfo(_db),_dd=(new RegExp("^"+_dc.regexp+"$")).exec(_da);if(!_dd){return NaN;}var _de=_dd[1];if(!_dd[1]){if(!_dd[2]){return NaN;}_de=_dd[2];_dc.factor*=-1;}_de=_de.replace(new RegExp("["+_dc.group+"\\s\\xa0"+"]","g"),"").replace(_dc.decimal,".");return _de*_dc.factor;};_9a.number._realNumberRegexp=function(_df){_df=_df||{};if(!("places" in _df)){_df.places=Infinity;}if(typeof _df.decimal!="string"){_df.decimal=".";}if(!("fractional" in _df)||/^0/.test(_df.places)){_df.fractional=[true,false];}if(!("exponent" in _df)){_df.exponent=[true,false];}if(!("eSigned" in _df)){_df.eSigned=[true,false];}var _e0=_9a.number._integerRegexp(_df),_e1=_9f.buildGroupRE(_df.fractional,function(q){var re="";if(q&&(_df.places!==0)){re="\\"+_df.decimal;if(_df.places==Infinity){re="(?:"+re+"\\d+)?";}else{re+="\\d{"+_df.places+"}";}}return re;},true);var _e2=_9f.buildGroupRE(_df.exponent,function(q){if(q){return "([eE]"+_9a.number._integerRegexp({signed:_df.eSigned})+")";}return "";});var _e3=_e0+_e1;if(_e1){_e3="(?:(?:"+_e3+")|(?:"+_e1+"))";}return _e3+_e2;};_9a.number._integerRegexp=function(_e4){_e4=_e4||{};if(!("signed" in _e4)){_e4.signed=[true,false];}if(!("separator" in _e4)){_e4.separator="";}else{if(!("groupSize" in _e4)){_e4.groupSize=3;}}var _e5=_9f.buildGroupRE(_e4.signed,function(q){return q?"[-+]":"";},true);var _e6=_9f.buildGroupRE(_e4.separator,function(sep){if(!sep){return "(?:\\d+)";}sep=_9f.escapeString(sep);if(sep==" "){sep="\\s";}else{if(sep==" "){sep="\\s\\xa0";}}var grp=_e4.groupSize,_e7=_e4.groupSize2;if(_e7){var _e8="(?:0|[1-9]\\d{0,"+(_e7-1)+"}(?:["+sep+"]\\d{"+_e7+"})*["+sep+"]\\d{"+grp+"})";return ((grp-_e7)>0)?"(?:"+_e8+"|(?:0|[1-9]\\d{0,"+(grp-1)+"}))":_e8;}return "(?:0|[1-9]\\d{0,"+(grp-1)+"}(?:["+sep+"]\\d{"+grp+"})*)";},true);return _e5+_e6;};return _9a.number;});},"dojo/date/stamp":function(){define("dojo/date/stamp",["../_base/kernel","../_base/lang","../_base/array"],function(_e9,_ea,_eb){_ea.getObject("date.stamp",true,_e9);_e9.date.stamp.fromISOString=function(_ec,_ed){if(!_e9.date.stamp._isoRegExp){_e9.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}var _ee=_e9.date.stamp._isoRegExp.exec(_ec),_ef=null;if(_ee){_ee.shift();if(_ee[1]){_ee[1]--;}if(_ee[6]){_ee[6]*=1000;}if(_ed){_ed=new Date(_ed);_eb.forEach(_eb.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(_f0){return _ed["get"+_f0]();}),function(_f1,_f2){_ee[_f2]=_ee[_f2]||_f1;});}_ef=new Date(_ee[0]||1970,_ee[1]||0,_ee[2]||1,_ee[3]||0,_ee[4]||0,_ee[5]||0,_ee[6]||0);if(_ee[0]<100){_ef.setFullYear(_ee[0]||1970);}var _f3=0,_f4=_ee[7]&&_ee[7].charAt(0);if(_f4!="Z"){_f3=((_ee[8]||0)*60)+(Number(_ee[9])||0);if(_f4!="-"){_f3*=-1;}}if(_f4){_f3-=_ef.getTimezoneOffset();}if(_f3){_ef.setTime(_ef.getTime()+_f3*60000);}}return _ef;};_e9.date.stamp.toISOString=function(_f5,_f6){var _f7=function(n){return (n<10)?"0"+n:n;};_f6=_f6||{};var _f8=[],_f9=_f6.zulu?"getUTC":"get",_fa="";if(_f6.selector!="time"){var _fb=_f5[_f9+"FullYear"]();_fa=["0000".substr((_fb+"").length)+_fb,_f7(_f5[_f9+"Month"]()+1),_f7(_f5[_f9+"Date"]())].join("-");}_f8.push(_fa);if(_f6.selector!="date"){var _fc=[_f7(_f5[_f9+"Hours"]()),_f7(_f5[_f9+"Minutes"]()),_f7(_f5[_f9+"Seconds"]())].join(":");var _fd=_f5[_f9+"Milliseconds"]();if(_f6.milliseconds){_fc+="."+(_fd<100?"0":"")+_f7(_fd);}if(_f6.zulu){_fc+="Z";}else{if(_f6.selector!="time"){var _fe=_f5.getTimezoneOffset();var _ff=Math.abs(_fe);_fc+=(_fe>0?"-":"+")+_f7(Math.floor(_ff/60))+":"+_f7(_ff%60);}}_f8.push(_fc);}return _f8.join("T");};return _e9.date.stamp;});},"dojo/text":function(){define("dojo/text",["./_base/kernel","require","./has","./_base/xhr"],function(dojo,_100,has,xhr){var _101;if(1){_101=function(url,sync,load){xhr("GET",{url:url,sync:!!sync,load:load});};}else{if(_100.getText){_101=_100.getText;}else{console.error("dojo/text plugin failed to load because loader does not support getText");}}var _102={},_103=function(text){if(text){text=text.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var _104=text.match(/]*>\s*([\s\S]+)\s*<\/body>/im);if(_104){text=_104[1];}}else{text="";}return text;},_105={},_106={},_107={dynamic:true,normalize:function(id,_108){var _109=id.split("!"),url=_109[0];return (/^\./.test(url)?_108(url):url)+(_109[1]?"!"+_109[1]:"");},load:function(id,_10a,load){var _10b=id.split("!"),_10c=_10b.length>1,_10d=_10b[0],url=_10a.toUrl(_10b[0]),text=_105,_10e=function(text){load(_10c?_103(text):text);};if(_10d in _102){text=_102[_10d];}else{if(url in _10a.cache){text=_10a.cache[url];}else{if(url in _102){text=_102[url];}}}if(text===_105){if(_106[url]){_106[url].push(_10e);}else{var _10f=_106[url]=[_10e];_101(url,!_10a.async,function(text){_102[_10d]=_102[url]=text;for(var i=0;i<_10f.length;){_10f[i++](text);}delete _106[url];});}}else{_10e(text);}}};dojo.cache=function(_110,url,_111){var key;if(typeof _110=="string"){if(/\//.test(_110)){key=_110;_111=url;}else{key=_100.toUrl(_110.replace(/\./g,"/")+(url?("/"+url):""));}}else{key=_110+"";_111=url;}var val=(_111!=undefined&&typeof _111!="string")?_111.value:_111,_112=_111&&_111.sanitize;if(typeof val=="string"){_102[key]=val;return _112?_103(val):val;}else{if(val===null){delete _102[key];return null;}else{if(!(key in _102)){_101(key,true,function(text){_102[key]=text;});}return _112?_103(_102[key]):_102[key];}}};return _107;});},"dojo/colors":function(){define("dojo/colors",["./_base/kernel","./_base/lang","./_base/Color","./_base/array"],function(dojo,lang,_113,_114){var _115=lang.getObject("dojo.colors",true);var _116=function(m1,m2,h){if(h<0){++h;}if(h>1){--h;}var h6=6*h;if(h6<1){return m1+(m2-m1)*h6;}if(2*h<1){return m2;}if(3*h<2){return m1+(m2-m1)*(2/3-h)*6;}return m1;};dojo.colorFromRgb=_113.fromRgb=function(_117,obj){var m=_117.toLowerCase().match(/^(rgba?|hsla?)\(([\s\.\-,%0-9]+)\)/);if(m){var c=m[2].split(/\s*,\s*/),l=c.length,t=m[1],a;if((t=="rgb"&&l==3)||(t=="rgba"&&l==4)){var r=c[0];if(r.charAt(r.length-1)=="%"){a=_114.map(c,function(x){return parseFloat(x)*2.56;});if(l==4){a[3]=c[3];}return _113.fromArray(a,obj);}return _113.fromArray(c,obj);}if((t=="hsl"&&l==3)||(t=="hsla"&&l==4)){var H=((parseFloat(c[0])%360)+360)%360/360,S=parseFloat(c[1])/100,L=parseFloat(c[2])/100,m2=L<=0.5?L*(S+1):L+S-L*S,m1=2*L-m2;a=[_116(m1,m2,H+1/3)*256,_116(m1,m2,H)*256,_116(m1,m2,H-1/3)*256,1];if(l==4){a[3]=c[3];}return _113.fromArray(a,obj);}}return null;};var _118=function(c,low,high){c=Number(c);return isNaN(c)?high:chigh?high:c;};_113.prototype.sanitize=function(){var t=this;t.r=Math.round(_118(t.r,0,255));t.g=Math.round(_118(t.g,0,255));t.b=Math.round(_118(t.b,0,255));t.a=_118(t.a,0,1);return this;};_115.makeGrey=_113.makeGrey=function(g,a){return _113.fromArray([g,g,g,a]);};lang.mixin(_113.named,{"aliceblue":[240,248,255],"antiquewhite":[250,235,215],"aquamarine":[127,255,212],"azure":[240,255,255],"beige":[245,245,220],"bisque":[255,228,196],"blanchedalmond":[255,235,205],"blueviolet":[138,43,226],"brown":[165,42,42],"burlywood":[222,184,135],"cadetblue":[95,158,160],"chartreuse":[127,255,0],"chocolate":[210,105,30],"coral":[255,127,80],"cornflowerblue":[100,149,237],"cornsilk":[255,248,220],"crimson":[220,20,60],"cyan":[0,255,255],"darkblue":[0,0,139],"darkcyan":[0,139,139],"darkgoldenrod":[184,134,11],"darkgray":[169,169,169],"darkgreen":[0,100,0],"darkgrey":[169,169,169],"darkkhaki":[189,183,107],"darkmagenta":[139,0,139],"darkolivegreen":[85,107,47],"darkorange":[255,140,0],"darkorchid":[153,50,204],"darkred":[139,0,0],"darksalmon":[233,150,122],"darkseagreen":[143,188,143],"darkslateblue":[72,61,139],"darkslategray":[47,79,79],"darkslategrey":[47,79,79],"darkturquoise":[0,206,209],"darkviolet":[148,0,211],"deeppink":[255,20,147],"deepskyblue":[0,191,255],"dimgray":[105,105,105],"dimgrey":[105,105,105],"dodgerblue":[30,144,255],"firebrick":[178,34,34],"floralwhite":[255,250,240],"forestgreen":[34,139,34],"gainsboro":[220,220,220],"ghostwhite":[248,248,255],"gold":[255,215,0],"goldenrod":[218,165,32],"greenyellow":[173,255,47],"grey":[128,128,128],"honeydew":[240,255,240],"hotpink":[255,105,180],"indianred":[205,92,92],"indigo":[75,0,130],"ivory":[255,255,240],"khaki":[240,230,140],"lavender":[230,230,250],"lavenderblush":[255,240,245],"lawngreen":[124,252,0],"lemonchiffon":[255,250,205],"lightblue":[173,216,230],"lightcoral":[240,128,128],"lightcyan":[224,255,255],"lightgoldenrodyellow":[250,250,210],"lightgray":[211,211,211],"lightgreen":[144,238,144],"lightgrey":[211,211,211],"lightpink":[255,182,193],"lightsalmon":[255,160,122],"lightseagreen":[32,178,170],"lightskyblue":[135,206,250],"lightslategray":[119,136,153],"lightslategrey":[119,136,153],"lightsteelblue":[176,196,222],"lightyellow":[255,255,224],"limegreen":[50,205,50],"linen":[250,240,230],"magenta":[255,0,255],"mediumaquamarine":[102,205,170],"mediumblue":[0,0,205],"mediumorchid":[186,85,211],"mediumpurple":[147,112,219],"mediumseagreen":[60,179,113],"mediumslateblue":[123,104,238],"mediumspringgreen":[0,250,154],"mediumturquoise":[72,209,204],"mediumvioletred":[199,21,133],"midnightblue":[25,25,112],"mintcream":[245,255,250],"mistyrose":[255,228,225],"moccasin":[255,228,181],"navajowhite":[255,222,173],"oldlace":[253,245,230],"olivedrab":[107,142,35],"orange":[255,165,0],"orangered":[255,69,0],"orchid":[218,112,214],"palegoldenrod":[238,232,170],"palegreen":[152,251,152],"paleturquoise":[175,238,238],"palevioletred":[219,112,147],"papayawhip":[255,239,213],"peachpuff":[255,218,185],"peru":[205,133,63],"pink":[255,192,203],"plum":[221,160,221],"powderblue":[176,224,230],"rosybrown":[188,143,143],"royalblue":[65,105,225],"saddlebrown":[139,69,19],"salmon":[250,128,114],"sandybrown":[244,164,96],"seagreen":[46,139,87],"seashell":[255,245,238],"sienna":[160,82,45],"skyblue":[135,206,235],"slateblue":[106,90,205],"slategray":[112,128,144],"slategrey":[112,128,144],"snow":[255,250,250],"springgreen":[0,255,127],"steelblue":[70,130,180],"tan":[210,180,140],"thistle":[216,191,216],"tomato":[255,99,71],"turquoise":[64,224,208],"violet":[238,130,238],"wheat":[245,222,179],"whitesmoke":[245,245,245],"yellowgreen":[154,205,50]});return _113;});},"dojo/regexp":function(){define("dojo/regexp",["./_base/kernel","./_base/lang"],function(dojo,lang){lang.getObject("regexp",true,dojo);dojo.regexp.escapeString=function(str,_119){return str.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,function(ch){if(_119&&_119.indexOf(ch)!=-1){return ch;}return "\\"+ch;});};dojo.regexp.buildGroupRE=function(arr,re,_11a){if(!(arr instanceof Array)){return re(arr);}var b=[];for(var i=0;i2){var _150=_148["months-format-"+_14a[l-3]].concat();if(!_145.strict){v=v.replace(".","").toLowerCase();_150=dojo.map(_150,function(s){return s.replace(".","").toLowerCase();});}v=dojo.indexOf(_150,v);if(v==-1){return false;}}else{v--;}_14b[1]=v;break;case "E":case "e":var days=_148["days-format-"+_14a[l-3]].concat();if(!_145.strict){v=v.toLowerCase();days=dojo.map(days,function(d){return d.toLowerCase();});}v=dojo.indexOf(days,v);if(v==-1){return false;}break;case "D":_14b[1]=0;case "d":_14b[2]=v;break;case "a":var am=_145.am||_148["dayPeriods-format-wide-am"],pm=_145.pm||_148["dayPeriods-format-wide-pm"];if(!_145.strict){var _151=/\./g;v=v.replace(_151,"").toLowerCase();am=am.replace(_151,"").toLowerCase();pm=pm.replace(_151,"").toLowerCase();}if(_145.strict&&v!=am&&v!=pm){return false;}amPm=(v==pm)?"p":(v==am)?"a":"";break;case "K":if(v==24){v=0;}case "h":case "H":case "k":if(v>23){return false;}_14b[3]=v;break;case "m":_14b[4]=v;break;case "s":_14b[5]=v;break;case "S":_14b[6]=v;}return true;});var _152=+_14b[3];if(amPm==="p"&&_152<12){_14b[3]=_152+12;}else{if(amPm==="a"&&_152==12){_14b[3]=0;}}var _153=new Date(_14b[0],_14b[1],_14b[2],_14b[3],_14b[4],_14b[5],_14b[6]);if(_145.strict){_153.setFullYear(_14b[0]);}var _154=_147.join(""),_155=_154.indexOf("d")!=-1,_156=_154.indexOf("M")!=-1;if(!_14c||(_156&&_153.getMonth()>_14b[1])||(_155&&_153.getDate()>_14b[2])){return null;}if((_156&&_153.getMonth()<_14b[1])||(_155&&_153.getDate()<_14b[2])){_153=date.add(_153,"hour",1);}return _153;};function _136(_157,_158,_159,_15a){var _15b=function(x){return x;};_158=_158||_15b;_159=_159||_15b;_15a=_15a||_15b;var _15c=_157.match(/(''|[^'])+/g),_15d=_157.charAt(0)=="'";dojo.forEach(_15c,function(_15e,i){if(!_15e){_15c[i]="";}else{_15c[i]=(_15d?_159:_158)(_15e.replace(/''/g,"'"));_15d=!_15d;}});return _15a(_15c.join(""));};function _143(_15f,_160,_161,_162){_162=_11e.escapeString(_162);if(!_161.strict){_162=_162.replace(" a"," ?a");}return _162.replace(/([a-z])\1*/ig,function(_163){var s,c=_163.charAt(0),l=_163.length,p2="",p3="";if(_161.strict){if(l>1){p2="0"+"{"+(l-1)+"}";}if(l>2){p3="0"+"{"+(l-2)+"}";}}else{p2="0?";p3="0{0,2}";}switch(c){case "y":s="\\d{2,4}";break;case "M":s=(l>2)?"\\S+?":"1[0-2]|"+p2+"[1-9]";break;case "D":s="[12][0-9][0-9]|3[0-5][0-9]|36[0-6]|"+p2+"[1-9][0-9]|"+p3+"[1-9]";break;case "d":s="3[01]|[12]\\d|"+p2+"[1-9]";break;case "w":s="[1-4][0-9]|5[0-3]|"+p2+"[1-9]";break;case "E":s="\\S+";break;case "h":s="1[0-2]|"+p2+"[1-9]";break;case "k":s="1[01]|"+p2+"\\d";break;case "H":s="1\\d|2[0-3]|"+p2+"\\d";break;case "K":s="1\\d|2[0-4]|"+p2+"[1-9]";break;case "m":case "s":s="[0-5]\\d";break;case "S":s="\\d{"+l+"}";break;case "a":var am=_161.am||_160["dayPeriods-format-wide-am"],pm=_161.pm||_160["dayPeriods-format-wide-pm"];s=am+"|"+pm;if(!_161.strict){if(am!=am.toLowerCase()){s+="|"+am.toLowerCase();}if(pm!=pm.toLowerCase()){s+="|"+pm.toLowerCase();}if(s.indexOf(".")!=-1){s+="|"+s.replace(/\./g,"");}}s=s.replace(/\./g,"\\.");break;default:s=".*";}if(_15f){_15f.push(_163);}return "("+s+")";}).replace(/[\xa0 ]/g,"[\\s\\xa0]");};var _164=[];dojo.date.locale.addCustomFormats=function(_165,_166){_164.push({pkg:_165,name:_166});};dojo.date.locale._getGregorianBundle=function(_167){var _168={};dojo.forEach(_164,function(desc){var _169=dojo.i18n.getLocalization(desc.pkg,desc.name,_167);_168=lang.mixin(_168,_169);},this);return _168;};dojo.date.locale.addCustomFormats("dojo.cldr","gregorian");dojo.date.locale.getNames=function(item,type,_16a,_16b){var _16c,_16d=dojo.date.locale._getGregorianBundle(_16b),_16e=[item,_16a,type];if(_16a=="standAlone"){var key=_16e.join("-");_16c=_16d[key];if(_16c[0]==1){_16c=undefined;}}_16e[1]="format";return (_16c||_16d[_16e.join("-")]).concat();};dojo.date.locale.isWeekend=function(_16f,_170){var _171=cldr.getWeekend(_170),day=(_16f||new Date()).getDay();if(_171.end<_171.start){_171.end+=7;if(day<_171.start){day+=7;}}return day>=_171.start&&day<=_171.end;};dojo.date.locale._getDayOfYear=function(_172){return date.difference(new Date(_172.getFullYear(),0,1,_172.getHours()),_172)+1;};dojo.date.locale._getWeekOfYear=function(_173,_174){if(arguments.length==1){_174=0;}var _175=new Date(_173.getFullYear(),0,1).getDay(),adj=(_175-_174+7)%7,week=Math.floor((dojo.date.locale._getDayOfYear(_173)+adj-1)/7);if(_175==_174){week++;}return week;};return dojo.date.locale;});},"dojo/cldr/monetary":function(){define("dojo/cldr/monetary",["../main"],function(dojo){dojo.getObject("cldr.monetary",true,dojo);dojo.cldr.monetary.getData=function(code){var _176={ADP:0,AFN:0,ALL:0,AMD:0,BHD:3,BIF:0,BYR:0,CLF:0,CLP:0,COP:0,CRC:0,DJF:0,ESP:0,GNF:0,GYD:0,HUF:0,IDR:0,IQD:0,IRR:3,ISK:0,ITL:0,JOD:3,JPY:0,KMF:0,KPW:0,KRW:0,KWD:3,LAK:0,LBP:0,LUF:0,LYD:3,MGA:0,MGF:0,MMK:0,MNT:0,MRO:0,MUR:0,OMR:3,PKR:0,PYG:0,RSD:0,RWF:0,SLL:0,SOS:0,STD:0,SYP:0,TMM:0,TND:3,TRL:0,TZS:0,UGX:0,UZS:0,VND:0,VUV:0,XAF:0,XOF:0,XPF:0,YER:0,ZMK:0,ZWD:0};var _177={CHF:5};var _178=_176[code],_179=_177[code];if(typeof _178=="undefined"){_178=2;}if(typeof _179=="undefined"){_179=0;}return {places:_178,round:_179};};return dojo.cldr.monetary;});},"dojo/currency":function(){define("dojo/currency",["./_base/kernel","./_base/lang","./_base/array","./number","./i18n","./i18n!./cldr/nls/currency","./cldr/monetary"],function(dojo,lang,_17a,_17b,i18n,_17c,_17d){lang.getObject("currency",true,dojo);dojo.currency._mixInDefaults=function(_17e){_17e=_17e||{};_17e.type="currency";var _17f=i18n.getLocalization("dojo.cldr","currency",_17e.locale)||{};var iso=_17e.currency;var data=_17d.getData(iso);_17a.forEach(["displayName","symbol","group","decimal"],function(prop){data[prop]=_17f[iso+"_"+prop];});data.fractional=[true,false];return lang.mixin(data,_17e);};dojo.currency.format=function(_180,_181){return _17b.format(_180,dojo.currency._mixInDefaults(_181));};dojo.currency.regexp=function(_182){return _17b.regexp(dojo.currency._mixInDefaults(_182));};dojo.currency.parse=function(_183,_184){return _17b.parse(_183,dojo.currency._mixInDefaults(_184));};return dojo.currency;});},"*now":function(r){r(["dojo/i18n!*preload*dojo/nls/_fmt*[\"ar\",\"ca\",\"cs\",\"da\",\"de\",\"el\",\"en\",\"es\",\"fi\",\"fr\",\"he\",\"hr\",\"hu\",\"it\",\"ja\",\"kk\",\"ko\",\"nl\",\"no\",\"pl\",\"pt\",\"pt-br\",\"ro\",\"ru\",\"sk\",\"sl\",\"sv\",\"th\",\"tr\",\"uk\",\"zh\",\"zh-tw\",\"ROOT\"]"]);},"*noref":1}});define("dojo/_fmt",[],1);require(["dojo/currency","dojo/number","dojo/text","dojo/colors","dojo/date","dojo/date/locale","dojo/date/stamp"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/touch":function(){define("dojo/touch",["./_base/kernel","./on","./has","./mouse"],function(_1,on,_2,_3){function _4(_5){return function(_6,_7){return on(_6,_5,_7);};};var _8=_2("touch");_1.touch={press:_4(_8?"touchstart":"mousedown"),move:_4(_8?"touchmove":"mousemove"),release:_4(_8?"touchend":"mouseup"),cancel:_8?_4("touchcancel"):_3.leave};return _1.touch;});},"dojo/date/stamp":function(){define("dojo/date/stamp",["../_base/kernel","../_base/lang","../_base/array"],function(_9,_a,_b){_a.getObject("date.stamp",true,_9);_9.date.stamp.fromISOString=function(_c,_d){if(!_9.date.stamp._isoRegExp){_9.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}var _e=_9.date.stamp._isoRegExp.exec(_c),_f=null;if(_e){_e.shift();if(_e[1]){_e[1]--;}if(_e[6]){_e[6]*=1000;}if(_d){_d=new Date(_d);_b.forEach(_b.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(_10){return _d["get"+_10]();}),function(_11,_12){_e[_12]=_e[_12]||_11;});}_f=new Date(_e[0]||1970,_e[1]||0,_e[2]||1,_e[3]||0,_e[4]||0,_e[5]||0,_e[6]||0);if(_e[0]<100){_f.setFullYear(_e[0]||1970);}var _13=0,_14=_e[7]&&_e[7].charAt(0);if(_14!="Z"){_13=((_e[8]||0)*60)+(Number(_e[9])||0);if(_14!="-"){_13*=-1;}}if(_14){_13-=_f.getTimezoneOffset();}if(_13){_f.setTime(_f.getTime()+_13*60000);}}return _f;};_9.date.stamp.toISOString=function(_15,_16){var _17=function(n){return (n<10)?"0"+n:n;};_16=_16||{};var _18=[],_19=_16.zulu?"getUTC":"get",_1a="";if(_16.selector!="time"){var _1b=_15[_19+"FullYear"]();_1a=["0000".substr((_1b+"").length)+_1b,_17(_15[_19+"Month"]()+1),_17(_15[_19+"Date"]())].join("-");}_18.push(_1a);if(_16.selector!="date"){var _1c=[_17(_15[_19+"Hours"]()),_17(_15[_19+"Minutes"]()),_17(_15[_19+"Seconds"]())].join(":");var _1d=_15[_19+"Milliseconds"]();if(_16.milliseconds){_1c+="."+(_1d<100?"0":"")+_17(_1d);}if(_16.zulu){_1c+="Z";}else{if(_16.selector!="time"){var _1e=_15.getTimezoneOffset();var _1f=Math.abs(_1e);_1c+=(_1e>0?"-":"+")+_17(Math.floor(_1f/60))+":"+_17(_1f%60);}}_18.push(_1c);}return _18.join("T");};return _9.date.stamp;});},"dojo/_base/url":function(){define("dojo/_base/url",["./kernel"],function(_20){var ore=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),ire=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"),_21=function(){var n=null,_22=arguments,uri=[_22[0]];for(var i=1;i<_22.length;i++){if(!_22[i]){continue;}var _23=new _21(_22[i]+""),_24=new _21(uri[0]+"");if(_23.path==""&&!_23.scheme&&!_23.authority&&!_23.query){if(_23.fragment!=n){_24.fragment=_23.fragment;}_23=_24;}else{if(!_23.scheme){_23.scheme=_24.scheme;if(!_23.authority){_23.authority=_24.authority;if(_23.path.charAt(0)!="/"){var _25=_24.path.substring(0,_24.path.lastIndexOf("/")+1)+_23.path;var _26=_25.split("/");for(var j=0;j<_26.length;j++){if(_26[j]=="."){if(j==_26.length-1){_26[j]="";}else{_26.splice(j,1);j--;}}else{if(j>0&&!(j==1&&_26[0]=="")&&_26[j]==".."&&_26[j-1]!=".."){if(j==(_26.length-1)){_26.splice(j,1);_26[j-1]="";}else{_26.splice(j-1,2);j-=2;}}}}_23.path=_26.join("/");}}}}uri=[];if(_23.scheme){uri.push(_23.scheme,":");}if(_23.authority){uri.push("//",_23.authority);}uri.push(_23.path);if(_23.query){uri.push("?",_23.query);}if(_23.fragment){uri.push("#",_23.fragment);}}this.uri=uri.join("");var r=this.uri.match(ore);this.scheme=r[2]||(r[1]?"":n);this.authority=r[4]||(r[3]?"":n);this.path=r[5];this.query=r[7]||(r[6]?"":n);this.fragment=r[9]||(r[8]?"":n);if(this.authority!=n){r=this.authority.match(ire);this.user=r[3]||n;this.password=r[4]||n;this.host=r[6]||r[7];this.port=r[9]||n;}};_21.prototype.toString=function(){return this.uri;};return _20._Url=_21;});},"dojo/html":function(){define("dojo/html",["./_base/kernel","./_base/lang","./_base/array","./_base/declare","./dom","./dom-construct","./parser"],function(_27,_28,_29,_2a,dom,_2b,_2c){_28.getObject("html",true,_27);var _2d=0;_27.html._secureForInnerHtml=function(_2e){return _2e.replace(/(?:\s*]+>|]*>[\s\S]*?<\/title>)/ig,"");};_27.html._emptyNode=_2b.empty;_27.html._setNodeContent=function(_2f,_30){_2b.empty(_2f);if(_30){if(typeof _30=="string"){_30=_2b.toDom(_30,_2f.ownerDocument);}if(!_30.nodeType&&_28.isArrayLike(_30)){for(var _31=_30.length,i=0;i<_30.length;i=_31==_30.length?i+1:0){_2b.place(_30[i],_2f,"last");}}else{_2b.place(_30,_2f,"last");}}return _2f;};_2a("dojo.html._ContentSetter",null,{node:"",content:"",id:"",cleanContent:false,extractContent:false,parseContent:false,parserScope:_27._scopeName,startup:true,constructor:function(_32,_33){_28.mixin(this,_32||{});_33=this.node=dom.byId(this.node||_33);if(!this.id){this.id=["Setter",(_33)?_33.id||_33.tagName:"",_2d++].join("_");}},set:function(_34,_35){if(undefined!==_34){this.content=_34;}if(_35){this._mixin(_35);}this.onBegin();this.setContent();this.onEnd();return this.node;},setContent:function(){var _36=this.node;if(!_36){throw new Error(this.declaredClass+": setContent given no node");}try{_36=_27.html._setNodeContent(_36,this.content);}catch(e){var _37=this.onContentError(e);try{_36.innerHTML=_37;}catch(e){console.error("Fatal "+this.declaredClass+".setContent could not change content due to "+e.message,e);}}this.node=_36;},empty:function(){if(this.parseResults&&this.parseResults.length){_29.forEach(this.parseResults,function(w){if(w.destroy){w.destroy();}});delete this.parseResults;}_27.html._emptyNode(this.node);},onBegin:function(){var _38=this.content;if(_28.isString(_38)){if(this.cleanContent){_38=_27.html._secureForInnerHtml(_38);}if(this.extractContent){var _39=_38.match(/ ]*>\s*([\s\S]+)\s*<\/body>/im);if(_39){_38=_39[1];}}}this.empty();this.content=_38;return this.node;},onEnd:function(){if(this.parseContent){this._parse();}return this.node;},tearDown:function(){delete this.parseResults;delete this.node;delete this.content;},onContentError:function(err){return "Error occured setting content: "+err;},_mixin:function(_3a){var _3b={},key;for(key in _3a){if(key in _3b){continue;}this[key]=_3a[key];}},_parse:function(){var _3c=this.node;try{var _3d={};_29.forEach(["dir","lang","textDir"],function(_3e){if(this[_3e]){_3d[_3e]=this[_3e];}},this);this.parseResults=_2c.parse({rootNode:_3c,noStart:!this.startup,inherited:_3d,scope:this.parserScope});}catch(e){this._onError("Content",e,"Error parsing in _ContentSetter#"+this.id);}},_onError:function(_3f,err,_40){var _41=this["on"+_3f+"Error"].call(this,err);if(_40){console.error(_40,err);}else{if(_41){_27.html._setNodeContent(this.node,_41,true);}}}});_27.html.set=function(_42,_43,_44){if(undefined==_43){console.warn("dojo.html.set: no cont argument provided, using empty string");_43="";}if(!_44){return _27.html._setNodeContent(_42,_43,true);}else{var op=new _27.html._ContentSetter(_28.mixin(_44,{content:_43,node:_42}));return op.set();}};return _27.html;});},"dojo/uacss":function(){define("dojo/uacss",["./dom-geometry","./_base/lang","./ready","./_base/sniff","./_base/window"],function(_45,_46,_47,has,_48){var _49=_48.doc.documentElement,ie=has("ie"),_4a=has("opera"),maj=Math.floor,ff=has("ff"),_4b=_45.boxModel.replace(/-/,""),_4c={"dj_quirks":has("quirks"),"dj_opera":_4a,"dj_khtml":has("khtml"),"dj_webkit":has("webkit"),"dj_safari":has("safari"),"dj_chrome":has("chrome"),"dj_gecko":has("mozilla")};if(ie){_4c["dj_ie"]=true;_4c["dj_ie"+maj(ie)]=true;_4c["dj_iequirks"]=has("quirks");}if(ff){_4c["dj_ff"+maj(ff)]=true;}_4c["dj_"+_4b]=true;var _4d="";for(var clz in _4c){if(_4c[clz]){_4d+=clz+" ";}}_49.className=_46.trim(_49.className+" "+_4d);_47(90,function(){if(!_45.isBodyLtr()){var _4e="dj_rtl dijitRtl "+_4d.replace(/ /g,"-rtl ");_49.className=_46.trim(_49.className+" "+_4e+"dj_rtl dijitRtl "+_4d.replace(/ /g,"-rtl "));}});return has;});},"dojo/window":function(){define("dojo/window",["./_base/lang","./_base/sniff","./_base/window","./dom","./dom-geometry","./dom-style","./dom-construct"],function(_4f,has,_50,dom,_51,_52,_53){has.add("rtl-adjust-position-for-verticalScrollBar",function(win,doc){var _54=_50.body(doc),_55=_53.create("div",{style:{overflow:"scroll",overflowX:"visible",direction:"rtl",visibility:"hidden",position:"absolute",left:"0",top:"0",width:"64px",height:"64px"}},_54,"last"),div=_53.create("div",{style:{overflow:"hidden",direction:"ltr"}},_55,"last"),ret=_51.position(div).x!=0;_55.removeChild(div);_54.removeChild(_55);return ret;});has.add("position-fixed-support",function(win,doc){var _56=_50.body(doc),_57=_53.create("span",{style:{visibility:"hidden",position:"fixed",left:"1px",top:"1px"}},_56,"last"),_58=_53.create("span",{style:{position:"fixed",left:"0",top:"0"}},_57,"last"),ret=_51.position(_58).x!=_51.position(_57).x;_57.removeChild(_58);_56.removeChild(_57);return ret;});var _59=_4f.getObject("dojo.window",true);_59.getBox=function(){var _5a=(_50.doc.compatMode=="BackCompat")?_50.body():_50.doc.documentElement,_5b=_51.docScroll(),w,h;if(has("touch")){var _5c=_50.doc.parentWindow||_50.doc.defaultView;w=_5c.innerWidth||_5a.clientWidth;h=_5c.innerHeight||_5a.clientHeight;}else{w=_5a.clientWidth;h=_5a.clientHeight;}return {l:_5b.x,t:_5b.y,w:w,h:h};};_59.get=function(doc){if(has("ie")<9&&_59!==document.parentWindow){doc.parentWindow.execScript("document._parentWindow = window;","Javascript");var win=doc._parentWindow;doc._parentWindow=null;return win;}return doc.parentWindow||doc.defaultView;};_59.scrollIntoView=function(_5d,pos){try{_5d=dom.byId(_5d);var doc=_5d.ownerDocument||_50.doc,_5e=_50.body(doc),_5f=doc.documentElement||_5e.parentNode,_60=has("ie"),_61=has("webkit");if(_5d==_5e||_5d==_5f){return;}if(!(has("mozilla")||_60||_61||has("opera"))&&("scrollIntoView" in _5d)){_5d.scrollIntoView(false);return;}var _62=doc.compatMode=="BackCompat",_63=Math.min(_5e.clientWidth||_5f.clientWidth,_5f.clientWidth||_5e.clientWidth),_64=Math.min(_5e.clientHeight||_5f.clientHeight,_5f.clientHeight||_5e.clientHeight),_65=(_61||_62)?_5e:_5f,_66=pos||_51.position(_5d),el=_5d.parentNode,_67=function(el){return (_60<=6||(_60==7&&_62))?false:(has("position-fixed-support")&&(_52.get(el,"position").toLowerCase()=="fixed"));};if(_67(_5d)){return;}while(el){if(el==_5e){el=_65;}var _68=_51.position(el),_69=_67(el),rtl=_52.getComputedStyle(el).direction.toLowerCase()=="rtl";if(el==_65){_68.w=_63;_68.h=_64;if(_65==_5f&&_60&&rtl){_68.x+=_65.offsetWidth-_68.w;}if(_68.x<0||!_60||_60>=9){_68.x=0;}if(_68.y<0||!_60||_60>=9){_68.y=0;}}else{var pb=_51.getPadBorderExtents(el);_68.w-=pb.w;_68.h-=pb.h;_68.x+=pb.l;_68.y+=pb.t;var _6a=el.clientWidth,_6b=_68.w-_6a;if(_6a>0&&_6b>0){if(rtl&&has("rtl-adjust-position-for-verticalScrollBar")){_68.x+=_6b;}_68.w=_6a;}_6a=el.clientHeight;_6b=_68.h-_6a;if(_6a>0&&_6b>0){_68.h=_6a;}}if(_69){if(_68.y<0){_68.h+=_68.y;_68.y=0;}if(_68.x<0){_68.w+=_68.x;_68.x=0;}if(_68.y+_68.h>_64){_68.h=_64-_68.y;}if(_68.x+_68.w>_63){_68.w=_63-_68.x;}}var l=_66.x-_68.x,t=_66.y-_68.y,r=l+_66.w-_68.w,bot=t+_66.h-_68.h;var s,old;if(r*l>0&&(!!el.scrollLeft||el==_65||el.scrollWidth>el.offsetHeight)){s=Math[l<0?"max":"min"](l,r);if(rtl&&((_60==8&&!_62)||_60>=9)){s=-s;}old=el.scrollLeft;el.scrollLeft+=s;s=el.scrollLeft-old;_66.x-=s;}if(bot*t>0&&(!!el.scrollTop||el==_65||el.scrollHeight>el.offsetHeight)){s=Math.ceil(Math[t<0?"max":"min"](t,bot));old=el.scrollTop;el.scrollTop+=s;s=el.scrollTop-old;_66.y-=s;}el=(el!=_65)&&!_69&&el.parentNode;}}catch(error){console.error("scrollIntoView: "+error);_5d.scrollIntoView(false);}};return _59;});},"dojo/parser":function(){define("dojo/parser",["./_base/kernel","./_base/lang","./_base/array","./_base/config","./_base/html","./_base/window","./_base/url","./_base/json","./aspect","./date/stamp","./has","./query","./on","./ready"],function(_6c,_6d,_6e,_6f,_70,_71,_72,_73,_74,_75,has,_76,don,_77){new Date("X");if(1){var _78=document.createElement("form");has.add("dom-attributes-explicit",_78.attributes.length==0);has.add("dom-attributes-specified-flag",_78.attributes.length<40);}_6c.parser=new function(){var _79={};function _7a(_7b){var map={};for(var _7c in _7b){if(_7c.charAt(0)=="_"){continue;}map[_7c.toLowerCase()]=_7c;}return map;};_74.after(_6d,"extend",function(){_79={};},true);var _7d={};function _7e(_7f){var map=_7d[_7f]||(_7d[_7f]={});return map["__type"]||(map["__type"]=(_6d.getObject(_7f)||require(_7f)));};this._functionFromScript=function(_80,_81){var _82="";var _83="";var _84=(_80.getAttribute(_81+"args")||_80.getAttribute("args"));if(_84){_6e.forEach(_84.split(/\s*,\s*/),function(_85,idx){_82+="var "+_85+" = arguments["+idx+"]; ";});}var _86=_80.getAttribute("with");if(_86&&_86.length){_6e.forEach(_86.split(/\s*,\s*/),function(_87){_82+="with("+_87+"){";_83+="}";});}return new Function(_82+_80.innerHTML+_83);};this.instantiate=function(_88,_89,_8a){_89=_89||{};_8a=_8a||{};var _8b=(_8a.scope||_6c._scopeName)+"Type",_8c="data-"+(_8a.scope||_6c._scopeName)+"-",_8d=_8c+"type";var _8e=[];_6e.forEach(_88,function(_8f){var _90=_8b in _89?_89[_8b]:_8f.getAttribute(_8d)||_8f.getAttribute(_8b);if(_90){_8e.push({node:_8f,"type":_90});}});return this._instantiate(_8e,_89,_8a);};this._instantiate=function(_91,_92,_93){var _94=[];var _95=(_93.scope||_6c._scopeName)+"Type",_96="data-"+(_93.scope||_6c._scopeName)+"-",_97=_96+"type",_98=_96+"props",_99=_96+"attach-point",_9a=_96+"attach-event",_9b=_96+"id",_9c=_96+"mixins";var _9d={};_6e.forEach([_98,_97,_95,_9b,"jsId",_99,_9a,"dojoAttachPoint","dojoAttachEvent","class","style",_9c],function(_9e){_9d[_9e.toLowerCase()]=_9e.replace(_93.scope,"dojo");});function _9f(_a0,_a1){return _a0.createSubclass&&_a0.createSubclass(_a1)||_a0.extend.apply(_a0,_a1);};_6e.forEach(_91,function(obj){if(!obj){return;}var _a2=obj.node,_a3=obj.type,_a4=_a2.getAttribute(_9c),_a5;if(_a4){var map=_7d[_a3];_a4=_a4.replace(/ /g,"");_a5=map&&map[_a4];if(!_a5){_a5=_7e(_a3);_a5=_7d[_a3][_a4]=_9f(_a5,_6e.map(_a4.split(","),_7e));}}else{_a5=_7e(_a3);}var _a6=_a5&&_a5.prototype;var _a7={};if(_93.defaults){_6d.mixin(_a7,_93.defaults);}if(obj.inherited){_6d.mixin(_a7,obj.inherited);}var _a8;if(has("dom-attributes-explicit")){_a8=_a2.attributes;}else{if(has("dom-attributes-specified-flag")){_a8=_6e.filter(_a2.attributes,function(a){return a.specified;});}else{var _a9=/^input$|^img$/i.test(_a2.nodeName)?_a2:_a2.cloneNode(false),_aa=_a9.outerHTML.replace(/=[^\s"']+|="[^"]*"|='[^']*'/g,"").replace(/^\s*<[a-zA-Z0-9]*\s*/,"").replace(/\s*>.*$/,"");_a8=_6e.map(_aa.split(/\s+/),function(_ab){var _ac=_ab.toLowerCase();return {name:_ab,value:(_a2.nodeName=="LI"&&_ab=="value")||_ac=="enctype"?_a2.getAttribute(_ac):_a2.getAttributeNode(_ac).value};});}}var i=0,_ad;while(_ad=_a8[i++]){var _ae=_ad.name,_af=_ae.toLowerCase(),_b0=_ad.value;if(_af in _9d){switch(_9d[_af]){case "data-dojo-props":var _b1=_b0;break;case "data-dojo-id":case "jsId":var _b2=_b0;break;case "data-dojo-attach-point":case "dojoAttachPoint":_a7.dojoAttachPoint=_b0;break;case "data-dojo-attach-event":case "dojoAttachEvent":_a7.dojoAttachEvent=_b0;break;case "class":_a7["class"]=_a2.className;break;case "style":_a7["style"]=_a2.style&&_a2.style.cssText;break;}}else{if(!(_ae in _a6)){var map=(_79[_a3]||(_79[_a3]=_7a(_a6)));_ae=map[_af]||_ae;}if(_ae in _a6){switch(typeof _a6[_ae]){case "string":_a7[_ae]=_b0;break;case "number":_a7[_ae]=_b0.length?Number(_b0):NaN;break;case "boolean":_a7[_ae]=_b0.toLowerCase()!="false";break;case "function":if(_b0===""||_b0.search(/[^\w\.]+/i)!=-1){_a7[_ae]=new Function(_b0);}else{_a7[_ae]=_6d.getObject(_b0,false)||new Function(_b0);}break;default:var _b3=_a6[_ae];_a7[_ae]=(_b3&&"length" in _b3)?(_b0?_b0.split(/\s*,\s*/):[]):(_b3 instanceof Date)?(_b0==""?new Date(""):_b0=="now"?new Date():_75.fromISOString(_b0)):(_b3 instanceof _6c._Url)?(_6c.baseUrl+_b0):_73.fromJson(_b0);}}else{_a7[_ae]=_b0;}}}if(_b1){try{_b1=_73.fromJson.call(_93.propsThis,"{"+_b1+"}");_6d.mixin(_a7,_b1);}catch(e){throw new Error(e.toString()+" in data-dojo-props='"+_b1+"'");}}_6d.mixin(_a7,_92);var _b4=obj.scripts||(_a5&&(_a5._noScript||_a6._noScript)?[]:_76("> script[type^='dojo/']",_a2));var _b5=[],_b6=[],_b7=[],on=[];if(_b4){for(i=0;i<_b4.length;i++){var _b8=_b4[i];_a2.removeChild(_b8);var _b9=(_b8.getAttribute(_96+"event")||_b8.getAttribute("event")),_ba=_b8.getAttribute(_96+"prop"),_bb=_b8.getAttribute("type"),nf=this._functionFromScript(_b8,_96);if(_b9){if(_bb=="dojo/connect"){_b5.push({event:_b9,func:nf});}else{if(_bb=="dojo/on"){on.push({event:_b9,func:nf});}else{_a7[_b9]=nf;}}}else{if(_bb=="dojo/watch"){_b7.push({prop:_ba,func:nf});}else{_b6.push(nf);}}}}var _bc=_a5.markupFactory||_a6.markupFactory;var _bd=_bc?_bc(_a7,_a2,_a5):new _a5(_a7,_a2);_94.push(_bd);if(_b2){_6d.setObject(_b2,_bd);}for(i=0;i<_b5.length;i++){_74.after(_bd,_b5[i].event,_6c.hitch(_bd,_b5[i].func),true);}for(i=0;i<_b6.length;i++){_b6[i].call(_bd);}for(i=0;i<_b7.length;i++){_bd.watch(_b7[i].prop,_b7[i].func);}for(i=0;i= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/i18n":function(){define("dojo/i18n",["./_base/kernel","require","./has","./_base/array","./_base/config","./_base/lang","./_base/xhr","./json"],function(_1,_2,_3,_4,_5,_6,_7,_8){_3.add("dojo-preload-i18n-Api",1);true||_3.add("dojo-v1x-i18n-Api",1);var _9=_1.i18n={},_a=/(^.*(^|\/)nls)(\/|$)([^\/]*)\/?([^\/]*)/,_b=function(_c,_d,_e,_f){for(var _10=[_e+_f],_11=_d.split("-"),_12="",i=0;i<_11.length;i++){_12+=(_12?"-":"")+_11[i];if(!_c||_c[_12]){_10.push(_e+_12+"/"+_f);}}return _10;},_13={},_14=_1.getL10nName=function(_15,_16,_17){_17=_17?_17.toLowerCase():_1.locale;_15="dojo/i18n!"+_15.replace(/\./g,"/");_16=_16.replace(/\./g,"/");return (/root/i.test(_17))?(_15+"/nls/"+_16):(_15+"/nls/"+_17+"/"+_16);},_18=function(_19,_1a,_1b,_1c,_1d,_1e){_19([_1a],function(_1f){var _20=_6.clone(_1f.root||_1f.ROOT),_21=_b(!_1f._v1x&&_1f,_1d,_1b,_1c);_19(_21,function(){for(var i=1;i<_21.length;i++){_20=_6.mixin(_6.clone(_20),arguments[i]);}var _22=_1a+"/"+_1d;_13[_22]=_20;_1e();});});},_23=function(id,_24){return /^\./.test(id)?_24(id):id;},_25=function(_26){var _27=_5.extraLocale||[];_27=_6.isArray(_27)?_27:[_27];_27.push(_26);return _27;},_28=function(id,_29,_2a){if(_3("dojo-preload-i18n-Api")){var _2b=id.split("*"),_2c=_2b[1]=="preload";if(_2c){if(!_13[id]){_13[id]=1;_2d(_2b[2],_8.parse(_2b[3]),1);}_2a(1);}if(_2c||_2e(id,_29,_2a)){return;}}var _2f=_a.exec(id),_30=_2f[1]+"/",_31=_2f[5]||_2f[4],_32=_30+_31,_33=(_2f[5]&&_2f[4]),_34=_33||_1.locale,_35=_32+"/"+_34,_36=_33?[_34]:_25(_34),_37=_36.length,_38=function(){if(!--_37){_2a(_6.delegate(_13[_35]));}};_4.forEach(_36,function(_39){var _3a=_32+"/"+_39;if(_3("dojo-preload-i18n-Api")){_3b(_3a);}if(!_13[_3a]){_18(_29,_32,_30,_31,_39,_38);}else{_38();}});};if(_3("dojo-unit-tests")){var _3c=_9.unitTests=[];}if(_3("dojo-preload-i18n-Api")||1){var _3d=_9.normalizeLocale=function(_3e){var _3f=_3e?_3e.toLowerCase():_1.locale;return _3f=="root"?"ROOT":_3f;},_40=function(mid){return (1&&1)?_2.isXdUrl(_2.toUrl(mid+".js")):true;},_41=0,_42=[],_2d=_9._preloadLocalizations=function(_43,_44,_45){function _46(_47,_48){var _49=_47.split("-");while(_49.length){if(_48(_49.join("-"))){return true;}_49.pop();}return _48("ROOT");};function _4a(_4b){_4b=_3d(_4b);_46(_4b,function(loc){if(_4.indexOf(_44,loc)>=0){var mid=_43.replace(/\./g,"/")+"_"+loc;_41++;(_40(mid)||_45?_2:_50)([mid],function(_4c){for(var p in _4c){_13[p+"/"+loc]=_4c[p];}--_41;while(!_41&&_42.length){_28.apply(null,_42.shift());}});return true;}return false;});};_4a();_4.forEach(_1.config.extraLocale,_4a);},_2e=function(id,_4d,_4e){if(_41){_42.push([id,_4d,_4e]);}return _41;};}if(1){var _4f=new Function("__bundle","__checkForLegacyModules","__mid","var define = function(){define.called = 1;},"+" require = function(){define.called = 1;};"+"try{"+"define.called = 0;"+"eval(__bundle);"+"if(define.called==1)"+"return 1;"+"if((__checkForLegacyModules = __checkForLegacyModules(__mid)))"+"return __checkForLegacyModules;"+"}catch(e){}"+"try{"+"return eval('('+__bundle+')');"+"}catch(e){"+"return e;"+"}"),_50=function(_51,_52){var _53=[];_4.forEach(_51,function(mid){var url=_2.toUrl(mid+".js");function _28(_54){var _55=_4f(_54,_3b,mid);if(_55===1){_2([mid],function(_56){_53.push(_13[url]=_56);});}else{if(_55 instanceof Error){console.error("failed to evaluate i18n bundle; url="+url,_55);_55={};}_53.push(_13[url]=(/nls\/[^\/]+\/[^\/]+$/.test(url)?_55:{root:_55,_v1x:1}));}};if(_13[url]){_53.push(_13[url]);}else{var _57=_2.syncLoadNls(mid);if(_57){_53.push(_57);}else{if(!_7){try{_2.getText(url,true,_28);}catch(e){_53.push(_13[url]={});}}else{_7.get({url:url,sync:true,load:_28,error:function(){_53.push(_13[url]={});}});}}}});_52&&_52.apply(null,_53);},_3b=function(_58){for(var _59,_5a=_58.split("/"),_5b=_1.global[_5a[0]],i=1;_5b&&i<_5a.length-1;_5b=_5b[_5a[i++]]){}if(_5b){_59=_5b[_5a[i]];if(!_59){_59=_5b[_5a[i].replace(/-/g,"_")];}if(_59){_13[_58]=_59;}}return _59;};_9.getLocalization=function(_5c,_5d,_5e){var _5f,_60=_14(_5c,_5d,_5e).substring(10);_28(_60,(!_40(_60)?_50:_2),function(_61){_5f=_61;});return _5f;};if(_3("dojo-unit-tests")){_3c.push(function(doh){doh.register("tests.i18n.unit",function(t){var _62;_62=_4f("{prop:1}");t.is({prop:1},_62);t.is(undefined,_62[1]);_62=_4f("({prop:1})");t.is({prop:1},_62);t.is(undefined,_62[1]);_62=_4f("{'prop-x':1}");t.is({"prop-x":1},_62);t.is(undefined,_62[1]);_62=_4f("({'prop-x':1})");t.is({"prop-x":1},_62);t.is(undefined,_62[1]);_62=_4f("define({'prop-x':1})");t.is(1,_62);_62=_4f("this is total nonsense and should throw an error");t.is(_62 instanceof Error,true);});});}}return _6.mixin(_9,{dynamic:true,normalize:_23,load:_28,cache:_13});});},"dojo/string":function(){define("dojo/string",["./_base/kernel","./_base/lang"],function(_63,_64){_64.getObject("string",true,_63);_63.string.rep=function(str,num){if(num<=0||!str){return "";}var buf=[];for(;;){if(num&1){buf.push(str);}if(!(num>>=1)){break;}str+=str;}return buf.join("");};_63.string.pad=function(_65,_66,ch,end){if(!ch){ch="0";}var out=String(_65),pad=_63.string.rep(ch,Math.ceil((_66-out.length)/ch.length));return end?out+pad:pad+out;};_63.string.substitute=function(_67,map,_68,_69){_69=_69||_63.global;_68=_68?_64.hitch(_69,_68):function(v){return v;};return _67.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_6a,key,_6b){var _6c=_64.getObject(key,false,map);if(_6b){_6c=_64.getObject(_6b,false,_69).call(_69,_6c,key);}return _68(_6c,key).toString();});};_63.string.trim=String.prototype.trim?_64.trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;};return _63.string;});},"dojo/io/iframe":function(){define("dojo/io/iframe",["../main","require"],function(_6d,_6e){_6d.getObject("io",true,_6d);_6d.io.iframe={create:function(_6f,_70,uri){if(window[_6f]){return window[_6f];}if(window.frames[_6f]){return window.frames[_6f];}var _71=uri;if(!_71){if(_6d.config["useXDomain"]&&!_6d.config["dojoBlankHtmlUrl"]){console.warn("dojo.io.iframe.create: When using cross-domain Dojo builds,"+" please save dojo/resources/blank.html to your domain and set djConfig.dojoBlankHtmlUrl"+" to the path on your domain to blank.html");}_71=(_6d.config["dojoBlankHtmlUrl"]||_6e.toUrl("../resources/blank.html"));}var _72=_6d.place(" \n","dojo/_base/url":function(){define("dojo/_base/url",["./kernel"],function(dojo){var ore=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),ire=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"),_181=function(){var n=null,_182=arguments,uri=[_182[0]];for(var i=1;i<_182.length;i++){if(!_182[i]){continue;}var _183=new _181(_182[i]+""),_184=new _181(uri[0]+"");if(_183.path==""&&!_183.scheme&&!_183.authority&&!_183.query){if(_183.fragment!=n){_184.fragment=_183.fragment;}_183=_184;}else{if(!_183.scheme){_183.scheme=_184.scheme;if(!_183.authority){_183.authority=_184.authority;if(_183.path.charAt(0)!="/"){var path=_184.path.substring(0,_184.path.lastIndexOf("/")+1)+_183.path;var segs=path.split("/");for(var j=0;j0&&!(j==1&&segs[0]=="")&&segs[j]==".."&&segs[j-1]!=".."){if(j==(segs.length-1)){segs.splice(j,1);segs[j-1]="";}else{segs.splice(j-1,2);j-=2;}}}}_183.path=segs.join("/");}}}}uri=[];if(_183.scheme){uri.push(_183.scheme,":");}if(_183.authority){uri.push("//",_183.authority);}uri.push(_183.path);if(_183.query){uri.push("?",_183.query);}if(_183.fragment){uri.push("#",_183.fragment);}}this.uri=uri.join("");var r=this.uri.match(ore);this.scheme=r[2]||(r[1]?"":n);this.authority=r[4]||(r[3]?"":n);this.path=r[5];this.query=r[7]||(r[6]?"":n);this.fragment=r[9]||(r[8]?"":n);if(this.authority!=n){r=this.authority.match(ire);this.user=r[3]||n;this.password=r[4]||n;this.host=r[6]||r[7];this.port=r[9]||n;}};_181.prototype.toString=function(){return this.uri;};return dojo._Url=_181;});},"dojo/string":function(){define("dojo/string",["./_base/kernel","./_base/lang"],function(dojo,lang){lang.getObject("string",true,dojo);dojo.string.rep=function(str,num){if(num<=0||!str){return "";}var buf=[];for(;;){if(num&1){buf.push(str);}if(!(num>>=1)){break;}str+=str;}return buf.join("");};dojo.string.pad=function(text,size,ch,end){if(!ch){ch="0";}var out=String(text),pad=dojo.string.rep(ch,Math.ceil((size-out.length)/ch.length));return end?out+pad:pad+out;};dojo.string.substitute=function(_185,map,_186,_187){_187=_187||dojo.global;_186=_186?lang.hitch(_187,_186):function(v){return v;};return _185.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_188,key,_189){var _18a=lang.getObject(key,false,map);if(_189){_18a=lang.getObject(_189,false,_187).call(_187,_18a,key);}return _186(_18a,key).toString();});};dojo.string.trim=String.prototype.trim?lang.trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;};return dojo.string;});},"url:dijit/templates/TitlePane.html":"\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n","dijit/DialogUnderlay":function(){define("dijit/DialogUnderlay",["dojo/_base/declare","dojo/dom-attr","dojo/_base/window","dojo/window","./_Widget","./_TemplatedMixin","./BackgroundIframe"],function(_18b,_18c,win,_18d,_18e,_18f,_190){return _18b("dijit.DialogUnderlay",[_18e,_18f],{templateString:"",dialogId:"","class":"",_setDialogIdAttr:function(id){_18c.set(this.node,"id",id+"_underlay");this._set("dialogId",id);},_setClassAttr:function(_191){this.node.className="dijitDialogUnderlay "+_191;this._set("class",_191);},postCreate:function(){win.body().appendChild(this.domNode);},layout:function(){var is=this.node.style,os=this.domNode.style;os.display="none";var _192=_18d.getBox();os.top=_192.t+"px";os.left=_192.l+"px";is.width=_192.w+"px";is.height=_192.h+"px";os.display="block";},show:function(){this.domNode.style.display="block";this.layout();this.bgIframe=new _190(this.domNode);},hide:function(){this.bgIframe.destroy();delete this.bgIframe;this.domNode.style.display="none";}});});},"url:dijit/templates/Dialog.html":"\n\t
\n\t \n\t\n\t\tx \n\t \n\t
\n\t\t
\n
\n","dojo/cache":function(){define("dojo/cache",["./_base/kernel","./text"],function(dojo,text){return dojo.cache;});},"dijit/TitlePane":function(){require({cache:{"url:dijit/templates/TitlePane.html":"\n\t
\n\t\t
\n\t\t\t
\n\t\t
\n\t
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t
\n\t
\n
\n"}});define("dijit/TitlePane",["dojo/_base/array","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/_base/event","dojo/fx","dojo/_base/kernel","dojo/keys","./_CssStateMixin","./_TemplatedMixin","./layout/ContentPane","dojo/text!./templates/TitlePane.html","./_base/manager"],function(_193,_194,dom,_195,_196,_197,_198,_199,_19a,keys,_19b,_19c,_19d,_19e,_19f){return _194("dijit.TitlePane",[_19d,_19c,_19b],{title:"",_setTitleAttr:{node:"titleNode",type:"innerHTML"},open:true,toggleable:true,tabIndex:"0",duration:_19f.defaultDuration,baseClass:"dijitTitlePane",templateString:_19e,doLayout:false,_setTooltipAttr:{node:"focusNode",type:"attribute",attribute:"title"},buildRendering:function(){this.inherited(arguments);dom.setSelectable(this.titleNode,false);},postCreate:function(){this.inherited(arguments);if(this.toggleable){this._trackMouseState(this.titleBarNode,"dijitTitlePaneTitle");}var _1a0=this.hideNode,_1a1=this.wipeNode;this._wipeIn=_199.wipeIn({node:_1a1,duration:this.duration,beforeBegin:function(){_1a0.style.display="";}});this._wipeOut=_199.wipeOut({node:_1a1,duration:this.duration,onEnd:function(){_1a0.style.display="none";}});},_setOpenAttr:function(open,_1a2){_193.forEach([this._wipeIn,this._wipeOut],function(_1a3){if(_1a3&&_1a3.status()=="playing"){_1a3.stop();}});if(_1a2){var anim=this[open?"_wipeIn":"_wipeOut"];anim.play();}else{this.hideNode.style.display=this.wipeNode.style.display=open?"":"none";}if(this._started){if(open){this._onShow();}else{this.onHide();}}this.arrowNodeInner.innerHTML=open?"-":"+";this.containerNode.setAttribute("aria-hidden",open?"false":"true");this.focusNode.setAttribute("aria-pressed",open?"true":"false");this._set("open",open);this._setCss();},_setToggleableAttr:function(_1a4){this.focusNode.setAttribute("role",_1a4?"button":"heading");if(_1a4){this.focusNode.setAttribute("aria-controls",this.id+"_pane");_195.set(this.focusNode,"tabIndex",this.tabIndex);}else{_195.remove(this.focusNode,"tabIndex");}this._set("toggleable",_1a4);this._setCss();},_setContentAttr:function(_1a5){if(!this.open||!this._wipeOut||this._wipeOut.status()=="playing"){this.inherited(arguments);}else{if(this._wipeIn&&this._wipeIn.status()=="playing"){this._wipeIn.stop();}_197.setMarginBox(this.wipeNode,{h:_197.getMarginBox(this.wipeNode).h});this.inherited(arguments);if(this._wipeIn){this._wipeIn.play();}else{this.hideNode.style.display="";}}},toggle:function(){this._setOpenAttr(!this.open,true);},_setCss:function(){var node=this.titleBarNode||this.focusNode;var _1a6=this._titleBarClass;this._titleBarClass="dijit"+(this.toggleable?"":"Fixed")+(this.open?"Open":"Closed");_196.replace(node,this._titleBarClass,_1a6||"");this.arrowNodeInner.innerHTML=this.open?"-":"+";},_onTitleKey:function(e){if(e.charOrCode==keys.ENTER||e.charOrCode==" "){if(this.toggleable){this.toggle();}_198.stop(e);}else{if(e.charOrCode==keys.DOWN_ARROW&&this.open){this.containerNode.focus();e.preventDefault();}}},_onTitleClick:function(){if(this.toggleable){this.toggle();}},setTitle:function(_1a7){_19a.deprecated("dijit.TitlePane.setTitle() is deprecated. Use set('title', ...) instead.","","2.0");this.set("title",_1a7);}});});},"dojo/date/stamp":function(){define("dojo/date/stamp",["../_base/kernel","../_base/lang","../_base/array"],function(dojo,lang,_1a8){lang.getObject("date.stamp",true,dojo);dojo.date.stamp.fromISOString=function(_1a9,_1aa){if(!dojo.date.stamp._isoRegExp){dojo.date.stamp._isoRegExp=/^(?:(\d{4})(?:-(\d{2})(?:-(\d{2}))?)?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(.\d+)?)?((?:[+-](\d{2}):(\d{2}))|Z)?)?$/;}var _1ab=dojo.date.stamp._isoRegExp.exec(_1a9),_1ac=null;if(_1ab){_1ab.shift();if(_1ab[1]){_1ab[1]--;}if(_1ab[6]){_1ab[6]*=1000;}if(_1aa){_1aa=new Date(_1aa);_1a8.forEach(_1a8.map(["FullYear","Month","Date","Hours","Minutes","Seconds","Milliseconds"],function(prop){return _1aa["get"+prop]();}),function(_1ad,_1ae){_1ab[_1ae]=_1ab[_1ae]||_1ad;});}_1ac=new Date(_1ab[0]||1970,_1ab[1]||0,_1ab[2]||1,_1ab[3]||0,_1ab[4]||0,_1ab[5]||0,_1ab[6]||0);if(_1ab[0]<100){_1ac.setFullYear(_1ab[0]||1970);}var _1af=0,_1b0=_1ab[7]&&_1ab[7].charAt(0);if(_1b0!="Z"){_1af=((_1ab[8]||0)*60)+(Number(_1ab[9])||0);if(_1b0!="-"){_1af*=-1;}}if(_1b0){_1af-=_1ac.getTimezoneOffset();}if(_1af){_1ac.setTime(_1ac.getTime()+_1af*60000);}}return _1ac;};dojo.date.stamp.toISOString=function(_1b1,_1b2){var _1b3=function(n){return (n<10)?"0"+n:n;};_1b2=_1b2||{};var _1b4=[],_1b5=_1b2.zulu?"getUTC":"get",date="";if(_1b2.selector!="time"){var year=_1b1[_1b5+"FullYear"]();date=["0000".substr((year+"").length)+year,_1b3(_1b1[_1b5+"Month"]()+1),_1b3(_1b1[_1b5+"Date"]())].join("-");}_1b4.push(date);if(_1b2.selector!="date"){var time=[_1b3(_1b1[_1b5+"Hours"]()),_1b3(_1b1[_1b5+"Minutes"]()),_1b3(_1b1[_1b5+"Seconds"]())].join(":");var _1b6=_1b1[_1b5+"Milliseconds"]();if(_1b2.milliseconds){time+="."+(_1b6<100?"0":"")+_1b3(_1b6);}if(_1b2.zulu){time+="Z";}else{if(_1b2.selector!="time"){var _1b7=_1b1.getTimezoneOffset();var _1b8=Math.abs(_1b7);time+=(_1b7>0?"-":"+")+_1b3(Math.floor(_1b8/60))+":"+_1b3(_1b8%60);}}_1b4.push(time);}return _1b4.join("T");};return dojo.date.stamp;});},"dijit/TooltipDialog":function(){require({cache:{"url:dijit/templates/TooltipDialog.html":"\n"}});define("dijit/TooltipDialog",["dojo/_base/declare","dojo/dom-class","dojo/_base/event","dojo/keys","dojo/_base/lang","./focus","./layout/ContentPane","./_DialogMixin","./form/_FormMixin","./_TemplatedMixin","dojo/text!./templates/TooltipDialog.html","."],function(_1b9,_1ba,_1bb,keys,lang,_1bc,_1bd,_1be,_1bf,_1c0,_1c1,_1c2){return _1b9("dijit.TooltipDialog",[_1bd,_1c0,_1bf,_1be],{title:"",doLayout:false,autofocus:true,baseClass:"dijitTooltipDialog",_firstFocusItem:null,_lastFocusItem:null,templateString:_1c1,_setTitleAttr:function(_1c3){this.containerNode.title=_1c3;this._set("title",_1c3);},postCreate:function(){this.inherited(arguments);this.connect(this.containerNode,"onkeypress","_onKey");},orient:function(node,_1c4,_1c5){var newC="dijitTooltipAB"+(_1c5.charAt(1)=="L"?"Left":"Right")+" dijitTooltip"+(_1c5.charAt(0)=="T"?"Below":"Above");_1ba.replace(this.domNode,newC,this._currentOrientClass||"");this._currentOrientClass=newC;},focus:function(){this._getFocusItems(this.containerNode);_1bc.focus(this._firstFocusItem);},onOpen:function(pos){this.orient(this.domNode,pos.aroundCorner,pos.corner);this._onShow();},onClose:function(){this.onHide();},_onKey:function(evt){var node=evt.target;if(evt.charOrCode===keys.TAB){this._getFocusItems(this.containerNode);}var _1c6=(this._firstFocusItem==this._lastFocusItem);if(evt.charOrCode==keys.ESCAPE){setTimeout(lang.hitch(this,"onCancel"),0);_1bb.stop(evt);}else{if(node==this._firstFocusItem&&evt.shiftKey&&evt.charOrCode===keys.TAB){if(!_1c6){_1bc.focus(this._lastFocusItem);}_1bb.stop(evt);}else{if(node==this._lastFocusItem&&evt.charOrCode===keys.TAB&&!evt.shiftKey){if(!_1c6){_1bc.focus(this._firstFocusItem);}_1bb.stop(evt);}else{if(evt.charOrCode===keys.TAB){evt.stopPropagation();}}}}}});});},"dijit/layout/_ContentPaneResizeMixin":function(){define("dijit/layout/_ContentPaneResizeMixin",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/_base/lang","dojo/query","dojo/_base/sniff","dojo/_base/window","../registry","./utils","../_Contained"],function(_1c7,_1c8,_1c9,_1ca,_1cb,lang,_1cc,has,win,_1cd,_1ce,_1cf){return _1c8("dijit.layout._ContentPaneResizeMixin",null,{doLayout:true,isLayoutContainer:true,startup:function(){if(this._started){return;}var _1d0=this.getParent();this._childOfLayoutWidget=_1d0&&_1d0.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);if(this._isShown()){this._onShow();}if(!this._childOfLayoutWidget){this.connect(has("ie")?this.domNode:win.global,"onresize",function(){this._needLayout=!this._childOfLayoutWidget;this.resize();});}},_checkIfSingleChild:function(){var _1d1=_1cc("> *",this.containerNode).filter(function(node){return node.tagName!=="SCRIPT";}),_1d2=_1d1.filter(function(node){return _1c9.has(node,"data-dojo-type")||_1c9.has(node,"dojoType")||_1c9.has(node,"widgetId");}),_1d3=_1c7.filter(_1d2.map(_1cd.byNode),function(_1d4){return _1d4&&_1d4.domNode&&_1d4.resize;});if(_1d1.length==_1d2.length&&_1d3.length==1){this._singleChild=_1d3[0];}else{delete this._singleChild;}_1ca.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild);},resize:function(_1d5,_1d6){if(!this._wasShown&&this.open!==false){this._onShow();}this._resizeCalled=true;this._scheduleLayout(_1d5,_1d6);},_scheduleLayout:function(_1d7,_1d8){if(this._isShown()){this._layout(_1d7,_1d8);}else{this._needLayout=true;this._changeSize=_1d7;this._resultSize=_1d8;}},_layout:function(_1d9,_1da){if(_1d9){_1cb.setMarginBox(this.domNode,_1d9);}var cn=this.containerNode;if(cn===this.domNode){var mb=_1da||{};lang.mixin(mb,_1d9||{});if(!("h" in mb)||!("w" in mb)){mb=lang.mixin(_1cb.getMarginBox(cn),mb);}this._contentBox=_1ce.marginBox2contentBox(cn,mb);}else{this._contentBox=_1cb.getContentBox(cn);}this._layoutChildren();delete this._needLayout;},_layoutChildren:function(){if(this.doLayout){this._checkIfSingleChild();}if(this._singleChild&&this._singleChild.resize){var cb=this._contentBox||_1cb.getContentBox(this.containerNode);this._singleChild.resize({w:cb.w,h:cb.h});}else{_1c7.forEach(this.getChildren(),function(_1db){if(_1db.resize){_1db.resize();}});}},_isShown:function(){if(this._childOfLayoutWidget){if(this._resizeCalled&&"open" in this){return this.open;}return this._resizeCalled;}else{if("open" in this){return this.open;}else{var node=this.domNode,_1dc=this.domNode.parentNode;return (node.style.display!="none")&&(node.style.visibility!="hidden")&&!_1ca.contains(node,"dijitHidden")&&_1dc&&_1dc.style&&(_1dc.style.display!="none");}}},_onShow:function(){if(this._needLayout){this._layout(this._changeSize,this._resultSize);}this.inherited(arguments);this._wasShown=true;}});});},"dojo/html":function(){define("dojo/html",["./_base/kernel","./_base/lang","./_base/array","./_base/declare","./dom","./dom-construct","./parser"],function(dojo,lang,_1dd,_1de,dom,_1df,_1e0){lang.getObject("html",true,dojo);var _1e1=0;dojo.html._secureForInnerHtml=function(cont){return cont.replace(/(?:\s*]+>|]*>[\s\S]*?<\/title>)/ig,"");};dojo.html._emptyNode=_1df.empty;dojo.html._setNodeContent=function(node,cont){_1df.empty(node);if(cont){if(typeof cont=="string"){cont=_1df.toDom(cont,node.ownerDocument);}if(!cont.nodeType&&lang.isArrayLike(cont)){for(var _1e2=cont.length,i=0;i]*>\s*([\s\S]+)\s*<\/body>/im);if(_1e6){cont=_1e6[1];}}}this.empty();this.content=cont;return this.node;},onEnd:function(){if(this.parseContent){this._parse();}return this.node;},tearDown:function(){delete this.parseResults;delete this.node;delete this.content;},onContentError:function(err){return "Error occured setting content: "+err;},_mixin:function(_1e7){var _1e8={},key;for(key in _1e7){if(key in _1e8){continue;}this[key]=_1e7[key];}},_parse:function(){var _1e9=this.node;try{var _1ea={};_1dd.forEach(["dir","lang","textDir"],function(name){if(this[name]){_1ea[name]=this[name];}},this);this.parseResults=_1e0.parse({rootNode:_1e9,noStart:!this.startup,inherited:_1ea,scope:this.parserScope});}catch(e){this._onError("Content",e,"Error parsing in _ContentSetter#"+this.id);}},_onError:function(type,err,_1eb){var _1ec=this["on"+type+"Error"].call(this,err);if(_1eb){console.error(_1eb,err);}else{if(_1ec){dojo.html._setNodeContent(this.node,_1ec,true);}}}});dojo.html.set=function(node,cont,_1ed){if(undefined==cont){console.warn("dojo.html.set: no cont argument provided, using empty string");cont="";}if(!_1ed){return dojo.html._setNodeContent(node,cont,true);}else{var op=new dojo.html._ContentSetter(lang.mixin(_1ed,{content:cont,node:node}));return op.set();}};return dojo.html;});},"*now":function(r){r(["dojo/i18n!*preload*dijit/nls/_dijit_layout_basic*[\"ar\",\"ca\",\"cs\",\"da\",\"de\",\"el\",\"en\",\"es\",\"fi\",\"fr\",\"he\",\"hr\",\"hu\",\"it\",\"ja\",\"kk\",\"ko\",\"nl\",\"no\",\"pl\",\"pt\",\"pt-br\",\"ro\",\"ru\",\"sk\",\"sl\",\"sv\",\"th\",\"tr\",\"uk\",\"zh\",\"zh-tw\",\"ROOT\"]"]);},"*noref":1}});define("dijit/_dijit_layout_basic",[],1);require(["dijit/layout/ContentPane","dijit/layout/LinkPane","dijit/TitlePane","dijit/Dialog","dijit/TooltipDialog"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/uacss":function(){define("dojo/uacss",["./dom-geometry","./_base/lang","./ready","./_base/sniff","./_base/window"],function(_1,_2,_3,_4,_5){var _6=_5.doc.documentElement,ie=_4("ie"),_7=_4("opera"),_8=Math.floor,ff=_4("ff"),_9=_1.boxModel.replace(/-/,""),_a={"dj_quirks":_4("quirks"),"dj_opera":_7,"dj_khtml":_4("khtml"),"dj_webkit":_4("webkit"),"dj_safari":_4("safari"),"dj_chrome":_4("chrome"),"dj_gecko":_4("mozilla")};if(ie){_a["dj_ie"]=true;_a["dj_ie"+_8(ie)]=true;_a["dj_iequirks"]=_4("quirks");}if(ff){_a["dj_ff"+_8(ff)]=true;}_a["dj_"+_9]=true;var _b="";for(var _c in _a){if(_a[_c]){_b+=_c+" ";}}_6.className=_2.trim(_6.className+" "+_b);_3(90,function(){if(!_1.isBodyLtr()){var _d="dj_rtl dijitRtl "+_b.replace(/ /g,"-rtl ");_6.className=_2.trim(_6.className+" "+_d+"dj_rtl dijitRtl "+_b.replace(/ /g,"-rtl "));}});return _4;});},"dojo/text":function(){define("dojo/text",["./_base/kernel","require","./has","./_base/xhr"],function(_e,_f,has,xhr){var _10;if(1){_10=function(url,_11,_12){xhr("GET",{url:url,sync:!!_11,load:_12});};}else{if(_f.getText){_10=_f.getText;}else{console.error("dojo/text plugin failed to load because loader does not support getText");}}var _13={},_14=function(_15){if(_15){_15=_15.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,"");var _16=_15.match(/]*>\s*([\s\S]+)\s*<\/body>/im);if(_16){_15=_16[1];}}else{_15="";}return _15;},_17={},_18={},_19={dynamic:true,normalize:function(id,_1a){var _1b=id.split("!"),url=_1b[0];return (/^\./.test(url)?_1a(url):url)+(_1b[1]?"!"+_1b[1]:"");},load:function(id,_1c,_1d){var _1e=id.split("!"),_1f=_1e.length>1,_20=_1e[0],url=_1c.toUrl(_1e[0]),_21=_17,_22=function(_23){_1d(_1f?_14(_23):_23);};if(_20 in _13){_21=_13[_20];}else{if(url in _1c.cache){_21=_1c.cache[url];}else{if(url in _13){_21=_13[url];}}}if(_21===_17){if(_18[url]){_18[url].push(_22);}else{var _24=_18[url]=[_22];_10(url,!_1c.async,function(_25){_13[_20]=_13[url]=_25;for(var i=0;i<_24.length;){_24[i++](_25);}delete _18[url];});}}else{_22(_21);}}};_e.cache=function(_26,url,_27){var key;if(typeof _26=="string"){if(/\//.test(_26)){key=_26;_27=url;}else{key=_f.toUrl(_26.replace(/\./g,"/")+(url?("/"+url):""));}}else{key=_26+"";_27=url;}var val=(_27!=undefined&&typeof _27!="string")?_27.value:_27,_28=_27&&_27.sanitize;if(typeof val=="string"){_13[key]=val;return _28?_14(val):val;}else{if(val===null){delete _13[key];return null;}else{if(!(key in _13)){_10(key,true,function(_29){_13[key]=_29;});}return _28?_14(_13[key]):_13[key];}}};return _19;});},"url:dijit/templates/MenuBar.html":"\n","url:dijit/templates/CheckedMenuItem.html":"\n\t\n\t\t\n\t\t\n\t \n\t \n\t \n\t \n \n","dijit/MenuBarItem":function(){require({cache:{"url:dijit/templates/MenuBarItem.html":"\n\t \n
\n"}});define("dijit/MenuBarItem",["dojo/_base/declare","./MenuItem","dojo/text!./templates/MenuBarItem.html"],function(_2a,_2b,_2c){var _2d=_2a("dijit._MenuBarItemMixin",null,{templateString:_2c,_setIconClassAttr:null});var _2e=_2a("dijit.MenuBarItem",[_2b,_2d],{});_2e._MenuBarItemMixin=_2d;return _2e;});},"dijit/PopupMenuItem":function(){define("dijit/PopupMenuItem",["dojo/_base/declare","dojo/dom-style","dojo/query","dojo/_base/window","./registry","./MenuItem","./hccss"],function(_2f,_30,_31,win,_32,_33){return _2f("dijit.PopupMenuItem",_33,{_fillContent:function(){if(this.srcNodeRef){var _34=_31("*",this.srcNodeRef);this.inherited(arguments,[_34[0]]);this.dropDownContainer=this.srcNodeRef;}},startup:function(){if(this._started){return;}this.inherited(arguments);if(!this.popup){var _35=_31("[widgetId]",this.dropDownContainer)[0];this.popup=_32.byNode(_35);}win.body().appendChild(this.popup.domNode);this.popup.startup();this.popup.domNode.style.display="none";if(this.arrowWrapper){_30.set(this.arrowWrapper,"visibility","");}this.focusNode.setAttribute("aria-haspopup","true");},destroyDescendants:function(_36){if(this.popup){if(!this.popup._destroyed){this.popup.destroyRecursive(_36);}delete this.popup;}this.inherited(arguments);}});});},"dijit/PopupMenuBarItem":function(){define("dijit/PopupMenuBarItem",["dojo/_base/declare","./PopupMenuItem","./MenuBarItem"],function(_37,_38,_39){var _3a=_39._MenuBarItemMixin;return _37("dijit.PopupMenuBarItem",[_38,_3a],{});});},"url:dijit/templates/MenuSeparator.html":"","dojo/Stateful":function(){define("dojo/Stateful",["./_base/declare","./_base/lang","./_base/array"],function(_3b,_3c,_3d){return _3b("dojo.Stateful",null,{postscript:function(_3e){if(_3e){_3c.mixin(this,_3e);}},get:function(_3f){return this[_3f];},set:function(_40,_41){if(typeof _40==="object"){for(var x in _40){if(_40.hasOwnProperty(x)&&x!="_watchCallbacks"){this.set(x,_40[x]);}}return this;}var _42=this[_40];this[_40]=_41;if(this._watchCallbacks){this._watchCallbacks(_40,_42,_41);}return this;},watch:function(_43,_44){var _45=this._watchCallbacks;if(!_45){var _46=this;_45=this._watchCallbacks=function(_47,_48,_49,_4a){var _4b=function(_4c){if(_4c){_4c=_4c.slice();for(var i=0,l=_4c.length;i>=1)){break;}str+=str;}return buf.join("");};_55.string.pad=function(_57,_58,ch,end){if(!ch){ch="0";}var out=String(_57),pad=_55.string.rep(ch,Math.ceil((_58-out.length)/ch.length));return end?out+pad:pad+out;};_55.string.substitute=function(_59,map,_5a,_5b){_5b=_5b||_55.global;_5a=_5a?_56.hitch(_5b,_5a):function(v){return v;};return _59.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,function(_5c,key,_5d){var _5e=_56.getObject(key,false,map);if(_5d){_5e=_56.getObject(_5d,false,_5b).call(_5b,_5e,key);}return _5a(_5e,key).toString();});};_55.string.trim=String.prototype.trim?_56.trim:function(str){str=str.replace(/^\s+/,"");for(var i=str.length-1;i>=0;i--){if(/\S/.test(str.charAt(i))){str=str.substring(0,i+1);break;}}return str;};return _55.string;});},"dijit/_KeyNavContainer":function(){define("dijit/_KeyNavContainer",["dojo/_base/kernel","./_Container","./_FocusMixin","dojo/_base/array","dojo/keys","dojo/_base/declare","dojo/_base/event","dojo/dom-attr","dojo/_base/lang"],function(_5f,_60,_61,_62,_63,_64,_65,_66,_67){return _64("dijit._KeyNavContainer",[_61,_60],{tabIndex:"0",connectKeyNavHandlers:function(_68,_69){var _6a=(this._keyNavCodes={});var _6b=_67.hitch(this,"focusPrev");var _6c=_67.hitch(this,"focusNext");_62.forEach(_68,function(_6d){_6a[_6d]=_6b;});_62.forEach(_69,function(_6e){_6a[_6e]=_6c;});_6a[_63.HOME]=_67.hitch(this,"focusFirstChild");_6a[_63.END]=_67.hitch(this,"focusLastChild");this.connect(this.domNode,"onkeypress","_onContainerKeypress");this.connect(this.domNode,"onfocus","_onContainerFocus");},startupKeyNavChildren:function(){_5f.deprecated("startupKeyNavChildren() call no longer needed","","2.0");},startup:function(){this.inherited(arguments);_62.forEach(this.getChildren(),_67.hitch(this,"_startupChild"));},addChild:function(_6f,_70){this.inherited(arguments);this._startupChild(_6f);},focus:function(){this.focusFirstChild();},focusFirstChild:function(){this.focusChild(this._getFirstFocusableChild());},focusLastChild:function(){this.focusChild(this._getLastFocusableChild());},focusNext:function(){this.focusChild(this._getNextFocusableChild(this.focusedChild,1));},focusPrev:function(){this.focusChild(this._getNextFocusableChild(this.focusedChild,-1),true);},focusChild:function(_71,_72){if(!_71){return;}if(this.focusedChild&&_71!==this.focusedChild){this._onChildBlur(this.focusedChild);}_71.set("tabIndex",this.tabIndex);_71.focus(_72?"end":"start");this._set("focusedChild",_71);},_startupChild:function(_73){_73.set("tabIndex","-1");this.connect(_73,"_onFocus",function(){_73.set("tabIndex",this.tabIndex);});this.connect(_73,"_onBlur",function(){_73.set("tabIndex","-1");});},_onContainerFocus:function(evt){if(evt.target!==this.domNode||this.focusedChild){return;}this.focusFirstChild();_66.set(this.domNode,"tabIndex","-1");},_onBlur:function(evt){if(this.tabIndex){_66.set(this.domNode,"tabIndex",this.tabIndex);}this.focusedChild=null;this.inherited(arguments);},_onContainerKeypress:function(evt){if(evt.ctrlKey||evt.altKey){return;}var _74=this._keyNavCodes[evt.charOrCode];if(_74){_74();_65.stop(evt);}},_onChildBlur:function(){},_getFirstFocusableChild:function(){return this._getNextFocusableChild(null,1);},_getLastFocusableChild:function(){return this._getNextFocusableChild(null,-1);},_getNextFocusableChild:function(_75,dir){if(_75){_75=this._getSiblingOfChild(_75,dir);}var _76=this.getChildren();for(var i=0;i<_76.length;i++){if(!_75){_75=_76[(dir>0)?0:(_76.length-1)];}if(_75.isFocusable()){return _75;}_75=this._getSiblingOfChild(_75,dir);}return null;}});});},"dijit/CheckedMenuItem":function(){require({cache:{"url:dijit/templates/CheckedMenuItem.html":"\n\t\n\t\t\n\t\t\n\t \n\t \n\t \n\t \n \n"}});define("dijit/CheckedMenuItem",["dojo/_base/declare","dojo/dom-class","./MenuItem","dojo/text!./templates/CheckedMenuItem.html","./hccss"],function(_77,_78,_79,_7a){return _77("dijit.CheckedMenuItem",_79,{templateString:_7a,checked:false,_setCheckedAttr:function(_7b){_78.toggle(this.domNode,"dijitCheckedMenuItemChecked",_7b);this.domNode.setAttribute("aria-checked",_7b);this._set("checked",_7b);},iconClass:"",onChange:function(){},_onClick:function(e){if(!this.disabled){this.set("checked",!this.checked);this.onChange(this.checked);}this.inherited(arguments);}});});},"dijit/Menu":function(){define("dijit/Menu",["require","dojo/_base/array","dojo/_base/declare","dojo/_base/event","dojo/dom","dojo/dom-attr","dojo/dom-geometry","dojo/dom-style","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/on","dojo/_base/sniff","dojo/_base/window","dojo/window","./popup","./DropDownMenu","dojo/ready"],function(_7c,_7d,_7e,_7f,dom,_80,_81,_82,_83,_84,_85,on,has,win,_86,pm,_87,_88){if(!_83.isAsync){_88(0,function(){var _89=["dijit/MenuItem","dijit/PopupMenuItem","dijit/CheckedMenuItem","dijit/MenuSeparator"];_7c(_89);});}return _7e("dijit.Menu",_87,{constructor:function(){this._bindings=[];},targetNodeIds:[],contextMenuForWindow:false,leftClickToOpen:false,refocus:true,postCreate:function(){if(this.contextMenuForWindow){this.bindDomNode(win.body());}else{_7d.forEach(this.targetNodeIds,this.bindDomNode,this);}this.inherited(arguments);},_iframeContentWindow:function(_8a){return _86.get(this._iframeContentDocument(_8a))||this._iframeContentDocument(_8a)["__parent__"]||(_8a.name&&win.doc.frames[_8a.name])||null;},_iframeContentDocument:function(_8b){return _8b.contentDocument||(_8b.contentWindow&&_8b.contentWindow.document)||(_8b.name&&win.doc.frames[_8b.name]&&win.doc.frames[_8b.name].document)||null;},bindDomNode:function(_8c){_8c=dom.byId(_8c);var cn;if(_8c.tagName.toLowerCase()=="iframe"){var _8d=_8c,_8e=this._iframeContentWindow(_8d);cn=win.withGlobal(_8e,win.body);}else{cn=(_8c==win.body()?win.doc.documentElement:_8c);}var _8f={node:_8c,iframe:_8d};_80.set(_8c,"_dijitMenu"+this.id,this._bindings.push(_8f));var _90=_85.hitch(this,function(cn){return [on(cn,this.leftClickToOpen?"click":"contextmenu",_85.hitch(this,function(evt){_7f.stop(evt);this._scheduleOpen(evt.target,_8d,{x:evt.pageX,y:evt.pageY});})),on(cn,"keydown",_85.hitch(this,function(evt){if(evt.shiftKey&&evt.keyCode==_84.F10){_7f.stop(evt);this._scheduleOpen(evt.target,_8d);}}))];});_8f.connects=cn?_90(cn):[];if(_8d){_8f.onloadHandler=_85.hitch(this,function(){var _91=this._iframeContentWindow(_8d);cn=win.withGlobal(_91,win.body);_8f.connects=_90(cn);});if(_8d.addEventListener){_8d.addEventListener("load",_8f.onloadHandler,false);}else{_8d.attachEvent("onload",_8f.onloadHandler);}}},unBindDomNode:function(_92){var _93;try{_93=dom.byId(_92);}catch(e){return;}var _94="_dijitMenu"+this.id;if(_93&&_80.has(_93,_94)){var bid=_80.get(_93,_94)-1,b=this._bindings[bid],h;while(h=b.connects.pop()){h.remove();}var _95=b.iframe;if(_95){if(_95.removeEventListener){_95.removeEventListener("load",b.onloadHandler,false);}else{_95.detachEvent("onload",b.onloadHandler);}}_80.remove(_93,_94);delete this._bindings[bid];}},_scheduleOpen:function(_96,_97,_98){if(!this._openTimer){this._openTimer=setTimeout(_85.hitch(this,function(){delete this._openTimer;this._openMyself({target:_96,iframe:_97,coords:_98});}),1);}},_openMyself:function(_99){var _9a=_99.target,_9b=_99.iframe,_9c=_99.coords;if(_9c){if(_9b){var ifc=_81.position(_9b,true),_9d=this._iframeContentWindow(_9b),_9e=win.withGlobal(_9d,"_docScroll",dojo);var cs=_82.getComputedStyle(_9b),tp=_82.toPixelValue,_9f=(has("ie")&&has("quirks")?0:tp(_9b,cs.paddingLeft))+(has("ie")&&has("quirks")?tp(_9b,cs.borderLeftWidth):0),top=(has("ie")&&has("quirks")?0:tp(_9b,cs.paddingTop))+(has("ie")&&has("quirks")?tp(_9b,cs.borderTopWidth):0);_9c.x+=ifc.x+_9f-_9e.x;_9c.y+=ifc.y+top-_9e.y;}}else{_9c=_81.position(_9a,true);_9c.x+=10;_9c.y+=10;}var _a0=this;var _a1=this._focusManager.get("prevNode");var _a2=this._focusManager.get("curNode");var _a3=!_a2||(dom.isDescendant(_a2,this.domNode))?_a1:_a2;function _a4(){if(_a0.refocus&&_a3){_a3.focus();}pm.close(_a0);};pm.open({popup:this,x:_9c.x,y:_9c.y,onExecute:_a4,onCancel:_a4,orient:this.isLeftToRight()?"L":"R"});this.focus();this._onBlur=function(){this.inherited("_onBlur",arguments);pm.close(this);};},uninitialize:function(){_7d.forEach(this._bindings,function(b){if(b){this.unBindDomNode(b.node);}},this);this.inherited(arguments);}});});},"dijit/MenuSeparator":function(){require({cache:{"url:dijit/templates/MenuSeparator.html":""}});define("dijit/MenuSeparator",["dojo/_base/declare","dojo/dom","./_WidgetBase","./_TemplatedMixin","./_Contained","dojo/text!./templates/MenuSeparator.html"],function(_a5,dom,_a6,_a7,_a8,_a9){return _a5("dijit.MenuSeparator",[_a6,_a7,_a8],{templateString:_a9,buildRendering:function(){this.inherited(arguments);dom.setSelectable(this.domNode,false);},isFocusable:function(){return false;}});});},"dijit/DropDownMenu":function(){require({cache:{"url:dijit/templates/Menu.html":"\n"}});define("dijit/DropDownMenu",["dojo/_base/declare","dojo/_base/event","dojo/keys","dojo/text!./templates/Menu.html","./_OnDijitClickMixin","./_MenuBase"],function(_aa,_ab,_ac,_ad,_ae,_af){return _aa("dijit.DropDownMenu",[_af,_ae],{templateString:_ad,baseClass:"dijitMenu",postCreate:function(){var l=this.isLeftToRight();this._openSubMenuKey=l?_ac.RIGHT_ARROW:_ac.LEFT_ARROW;this._closeSubMenuKey=l?_ac.LEFT_ARROW:_ac.RIGHT_ARROW;this.connectKeyNavHandlers([_ac.UP_ARROW],[_ac.DOWN_ARROW]);},_onKeyPress:function(evt){if(evt.ctrlKey||evt.altKey){return;}switch(evt.charOrCode){case this._openSubMenuKey:this._moveToPopup(evt);_ab.stop(evt);break;case this._closeSubMenuKey:if(this.parentMenu){if(this.parentMenu._isMenuBar){this.parentMenu.focusPrev();}else{this.onCancel(false);}}else{_ab.stop(evt);}break;}}});});},"dojo/cache":function(){define("dojo/cache",["./_base/kernel","./text"],function(_b0,_b1){return _b0.cache;});},"url:dijit/templates/MenuItem.html":"\n\t\n\t\t \n\t \n\t \n\t \n\t\n\t\t\n\t\t\t
\n\t\t\t
+ \n\t\t
\n\t \n \n","dijit/MenuItem":function(){require({cache:{"url:dijit/templates/MenuItem.html":"\n\t\n\t\t \n\t \n\t \n\t \n\t\n\t\t\n\t\t\t
\n\t\t\t
+ \n\t\t
\n\t \n \n"}});define("dijit/MenuItem",["dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/_base/event","dojo/_base/kernel","dojo/_base/sniff","./_Widget","./_TemplatedMixin","./_Contained","./_CssStateMixin","dojo/text!./templates/MenuItem.html"],function(_b2,dom,_b3,_b4,_b5,_b6,has,_b7,_b8,_b9,_ba,_bb){return _b2("dijit.MenuItem",[_b7,_b8,_b9,_ba],{templateString:_bb,baseClass:"dijitMenuItem",label:"",_setLabelAttr:{node:"containerNode",type:"innerHTML"},iconClass:"dijitNoIcon",_setIconClassAttr:{node:"iconNode",type:"class"},accelKey:"",disabled:false,_fillContent:function(_bc){if(_bc&&!("label" in this.params)){this.set("label",_bc.innerHTML);}},buildRendering:function(){this.inherited(arguments);var _bd=this.id+"_text";_b3.set(this.containerNode,"id",_bd);if(this.accelKeyNode){_b3.set(this.accelKeyNode,"id",this.id+"_accel");_bd+=" "+this.id+"_accel";}this.domNode.setAttribute("aria-labelledby",_bd);dom.setSelectable(this.domNode,false);},_onHover:function(){this.getParent().onItemHover(this);},_onUnhover:function(){this.getParent().onItemUnhover(this);this._set("hovering",false);},_onClick:function(evt){this.getParent().onItemClick(this,evt);_b5.stop(evt);},onClick:function(){},focus:function(){try{if(has("ie")==8){this.containerNode.focus();}this.focusNode.focus();}catch(e){}},_onFocus:function(){this._setSelected(true);this.getParent()._onItemFocus(this);this.inherited(arguments);},_setSelected:function(_be){_b4.toggle(this.domNode,"dijitMenuItemSelected",_be);},setLabel:function(_bf){_b6.deprecated("dijit.MenuItem.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");this.set("label",_bf);},setDisabled:function(_c0){_b6.deprecated("dijit.Menu.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");this.set("disabled",_c0);},_setDisabledAttr:function(_c1){this.focusNode.setAttribute("aria-disabled",_c1?"true":"false");this._set("disabled",_c1);},_setAccelKeyAttr:function(_c2){this.accelKeyNode.style.display=_c2?"":"none";this.accelKeyNode.innerHTML=_c2;_b3.set(this.containerNode,"colSpan",_c2?"1":"2");this._set("accelKey",_c2);}});});},"url:dijit/templates/Menu.html":"\n","dijit/_MenuBase":function(){define("dijit/_MenuBase",["./popup","dojo/window","./_Widget","./_KeyNavContainer","./_TemplatedMixin","dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/_base/lang","dojo/_base/array"],function(pm,_c3,_c4,_c5,_c6,_c7,dom,_c8,_c9,_ca,_cb){return _c7("dijit._MenuBase",[_c4,_c6,_c5],{parentMenu:null,popupDelay:500,onExecute:function(){},onCancel:function(){},_moveToPopup:function(evt){if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled){this.focusedChild._onClick(evt);}else{var _cc=this._getTopMenu();if(_cc&&_cc._isMenuBar){_cc.focusNext();}}},_onPopupHover:function(){if(this.currentPopup&&this.currentPopup._pendingClose_timer){var _cd=this.currentPopup.parentMenu;if(_cd.focusedChild){_cd.focusedChild._setSelected(false);}_cd.focusedChild=this.currentPopup.from_item;_cd.focusedChild._setSelected(true);this._stopPendingCloseTimer(this.currentPopup);}},onItemHover:function(_ce){if(this.isActive){this.focusChild(_ce);if(this.focusedChild.popup&&!this.focusedChild.disabled&&!this.hover_timer){this.hover_timer=setTimeout(_ca.hitch(this,"_openPopup"),this.popupDelay);}}if(this.focusedChild){this.focusChild(_ce);}this._hoveredChild=_ce;},_onChildBlur:function(_cf){this._stopPopupTimer();_cf._setSelected(false);var _d0=_cf.popup;if(_d0){this._stopPendingCloseTimer(_d0);_d0._pendingClose_timer=setTimeout(function(){_d0._pendingClose_timer=null;if(_d0.parentMenu){_d0.parentMenu.currentPopup=null;}pm.close(_d0);},this.popupDelay);}},onItemUnhover:function(_d1){if(this.isActive){this._stopPopupTimer();}if(this._hoveredChild==_d1){this._hoveredChild=null;}},_stopPopupTimer:function(){if(this.hover_timer){clearTimeout(this.hover_timer);this.hover_timer=null;}},_stopPendingCloseTimer:function(_d2){if(_d2._pendingClose_timer){clearTimeout(_d2._pendingClose_timer);_d2._pendingClose_timer=null;}},_stopFocusTimer:function(){if(this._focus_timer){clearTimeout(this._focus_timer);this._focus_timer=null;}},_getTopMenu:function(){for(var top=this;top.parentMenu;top=top.parentMenu){}return top;},onItemClick:function(_d3,evt){if(typeof this.isShowingNow=="undefined"){this._markActive();}this.focusChild(_d3);if(_d3.disabled){return false;}if(_d3.popup){this._openPopup();}else{this.onExecute();_d3.onClick(evt);}},_openPopup:function(){this._stopPopupTimer();var _d4=this.focusedChild;if(!_d4){return;}var _d5=_d4.popup;if(_d5.isShowingNow){return;}if(this.currentPopup){this._stopPendingCloseTimer(this.currentPopup);pm.close(this.currentPopup);}_d5.parentMenu=this;_d5.from_item=_d4;var _d6=this;pm.open({parent:this,popup:_d5,around:_d4.domNode,orient:this._orient||["after","before"],onCancel:function(){_d6.focusChild(_d4);_d6._cleanUp();_d4._setSelected(true);_d6.focusedChild=_d4;},onExecute:_ca.hitch(this,"_cleanUp")});this.currentPopup=_d5;if(this.popupHoverHandle){this.disconnect(this.popupHoverHandle);}this.popupHoverHandle=this.connect(_d5.domNode,"onmouseenter","_onPopupHover");if(_d5.focus){_d5._focus_timer=setTimeout(_ca.hitch(_d5,function(){this._focus_timer=null;this.focus();}),0);}},_markActive:function(){this.isActive=true;_c9.replace(this.domNode,"dijitMenuActive","dijitMenuPassive");},onOpen:function(){this.isShowingNow=true;this._markActive();},_markInactive:function(){this.isActive=false;_c9.replace(this.domNode,"dijitMenuPassive","dijitMenuActive");},onClose:function(){this._stopFocusTimer();this._markInactive();this.isShowingNow=false;this.parentMenu=null;},_closeChild:function(){this._stopPopupTimer();if(this.currentPopup){if(_cb.indexOf(this._focusManager.activeStack,this.id)>=0){_c8.set(this.focusedChild.focusNode,"tabIndex",this.tabIndex);this.focusedChild.focusNode.focus();}pm.close(this.currentPopup);this.currentPopup=null;}if(this.focusedChild){this.focusedChild._setSelected(false);this.focusedChild._onUnhover();this.focusedChild=null;}},_onItemFocus:function(_d7){if(this._hoveredChild&&this._hoveredChild!=_d7){this._hoveredChild._onUnhover();}},_onBlur:function(){this._cleanUp();this.inherited(arguments);},_cleanUp:function(){this._closeChild();if(typeof this.isShowingNow=="undefined"){this._markInactive();}}});});},"dojo/window":function(){define("dojo/window",["./_base/lang","./_base/sniff","./_base/window","./dom","./dom-geometry","./dom-style","./dom-construct"],function(_d8,has,_d9,dom,_da,_db,_dc){has.add("rtl-adjust-position-for-verticalScrollBar",function(win,doc){var _dd=_d9.body(doc),_de=_dc.create("div",{style:{overflow:"scroll",overflowX:"visible",direction:"rtl",visibility:"hidden",position:"absolute",left:"0",top:"0",width:"64px",height:"64px"}},_dd,"last"),div=_dc.create("div",{style:{overflow:"hidden",direction:"ltr"}},_de,"last"),ret=_da.position(div).x!=0;_de.removeChild(div);_dd.removeChild(_de);return ret;});has.add("position-fixed-support",function(win,doc){var _df=_d9.body(doc),_e0=_dc.create("span",{style:{visibility:"hidden",position:"fixed",left:"1px",top:"1px"}},_df,"last"),_e1=_dc.create("span",{style:{position:"fixed",left:"0",top:"0"}},_e0,"last"),ret=_da.position(_e1).x!=_da.position(_e0).x;_e0.removeChild(_e1);_df.removeChild(_e0);return ret;});var _e2=_d8.getObject("dojo.window",true);_e2.getBox=function(){var _e3=(_d9.doc.compatMode=="BackCompat")?_d9.body():_d9.doc.documentElement,_e4=_da.docScroll(),w,h;if(has("touch")){var _e5=_d9.doc.parentWindow||_d9.doc.defaultView;w=_e5.innerWidth||_e3.clientWidth;h=_e5.innerHeight||_e3.clientHeight;}else{w=_e3.clientWidth;h=_e3.clientHeight;}return {l:_e4.x,t:_e4.y,w:w,h:h};};_e2.get=function(doc){if(has("ie")<9&&_e2!==document.parentWindow){doc.parentWindow.execScript("document._parentWindow = window;","Javascript");var win=doc._parentWindow;doc._parentWindow=null;return win;}return doc.parentWindow||doc.defaultView;};_e2.scrollIntoView=function(_e6,pos){try{_e6=dom.byId(_e6);var doc=_e6.ownerDocument||_d9.doc,_e7=_d9.body(doc),_e8=doc.documentElement||_e7.parentNode,_e9=has("ie"),_ea=has("webkit");if(_e6==_e7||_e6==_e8){return;}if(!(has("mozilla")||_e9||_ea||has("opera"))&&("scrollIntoView" in _e6)){_e6.scrollIntoView(false);return;}var _eb=doc.compatMode=="BackCompat",_ec=Math.min(_e7.clientWidth||_e8.clientWidth,_e8.clientWidth||_e7.clientWidth),_ed=Math.min(_e7.clientHeight||_e8.clientHeight,_e8.clientHeight||_e7.clientHeight),_ee=(_ea||_eb)?_e7:_e8,_ef=pos||_da.position(_e6),el=_e6.parentNode,_f0=function(el){return (_e9<=6||(_e9==7&&_eb))?false:(has("position-fixed-support")&&(_db.get(el,"position").toLowerCase()=="fixed"));};if(_f0(_e6)){return;}while(el){if(el==_e7){el=_ee;}var _f1=_da.position(el),_f2=_f0(el),rtl=_db.getComputedStyle(el).direction.toLowerCase()=="rtl";if(el==_ee){_f1.w=_ec;_f1.h=_ed;if(_ee==_e8&&_e9&&rtl){_f1.x+=_ee.offsetWidth-_f1.w;}if(_f1.x<0||!_e9||_e9>=9){_f1.x=0;}if(_f1.y<0||!_e9||_e9>=9){_f1.y=0;}}else{var pb=_da.getPadBorderExtents(el);_f1.w-=pb.w;_f1.h-=pb.h;_f1.x+=pb.l;_f1.y+=pb.t;var _f3=el.clientWidth,_f4=_f1.w-_f3;if(_f3>0&&_f4>0){if(rtl&&has("rtl-adjust-position-for-verticalScrollBar")){_f1.x+=_f4;}_f1.w=_f3;}_f3=el.clientHeight;_f4=_f1.h-_f3;if(_f3>0&&_f4>0){_f1.h=_f3;}}if(_f2){if(_f1.y<0){_f1.h+=_f1.y;_f1.y=0;}if(_f1.x<0){_f1.w+=_f1.x;_f1.x=0;}if(_f1.y+_f1.h>_ed){_f1.h=_ed-_f1.y;}if(_f1.x+_f1.w>_ec){_f1.w=_ec-_f1.x;}}var l=_ef.x-_f1.x,t=_ef.y-_f1.y,r=l+_ef.w-_f1.w,bot=t+_ef.h-_f1.h;var s,old;if(r*l>0&&(!!el.scrollLeft||el==_ee||el.scrollWidth>el.offsetHeight)){s=Math[l<0?"max":"min"](l,r);if(rtl&&((_e9==8&&!_eb)||_e9>=9)){s=-s;}old=el.scrollLeft;el.scrollLeft+=s;s=el.scrollLeft-old;_ef.x-=s;}if(bot*t>0&&(!!el.scrollTop||el==_ee||el.scrollHeight>el.offsetHeight)){s=Math.ceil(Math[t<0?"max":"min"](t,bot));old=el.scrollTop;el.scrollTop+=s;s=el.scrollTop-old;_ef.y-=s;}el=(el!=_ee)&&!_f2&&el.parentNode;}}catch(error){console.error("scrollIntoView: "+error);_e6.scrollIntoView(false);}};return _e2;});},"url:dijit/templates/MenuBarItem.html":"\n\t \n
\n","dijit/MenuBar":function(){require({cache:{"url:dijit/templates/MenuBar.html":"\n"}});define("dijit/MenuBar",["dojo/_base/declare","dojo/_base/event","dojo/keys","./_MenuBase","dojo/text!./templates/MenuBar.html"],function(_f5,_f6,_f7,_f8,_f9){return _f5("dijit.MenuBar",_f8,{templateString:_f9,baseClass:"dijitMenuBar",_isMenuBar:true,postCreate:function(){var l=this.isLeftToRight();this.connectKeyNavHandlers(l?[_f7.LEFT_ARROW]:[_f7.RIGHT_ARROW],l?[_f7.RIGHT_ARROW]:[_f7.LEFT_ARROW]);this._orient=["below"];},focusChild:function(_fa){var _fb=this.focusedChild,_fc=_fb&&_fb.popup&&_fb.popup.isShowingNow;this.inherited(arguments);if(_fc&&_fa.popup&&!_fa.disabled){this._openPopup();}},_onKeyPress:function(evt){if(evt.ctrlKey||evt.altKey){return;}switch(evt.charOrCode){case _f7.DOWN_ARROW:this._moveToPopup(evt);_f6.stop(evt);}},onItemClick:function(_fd,evt){if(_fd.popup&&_fd.popup.isShowingNow){_fd.popup.onCancel();}else{this.inherited(arguments);}}});});},"*noref":1}});define("dijit/_dijit_menu",[],1);require(["dijit/Menu","dijit/MenuBar","dijit/MenuBarItem","dijit/MenuItem","dijit/MenuSeparator","dijit/CheckedMenuItem","dijit/PopupMenuItem","dijit/PopupMenuBarItem"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojo/data/util/simpleFetch":function(){define("dojo/data/util/simpleFetch",["dojo/_base/lang","dojo/_base/window","./sorter"],function(_1,_2,_3){var _4=_1.getObject("dojo.data.util.simpleFetch",true);_4.fetch=function(_5){_5=_5||{};if(!_5.store){_5.store=this;}var _6=this;var _7=function(_8,_9){if(_9.onError){var _a=_9.scope||_2.global;_9.onError.call(_a,_8,_9);}};var _b=function(_c,_d){var _e=_d.abort||null;var _f=false;var _10=_d.start?_d.start:0;var _11=(_d.count&&(_d.count!==Infinity))?(_10+_d.count):_c.length;_d.abort=function(){_f=true;if(_e){_e.call(_d);}};var _12=_d.scope||_2.global;if(!_d.store){_d.store=_6;}if(_d.onBegin){_d.onBegin.call(_12,_c.length,_d);}if(_d.sort){_c.sort(_3.createSortFunction(_d.sort,_6));}if(_d.onItem){for(var i=_10;(i<_c.length)&&(i<_11);++i){var _13=_c[i];if(!_f){_d.onItem.call(_12,_13,_d);}}}if(_d.onComplete&&!_f){var _14=null;if(!_d.onItem){_14=_c.slice(_10,_11);}_d.onComplete.call(_12,_14,_d);}};this._fetchItems(_5,_b,_7);return _5;};return _4;});},"dojo/data/ItemFileWriteStore":function(){define("dojo/data/ItemFileWriteStore",["../_base/lang","../_base/declare","../_base/array","../_base/json","../_base/window","./ItemFileReadStore","../date/stamp"],function(_15,_16,_17,_18,_19,_1a,_1b){return _16("dojo.data.ItemFileWriteStore",_1a,{constructor:function(_1c){this._features["dojo.data.api.Write"]=true;this._features["dojo.data.api.Notification"]=true;this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};if(!this._datatypeMap["Date"].serialize){this._datatypeMap["Date"].serialize=function(obj){return _1b.toISOString(obj,{zulu:true});};}if(_1c&&(_1c.referenceIntegrity===false)){this.referenceIntegrity=false;}this._saveInProgress=false;},referenceIntegrity:true,_assert:function(_1d){if(!_1d){throw new Error("assertion failed in ItemFileWriteStore");}},_getIdentifierAttribute:function(){return this.getFeatures()["dojo.data.api.Identity"];},newItem:function(_1e,_1f){this._assert(!this._saveInProgress);if(!this._loadFinished){this._forceLoad();}if(typeof _1e!="object"&&typeof _1e!="undefined"){throw new Error("newItem() was passed something other than an object");}var _20=null;var _21=this._getIdentifierAttribute();if(_21===Number){_20=this._arrayOfAllItems.length;}else{_20=_1e[_21];if(typeof _20==="undefined"){throw new Error("newItem() was not passed an identity for the new item");}if(_15.isArray(_20)){throw new Error("newItem() was not passed an single-valued identity");}}if(this._itemsByIdentity){this._assert(typeof this._itemsByIdentity[_20]==="undefined");}this._assert(typeof this._pending._newItems[_20]==="undefined");this._assert(typeof this._pending._deletedItems[_20]==="undefined");var _22={};_22[this._storeRefPropName]=this;_22[this._itemNumPropName]=this._arrayOfAllItems.length;if(this._itemsByIdentity){this._itemsByIdentity[_20]=_22;_22[_21]=[_20];}this._arrayOfAllItems.push(_22);var _23=null;if(_1f&&_1f.parent&&_1f.attribute){_23={item:_1f.parent,attribute:_1f.attribute,oldValue:undefined};var _24=this.getValues(_1f.parent,_1f.attribute);if(_24&&_24.length>0){var _25=_24.slice(0,_24.length);if(_24.length===1){_23.oldValue=_24[0];}else{_23.oldValue=_24.slice(0,_24.length);}_25.push(_22);this._setValueOrValues(_1f.parent,_1f.attribute,_25,false);_23.newValue=this.getValues(_1f.parent,_1f.attribute);}else{this._setValueOrValues(_1f.parent,_1f.attribute,_22,false);_23.newValue=_22;}}else{_22[this._rootItemPropName]=true;this._arrayOfTopLevelItems.push(_22);}this._pending._newItems[_20]=_22;for(var key in _1e){if(key===this._storeRefPropName||key===this._itemNumPropName){throw new Error("encountered bug in ItemFileWriteStore.newItem");}var _26=_1e[key];if(!_15.isArray(_26)){_26=[_26];}_22[key]=_26;if(this.referenceIntegrity){for(var i=0;i<_26.length;i++){var val=_26[i];if(this.isItem(val)){this._addReferenceToMap(val,_22,key);}}}}this.onNew(_22,_23);return _22;},_removeArrayElement:function(_27,_28){var _29=_17.indexOf(_27,_28);if(_29!=-1){_27.splice(_29,1);return true;}return false;},deleteItem:function(_2a){this._assert(!this._saveInProgress);this._assertIsItem(_2a);var _2b=_2a[this._itemNumPropName];var _2c=this.getIdentity(_2a);if(this.referenceIntegrity){var _2d=this.getAttributes(_2a);if(_2a[this._reverseRefMap]){_2a["backup_"+this._reverseRefMap]=_15.clone(_2a[this._reverseRefMap]);}_17.forEach(_2d,function(_2e){_17.forEach(this.getValues(_2a,_2e),function(_2f){if(this.isItem(_2f)){if(!_2a["backupRefs_"+this._reverseRefMap]){_2a["backupRefs_"+this._reverseRefMap]=[];}_2a["backupRefs_"+this._reverseRefMap].push({id:this.getIdentity(_2f),attr:_2e});this._removeReferenceFromMap(_2f,_2a,_2e);}},this);},this);var _30=_2a[this._reverseRefMap];if(_30){for(var _31 in _30){var _32=null;if(this._itemsByIdentity){_32=this._itemsByIdentity[_31];}else{_32=this._arrayOfAllItems[_31];}if(_32){for(var _33 in _30[_31]){var _34=this.getValues(_32,_33)||[];var _35=_17.filter(_34,function(_36){return !(this.isItem(_36)&&this.getIdentity(_36)==_2c);},this);this._removeReferenceFromMap(_2a,_32,_33);if(_35.length<_34.length){this._setValueOrValues(_32,_33,_35,true);}}}}}}this._arrayOfAllItems[_2b]=null;_2a[this._storeRefPropName]=null;if(this._itemsByIdentity){delete this._itemsByIdentity[_2c];}this._pending._deletedItems[_2c]=_2a;if(_2a[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,_2a);}this.onDelete(_2a);return true;},setValue:function(_37,_38,_39){return this._setValueOrValues(_37,_38,_39,true);},setValues:function(_3a,_3b,_3c){return this._setValueOrValues(_3a,_3b,_3c,true);},unsetAttribute:function(_3d,_3e){return this._setValueOrValues(_3d,_3e,[],true);},_setValueOrValues:function(_3f,_40,_41,_42){this._assert(!this._saveInProgress);this._assertIsItem(_3f);this._assert(_15.isString(_40));this._assert(typeof _41!=="undefined");var _43=this._getIdentifierAttribute();if(_40==_43){throw new Error("ItemFileWriteStore does not have support for changing the value of an item's identifier.");}var _44=this._getValueOrValues(_3f,_40);var _45=this.getIdentity(_3f);if(!this._pending._modifiedItems[_45]){var _46={};for(var key in _3f){if((key===this._storeRefPropName)||(key===this._itemNumPropName)||(key===this._rootItemPropName)){_46[key]=_3f[key];}else{if(key===this._reverseRefMap){_46[key]=_15.clone(_3f[key]);}else{_46[key]=_3f[key].slice(0,_3f[key].length);}}}this._pending._modifiedItems[_45]=_46;}var _47=false;if(_15.isArray(_41)&&_41.length===0){_47=delete _3f[_40];_41=undefined;if(this.referenceIntegrity&&_44){var _48=_44;if(!_15.isArray(_48)){_48=[_48];}for(var i=0;i<_48.length;i++){var _49=_48[i];if(this.isItem(_49)){this._removeReferenceFromMap(_49,_3f,_40);}}}}else{var _4a;if(_15.isArray(_41)){_4a=_41.slice(0,_41.length);}else{_4a=[_41];}if(this.referenceIntegrity){if(_44){var _48=_44;if(!_15.isArray(_48)){_48=[_48];}var map={};_17.forEach(_48,function(_4b){if(this.isItem(_4b)){var id=this.getIdentity(_4b);map[id.toString()]=true;}},this);_17.forEach(_4a,function(_4c){if(this.isItem(_4c)){var id=this.getIdentity(_4c);if(map[id.toString()]){delete map[id.toString()];}else{this._addReferenceToMap(_4c,_3f,_40);}}},this);for(var rId in map){var _4d;if(this._itemsByIdentity){_4d=this._itemsByIdentity[rId];}else{_4d=this._arrayOfAllItems[rId];}this._removeReferenceFromMap(_4d,_3f,_40);}}else{for(var i=0;i<_4a.length;i++){var _49=_4a[i];if(this.isItem(_49)){this._addReferenceToMap(_49,_3f,_40);}}}}_3f[_40]=_4a;_47=true;}if(_42){this.onSet(_3f,_40,_44,_41);}return _47;},_addReferenceToMap:function(_4e,_4f,_50){var _51=this.getIdentity(_4f);var _52=_4e[this._reverseRefMap];if(!_52){_52=_4e[this._reverseRefMap]={};}var _53=_52[_51];if(!_53){_53=_52[_51]={};}_53[_50]=true;},_removeReferenceFromMap:function(_54,_55,_56){var _57=this.getIdentity(_55);var _58=_54[this._reverseRefMap];var _59;if(_58){for(_59 in _58){if(_59==_57){delete _58[_59][_56];if(this._isEmpty(_58[_59])){delete _58[_59];}}}if(this._isEmpty(_58)){delete _54[this._reverseRefMap];}}},_dumpReferenceMap:function(){var i;for(i=0;i0){_6a=false;}}}return _6a;},save:function(_6b){this._assert(!this._saveInProgress);this._saveInProgress=true;var _6c=this;var _6d=function(){_6c._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};_6c._saveInProgress=false;if(_6b&&_6b.onComplete){var _6e=_6b.scope||_19.global;_6b.onComplete.call(_6e);}};var _6f=function(err){_6c._saveInProgress=false;if(_6b&&_6b.onError){var _70=_6b.scope||_19.global;_6b.onError.call(_70,err);}};if(this._saveEverything){var _71=this._getNewFileContentString();this._saveEverything(_6d,_6f,_71);}if(this._saveCustom){this._saveCustom(_6d,_6f);}if(!this._saveEverything&&!this._saveCustom){_6d();}},revert:function(){this._assert(!this._saveInProgress);var _72;for(_72 in this._pending._modifiedItems){var _73=this._pending._modifiedItems[_72];var _74=null;if(this._itemsByIdentity){_74=this._itemsByIdentity[_72];}else{_74=this._arrayOfAllItems[_72];}_73[this._storeRefPropName]=this;for(var key in _74){delete _74[key];}_15.mixin(_74,_73);}var _75;for(_72 in this._pending._deletedItems){_75=this._pending._deletedItems[_72];_75[this._storeRefPropName]=this;var _76=_75[this._itemNumPropName];if(_75["backup_"+this._reverseRefMap]){_75[this._reverseRefMap]=_75["backup_"+this._reverseRefMap];delete _75["backup_"+this._reverseRefMap];}this._arrayOfAllItems[_76]=_75;if(this._itemsByIdentity){this._itemsByIdentity[_72]=_75;}if(_75[this._rootItemPropName]){this._arrayOfTopLevelItems.push(_75);}}for(_72 in this._pending._deletedItems){_75=this._pending._deletedItems[_72];if(_75["backupRefs_"+this._reverseRefMap]){_17.forEach(_75["backupRefs_"+this._reverseRefMap],function(_77){var _78;if(this._itemsByIdentity){_78=this._itemsByIdentity[_77.id];}else{_78=this._arrayOfAllItems[_77.id];}this._addReferenceToMap(_78,_75,_77.attr);},this);delete _75["backupRefs_"+this._reverseRefMap];}}for(_72 in this._pending._newItems){var _79=this._pending._newItems[_72];_79[this._storeRefPropName]=null;this._arrayOfAllItems[_79[this._itemNumPropName]]=null;if(_79[this._rootItemPropName]){this._removeArrayElement(this._arrayOfTopLevelItems,_79);}if(this._itemsByIdentity){delete this._itemsByIdentity[_72];}}this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};return true;},isDirty:function(_7a){if(_7a){var _7b=this.getIdentity(_7a);return new Boolean(this._pending._newItems[_7b]||this._pending._modifiedItems[_7b]||this._pending._deletedItems[_7b]).valueOf();}else{return !this._isEmpty(this._pending._newItems)||!this._isEmpty(this._pending._modifiedItems)||!this._isEmpty(this._pending._deletedItems);}},onSet:function(_7c,_7d,_7e,_7f){},onNew:function(_80,_81){},onDelete:function(_82){},close:function(_83){if(this.clearOnClose){if(!this.isDirty()){this.inherited(arguments);}else{throw new Error("dojo.data.ItemFileWriteStore: There are unsaved changes present in the store. Please save or revert the changes before invoking close.");}}}});});},"dojo/data/util/sorter":function(){define("dojo/data/util/sorter",["dojo/_base/lang"],function(_84){var _85=_84.getObject("dojo.data.util.sorter",true);_85.basicComparator=function(a,b){var r=-1;if(a===null){a=undefined;}if(b===null){b=undefined;}if(a==b){r=0;}else{if(a>b||a==null){r=1;}}return r;};_85.createSortFunction=function(_86,_87){var _88=[];function _89(_8a,dir,_8b,s){return function(_8c,_8d){var a=s.getValue(_8c,_8a);var b=s.getValue(_8d,_8a);return dir*_8b(a,b);};};var _8e;var map=_87.comparatorMap;var bc=_85.basicComparator;for(var i=0;i<_86.length;i++){_8e=_86[i];var _8f=_8e.attribute;if(_8f){var dir=(_8e.descending)?-1:1;var _90=bc;if(map){if(typeof _8f!=="string"&&("toString" in _8f)){_8f=_8f.toString();}_90=map[_8f]||bc;}_88.push(_89(_8f,dir,_90,_87));}}return function(_91,_92){var i=0;while(i<_88.length){var ret=_88[i++](_91,_92);if(ret!==0){return ret;}}return 0;};};return _85;});},"dojo/data/util/filter":function(){define("dojo/data/util/filter",["dojo/_base/lang"],function(_93){var _94=_93.getObject("dojo.data.util.filter",true);_94.patternToRegExp=function(_95,_96){var rxp="^";var c=null;for(var i=0;i<_95.length;i++){c=_95.charAt(i);switch(c){case "\\":rxp+=c;i++;rxp+=_95.charAt(i);break;case "*":rxp+=".*";break;case "?":rxp+=".";break;case "$":case "^":case "/":case "+":case ".":case "|":case "(":case ")":case "{":case "}":case "[":case "]":rxp+="\\";default:rxp+=c;}}rxp+="$";if(_96){return new RegExp(rxp,"mi");}else{return new RegExp(rxp,"m");}};return _94;});},"dojo/data/ItemFileReadStore":function(){define("dojo/data/ItemFileReadStore",["../_base/kernel","../_base/lang","../_base/declare","../_base/array","../_base/xhr","../Evented","../_base/window","./util/filter","./util/simpleFetch","../date/stamp"],function(_97,_98,_99,_9a,xhr,_9b,_9c,_9d,_9e,_9f){var _a0=_99("dojo.data.ItemFileReadStore",[_9b],{constructor:function(_a1){this._arrayOfAllItems=[];this._arrayOfTopLevelItems=[];this._loadFinished=false;this._jsonFileUrl=_a1.url;this._ccUrl=_a1.url;this.url=_a1.url;this._jsonData=_a1.data;this.data=null;this._datatypeMap=_a1.typeMap||{};if(!this._datatypeMap["Date"]){this._datatypeMap["Date"]={type:Date,deserialize:function(_a2){return _9f.fromISOString(_a2);}};}this._features={"dojo.data.api.Read":true,"dojo.data.api.Identity":true};this._itemsByIdentity=null;this._storeRefPropName="_S";this._itemNumPropName="_0";this._rootItemPropName="_RI";this._reverseRefMap="_RRM";this._loadInProgress=false;this._queuedFetches=[];if(_a1.urlPreventCache!==undefined){this.urlPreventCache=_a1.urlPreventCache?true:false;}if(_a1.hierarchical!==undefined){this.hierarchical=_a1.hierarchical?true:false;}if(_a1.clearOnClose){this.clearOnClose=true;}if("failOk" in _a1){this.failOk=_a1.failOk?true:false;}},url:"",_ccUrl:"",data:null,typeMap:null,clearOnClose:false,urlPreventCache:false,failOk:false,hierarchical:true,_assertIsItem:function(_a3){if(!this.isItem(_a3)){throw new Error("dojo.data.ItemFileReadStore: Invalid item argument.");}},_assertIsAttribute:function(_a4){if(typeof _a4!=="string"){throw new Error("dojo.data.ItemFileReadStore: Invalid attribute argument.");}},getValue:function(_a5,_a6,_a7){var _a8=this.getValues(_a5,_a6);return (_a8.length>0)?_a8[0]:_a7;},getValues:function(_a9,_aa){this._assertIsItem(_a9);this._assertIsAttribute(_aa);return (_a9[_aa]||[]).slice(0);},getAttributes:function(_ab){this._assertIsItem(_ab);var _ac=[];for(var key in _ab){if((key!==this._storeRefPropName)&&(key!==this._itemNumPropName)&&(key!==this._rootItemPropName)&&(key!==this._reverseRefMap)){_ac.push(key);}}return _ac;},hasAttribute:function(_ad,_ae){this._assertIsItem(_ad);this._assertIsAttribute(_ae);return (_ae in _ad);},containsValue:function(_af,_b0,_b1){var _b2=undefined;if(typeof _b1==="string"){_b2=_9d.patternToRegExp(_b1,false);}return this._containsValue(_af,_b0,_b1,_b2);},_containsValue:function(_b3,_b4,_b5,_b6){return _9a.some(this.getValues(_b3,_b4),function(_b7){if(_b7!==null&&!_98.isObject(_b7)&&_b6){if(_b7.toString().match(_b6)){return true;}}else{if(_b5===_b7){return true;}}});},isItem:function(_b8){if(_b8&&_b8[this._storeRefPropName]===this){if(this._arrayOfAllItems[_b8[this._itemNumPropName]]===_b8){return true;}}return false;},isItemLoaded:function(_b9){return this.isItem(_b9);},loadItem:function(_ba){this._assertIsItem(_ba.item);},getFeatures:function(){return this._features;},getLabel:function(_bb){if(this._labelAttr&&this.isItem(_bb)){return this.getValue(_bb,this._labelAttr);}return undefined;},getLabelAttributes:function(_bc){if(this._labelAttr){return [this._labelAttr];}return null;},_fetchItems:function(_bd,_be,_bf){var _c0=this,_c1=function(_c2,_c3){var _c4=[],i,key;if(_c2.query){var _c5,_c6=_c2.queryOptions?_c2.queryOptions.ignoreCase:false;var _c7={};for(key in _c2.query){_c5=_c2.query[key];if(typeof _c5==="string"){_c7[key]=_9d.patternToRegExp(_c5,_c6);}else{if(_c5 instanceof RegExp){_c7[key]=_c5;}}}for(i=0;i<_c3.length;++i){var _c8=true;var _c9=_c3[i];if(_c9===null){_c8=false;}else{for(key in _c2.query){_c5=_c2.query[key];if(!_c0._containsValue(_c9,key,_c5,_c7[key])){_c8=false;}}}if(_c8){_c4.push(_c9);}}_be(_c4,_c2);}else{for(i=0;i<_c3.length;++i){var _ca=_c3[i];if(_ca!==null){_c4.push(_ca);}}_be(_c4,_c2);}};if(this._loadFinished){_c1(_bd,this._getItemsArray(_bd.queryOptions));}else{if(this._jsonFileUrl!==this._ccUrl){_97.deprecated("dojo.data.ItemFileReadStore: ","To change the url, set the url property of the store,"+" not _jsonFileUrl. _jsonFileUrl support will be removed in 2.0");this._ccUrl=this._jsonFileUrl;this.url=this._jsonFileUrl;}else{if(this.url!==this._ccUrl){this._jsonFileUrl=this.url;this._ccUrl=this.url;}}if(this.data!=null){this._jsonData=this.data;this.data=null;}if(this._jsonFileUrl){if(this._loadInProgress){this._queuedFetches.push({args:_bd,filter:_c1});}else{this._loadInProgress=true;var _cb={url:_c0._jsonFileUrl,handleAs:"json-comment-optional",preventCache:this.urlPreventCache,failOk:this.failOk};var _cc=xhr.get(_cb);_cc.addCallback(function(_cd){try{_c0._getItemsFromLoadedData(_cd);_c0._loadFinished=true;_c0._loadInProgress=false;_c1(_bd,_c0._getItemsArray(_bd.queryOptions));_c0._handleQueuedFetches();}catch(e){_c0._loadFinished=true;_c0._loadInProgress=false;_bf(e,_bd);}});_cc.addErrback(function(_ce){_c0._loadInProgress=false;_bf(_ce,_bd);});var _cf=null;if(_bd.abort){_cf=_bd.abort;}_bd.abort=function(){var df=_cc;if(df&&df.fired===-1){df.cancel();df=null;}if(_cf){_cf.call(_bd);}};}}else{if(this._jsonData){try{this._loadFinished=true;this._getItemsFromLoadedData(this._jsonData);this._jsonData=null;_c1(_bd,this._getItemsArray(_bd.queryOptions));}catch(e){_bf(e,_bd);}}else{_bf(new Error("dojo.data.ItemFileReadStore: No JSON source data was provided as either URL or a nested Javascript object."),_bd);}}}},_handleQueuedFetches:function(){if(this._queuedFetches.length>0){for(var i=0;i0?"-":"+")+_10f(Math.floor(_114/60))+":"+_10f(_114%60);}}_110.push(time);}return _110.join("T");};return dojo.date.stamp;});},"*noref":1}});define("dojo/_data",[],1);require(["dojo/data/ItemFileReadStore","dojo/data/ItemFileWriteStore","dojo/data/util/simpleFetch","dojo/data/util/sorter","dojo/data/util/filter"]);define('dijit/nls/_dijit_form_en',{
'dijit/form/nls/validate':{"rangeMessage":"This value is out of range.","invalidMessage":"The value entered is not valid.","missingMessage":"This value is required."}
,
'dijit/form/nls/ComboBox':{"previousMessage":"Previous choices","nextMessage":"More choices"}
,
'dijit/nls/common':{"buttonOk":"OK","buttonCancel":"Cancel","buttonSave":"Save","itemClose":"Close"}
});/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dijit/form/TextBox":function(){require({cache:{"url:dijit/form/templates/TextBox.html":"\n"}});define("dijit/form/TextBox",["dojo/_base/declare","dojo/dom-construct","dojo/dom-style","dojo/_base/kernel","dojo/_base/lang","dojo/_base/sniff","dojo/_base/window","./_FormValueWidget","./_TextBoxMixin","dojo/text!./templates/TextBox.html",".."],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b){var _c=_1([_8,_9],{templateString:_a,_singleNodeTemplate:" ",_buttonInputDisabled:_6("ie")?"disabled":"",baseClass:"dijitTextBox",postMixInProperties:function(){var _d=this.type.toLowerCase();if(this.templateString&&this.templateString.toLowerCase()=="input"||((_d=="hidden"||_d=="file")&&this.templateString==this.constructor.prototype.templateString)){this.templateString=this._singleNodeTemplate;}this.inherited(arguments);},_onInput:function(e){this.inherited(arguments);if(this.intermediateChanges){var _e=this;setTimeout(function(){_e._handleOnChange(_e.get("value"),false);},0);}},_setPlaceHolderAttr:function(v){this._set("placeHolder",v);if(!this._phspan){this._attachPoints.push("_phspan");this._phspan=_2.create("span",{onmousedown:function(e){e.preventDefault();},className:"dijitPlaceHolder dijitInputField"},this.textbox,"after");}this._phspan.innerHTML="";this._phspan.appendChild(document.createTextNode(v));this._updatePlaceHolder();},_updatePlaceHolder:function(){if(this._phspan){this._phspan.style.display=(this.placeHolder&&!this.focused&&!this.textbox.value)?"":"none";}},_setValueAttr:function(_f,_10,_11){this.inherited(arguments);this._updatePlaceHolder();},getDisplayedValue:function(){_4.deprecated(this.declaredClass+"::getDisplayedValue() is deprecated. Use set('displayedValue') instead.","","2.0");return this.get("displayedValue");},setDisplayedValue:function(_12){_4.deprecated(this.declaredClass+"::setDisplayedValue() is deprecated. Use set('displayedValue', ...) instead.","","2.0");this.set("displayedValue",_12);},_onBlur:function(e){if(this.disabled){return;}this.inherited(arguments);this._updatePlaceHolder();},_onFocus:function(by){if(this.disabled||this.readOnly){return;}this.inherited(arguments);this._updatePlaceHolder();}});if(_6("ie")<9){_c=_1(_c,{declaredClass:"dijit.form.TextBox",_isTextSelected:function(){var _13=_7.doc.selection.createRange();var _14=_13.parentElement();return _14==this.textbox&&_13.text.length==0;},postCreate:function(){this.inherited(arguments);setTimeout(_5.hitch(this,function(){try{var s=_3.getComputedStyle(this.domNode);if(s){var ff=s.fontFamily;if(ff){var _15=this.domNode.getElementsByTagName("INPUT");if(_15){for(var i=0;i<_15.length;i++){_15[i].style.fontFamily=ff;}}}}}catch(e){}}),0);}});_b._setSelectionRange=_9._setSelectionRange=function(_16,_17,_18){if(_16.createTextRange){var r=_16.createTextRange();r.collapse(true);r.moveStart("character",-99999);r.moveStart("character",_17);r.moveEnd("character",_18-_17);r.select();}};}else{if(_6("mozilla")){_c=_1(_c,{declaredClass:"dijit.form.TextBox",_onBlur:function(e){this.inherited(arguments);if(this.selectOnClick){this.textbox.selectionStart=this.textbox.selectionEnd=undefined;}}});}else{_c.prototype.declaredClass="dijit.form.TextBox";}}_5.setObject("dijit.form.TextBox",_c);return _c;});},"url:dijit/form/templates/ComboButton.html":"\n","dijit/_HasDropDown":function(){define("dijit/_HasDropDown",["dojo/_base/declare","dojo/_base/Deferred","dojo/_base/event","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/has","dojo/keys","dojo/_base/lang","dojo/touch","dojo/_base/window","./registry","./focus","./popup","./_FocusMixin","./Viewport"],function(_19,_1a,_1b,dom,_1c,_1d,_1e,_1f,has,_20,_21,_22,win,_23,_24,_25,_26,_27){return _19("dijit._HasDropDown",_26,{_buttonNode:null,_arrowWrapperNode:null,_popupStateNode:null,_aroundNode:null,dropDown:null,autoWidth:true,forceWidth:false,maxHeight:0,dropDownPosition:["below","above"],_stopClickEvents:true,_onDropDownMouseDown:function(e){if(this.disabled||this.readOnly){return;}e.preventDefault();this._docHandler=this.connect(win.doc,_22.release,"_onDropDownMouseUp");this.toggleDropDown();},_onDropDownMouseUp:function(e){if(e&&this._docHandler){this.disconnect(this._docHandler);}var _28=this.dropDown,_29=false;if(e&&this._opened){var c=_1e.position(this._buttonNode,true);if(!(e.pageX>=c.x&&e.pageX<=c.x+c.w)||!(e.pageY>=c.y&&e.pageY<=c.y+c.h)){var t=e.target;while(t&&!_29){if(_1d.contains(t,"dijitPopup")){_29=true;}else{t=t.parentNode;}}if(_29){t=e.target;if(_28.onItemClick){var _2a;while(t&&!(_2a=_23.byNode(t))){t=t.parentNode;}if(_2a&&_2a.onClick&&_2a.getParent){_2a.getParent().onItemClick(_2a,e);}}return;}}}if(this._opened){if(_28.focus&&_28.autoFocus!==false){window.setTimeout(_21.hitch(_28,"focus"),1);}}else{setTimeout(_21.hitch(this,"focus"),0);}if(has("ios")){this._justGotMouseUp=true;setTimeout(_21.hitch(this,function(){this._justGotMouseUp=false;}),0);}},_onDropDownClick:function(e){if(has("ios")&&!this._justGotMouseUp){this._onDropDownMouseDown(e);this._onDropDownMouseUp(e);}if(this._stopClickEvents){_1b.stop(e);}},buildRendering:function(){this.inherited(arguments);this._buttonNode=this._buttonNode||this.focusNode||this.domNode;this._popupStateNode=this._popupStateNode||this.focusNode||this._buttonNode;var _2b={"after":this.isLeftToRight()?"Right":"Left","before":this.isLeftToRight()?"Left":"Right","above":"Up","below":"Down","left":"Left","right":"Right"}[this.dropDownPosition[0]]||this.dropDownPosition[0]||"Down";_1d.add(this._arrowWrapperNode||this._buttonNode,"dijit"+_2b+"ArrowButton");},postCreate:function(){this.inherited(arguments);this.connect(this._buttonNode,_22.press,"_onDropDownMouseDown");this.connect(this._buttonNode,"onclick","_onDropDownClick");this.connect(this.focusNode,"onkeypress","_onKey");this.connect(this.focusNode,"onkeyup","_onKeyUp");},destroy:function(){if(this.dropDown){if(!this.dropDown._destroyed){this.dropDown.destroyRecursive();}delete this.dropDown;}this.inherited(arguments);},_onKey:function(e){if(this.disabled||this.readOnly){return;}var d=this.dropDown,_2c=e.target;if(d&&this._opened&&d.handleKey){if(d.handleKey(e)===false){_1b.stop(e);return;}}if(d&&this._opened&&e.charOrCode==_20.ESCAPE){this.closeDropDown();_1b.stop(e);}else{if(!this._opened&&(e.charOrCode==_20.DOWN_ARROW||((e.charOrCode==_20.ENTER||e.charOrCode==" ")&&((_2c.tagName||"").toLowerCase()!=="input"||(_2c.type&&_2c.type.toLowerCase()!=="text"))))){this._toggleOnKeyUp=true;_1b.stop(e);}}},_onKeyUp:function(){if(this._toggleOnKeyUp){delete this._toggleOnKeyUp;this.toggleDropDown();var d=this.dropDown;if(d&&d.focus){setTimeout(_21.hitch(d,"focus"),1);}}},_onBlur:function(){var _2d=_24.curNode&&this.dropDown&&dom.isDescendant(_24.curNode,this.dropDown.domNode);this.closeDropDown(_2d);this.inherited(arguments);},isLoaded:function(){return true;},loadDropDown:function(_2e){_2e();},loadAndOpenDropDown:function(){var d=new _1a(),_2f=_21.hitch(this,function(){this.openDropDown();d.resolve(this.dropDown);});if(!this.isLoaded()){this.loadDropDown(_2f);}else{_2f();}return d;},toggleDropDown:function(){if(this.disabled||this.readOnly){return;}if(!this._opened){this.loadAndOpenDropDown();}else{this.closeDropDown();}},openDropDown:function(){var _30=this.dropDown,_31=_30.domNode,_32=this._aroundNode||this.domNode,_33=this;if(!this._preparedNode){this._preparedNode=true;if(_31.style.width){this._explicitDDWidth=true;}if(_31.style.height){this._explicitDDHeight=true;}}if(this.maxHeight||this.forceWidth||this.autoWidth){var _34={display:"",visibility:"hidden"};if(!this._explicitDDWidth){_34.width="";}if(!this._explicitDDHeight){_34.height="";}_1f.set(_31,_34);var _35=this.maxHeight;if(_35==-1){var _36=_27.getEffectiveBox(this.ownerDocument),_37=_1e.position(_32,false);_35=Math.floor(Math.max(_37.y,_36.h-(_37.y+_37.h)));}_25.moveOffScreen(_30);if(_30.startup&&!_30._started){_30.startup();}var mb=_1e.getMarginSize(_31);var _38=(_35&&mb.h>_35);_1f.set(_31,{overflow:_38?"auto":"visible"});if(_38){mb.h=_35;if("w" in mb){mb.w+=16;}}else{delete mb.h;}if(this.forceWidth){mb.w=_32.offsetWidth;}else{if(this.autoWidth){mb.w=Math.max(mb.w,_32.offsetWidth);}else{delete mb.w;}}if(_21.isFunction(_30.resize)){_30.resize(mb);}else{_1e.setMarginBox(_31,mb);}}var _39=_25.open({parent:this,popup:_30,around:_32,orient:this.dropDownPosition,onExecute:function(){_33.closeDropDown(true);},onCancel:function(){_33.closeDropDown(true);},onClose:function(){_1c.set(_33._popupStateNode,"popupActive",false);_1d.remove(_33._popupStateNode,"dijitHasDropDownOpen");_33._opened=false;}});_1c.set(this._popupStateNode,"popupActive","true");_1d.add(_33._popupStateNode,"dijitHasDropDownOpen");this._opened=true;return _39;},closeDropDown:function(_3a){if(this._opened){if(_3a){this.focus();}_25.close(this.dropDown);this._opened=false;}}});});},"dijit/form/Slider":function(){define("dijit/form/Slider",["dojo/_base/kernel","./HorizontalSlider","./VerticalSlider","./HorizontalRule","./VerticalRule","./HorizontalRuleLabels","./VerticalRuleLabels"],function(_3b){_3b.deprecated("Call require() for HorizontalSlider / VerticalRule, explicitly rather than 'dijit.form.Slider' itself","","2.0");});},"dijit/form/_ComboBoxMenuMixin":function(){define("dijit/form/_ComboBoxMenuMixin",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/i18n","dojo/_base/window","dojo/i18n!./nls/ComboBox"],function(_3c,_3d,_3e,_3f,win){return _3d("dijit.form._ComboBoxMenuMixin",null,{_messages:null,postMixInProperties:function(){this.inherited(arguments);this._messages=_3f.getLocalization("dijit.form","ComboBox",this.lang);},buildRendering:function(){this.inherited(arguments);this.previousButton.innerHTML=this._messages["previousMessage"];this.nextButton.innerHTML=this._messages["nextMessage"];},_setValueAttr:function(_40){this.value=_40;this.onChange(_40);},onClick:function(_41){if(_41==this.previousButton){this._setSelectedAttr(null);this.onPage(-1);}else{if(_41==this.nextButton){this._setSelectedAttr(null);this.onPage(1);}else{this.onChange(_41);}}},onChange:function(){},onPage:function(){},onClose:function(){this._setSelectedAttr(null);},_createOption:function(_42,_43){var _44=this._createMenuItem();var _45=_43(_42);if(_45.html){_44.innerHTML=_45.label;}else{_44.appendChild(win.doc.createTextNode(_45.label));}if(_44.innerHTML==""){_44.innerHTML=" ";}this.applyTextDir(_44,(_44.innerText||_44.textContent||""));_44.item=_42;return _44;},createOptions:function(_46,_47,_48){this.items=_46;this.previousButton.style.display=(_47.start==0)?"none":"";_3e.set(this.previousButton,"id",this.id+"_prev");_3c.forEach(_46,function(_49,i){var _4a=this._createOption(_49,_48);_4a.setAttribute("item",i);_3e.set(_4a,"id",this.id+i);this.nextButton.parentNode.insertBefore(_4a,this.nextButton);},this);var _4b=false;if(_46.total&&!_46.total.then&&_46.total!=-1){if((_47.start+_47.count)<_46.total){_4b=true;}else{if((_47.start+_47.count)>_46.total&&_47.count==_46.length){_4b=true;}}}else{if(_47.count==_46.length){_4b=true;}}this.nextButton.style.display=_4b?"":"none";_3e.set(this.nextButton,"id",this.id+"_next");},clearResultList:function(){var _4c=this.containerNode;while(_4c.childNodes.length>2){_4c.removeChild(_4c.childNodes[_4c.childNodes.length-2]);}this._setSelectedAttr(null);},highlightFirstOption:function(){this.selectFirstNode();},highlightLastOption:function(){this.selectLastNode();},selectFirstNode:function(){this.inherited(arguments);if(this.getHighlightedOption()==this.previousButton){this.selectNextNode();}},selectLastNode:function(){this.inherited(arguments);if(this.getHighlightedOption()==this.nextButton){this.selectPreviousNode();}},getHighlightedOption:function(){return this._getSelectedAttr();}});});},"dojo/parser":function(){define("dojo/parser",["./_base/kernel","./_base/lang","./_base/array","./_base/config","./_base/html","./_base/window","./_base/url","./_base/json","./aspect","./date/stamp","./has","./query","./on","./ready"],function(_4d,_4e,_4f,_50,_51,_52,_53,_54,_55,_56,has,_57,don,_58){new Date("X");if(1){var _59=document.createElement("form");has.add("dom-attributes-explicit",_59.attributes.length==0);has.add("dom-attributes-specified-flag",_59.attributes.length<40);}_4d.parser=new function(){var _5a={};function _5b(_5c){var map={};for(var _5d in _5c){if(_5d.charAt(0)=="_"){continue;}map[_5d.toLowerCase()]=_5d;}return map;};_55.after(_4e,"extend",function(){_5a={};},true);var _5e={};function _5f(_60){var map=_5e[_60]||(_5e[_60]={});return map["__type"]||(map["__type"]=(_4e.getObject(_60)||require(_60)));};this._functionFromScript=function(_61,_62){var _63="";var _64="";var _65=(_61.getAttribute(_62+"args")||_61.getAttribute("args"));if(_65){_4f.forEach(_65.split(/\s*,\s*/),function(_66,idx){_63+="var "+_66+" = arguments["+idx+"]; ";});}var _67=_61.getAttribute("with");if(_67&&_67.length){_4f.forEach(_67.split(/\s*,\s*/),function(_68){_63+="with("+_68+"){";_64+="}";});}return new Function(_63+_61.innerHTML+_64);};this.instantiate=function(_69,_6a,_6b){_6a=_6a||{};_6b=_6b||{};var _6c=(_6b.scope||_4d._scopeName)+"Type",_6d="data-"+(_6b.scope||_4d._scopeName)+"-",_6e=_6d+"type";var _6f=[];_4f.forEach(_69,function(_70){var _71=_6c in _6a?_6a[_6c]:_70.getAttribute(_6e)||_70.getAttribute(_6c);if(_71){_6f.push({node:_70,"type":_71});}});return this._instantiate(_6f,_6a,_6b);};this._instantiate=function(_72,_73,_74){var _75=[];var _76=(_74.scope||_4d._scopeName)+"Type",_77="data-"+(_74.scope||_4d._scopeName)+"-",_78=_77+"type",_79=_77+"props",_7a=_77+"attach-point",_7b=_77+"attach-event",_7c=_77+"id",_7d=_77+"mixins";var _7e={};_4f.forEach([_79,_78,_76,_7c,"jsId",_7a,_7b,"dojoAttachPoint","dojoAttachEvent","class","style",_7d],function(_7f){_7e[_7f.toLowerCase()]=_7f.replace(_74.scope,"dojo");});function _80(_81,_82){return _81.createSubclass&&_81.createSubclass(_82)||_81.extend.apply(_81,_82);};_4f.forEach(_72,function(obj){if(!obj){return;}var _83=obj.node,_84=obj.type,_85=_83.getAttribute(_7d),_86;if(_85){var map=_5e[_84];_85=_85.replace(/ /g,"");_86=map&&map[_85];if(!_86){_86=_5f(_84);_86=_5e[_84][_85]=_80(_86,_4f.map(_85.split(","),_5f));}}else{_86=_5f(_84);}var _87=_86&&_86.prototype;var _88={};if(_74.defaults){_4e.mixin(_88,_74.defaults);}if(obj.inherited){_4e.mixin(_88,obj.inherited);}var _89;if(has("dom-attributes-explicit")){_89=_83.attributes;}else{if(has("dom-attributes-specified-flag")){_89=_4f.filter(_83.attributes,function(a){return a.specified;});}else{var _8a=/^input$|^img$/i.test(_83.nodeName)?_83:_83.cloneNode(false),_8b=_8a.outerHTML.replace(/=[^\s"']+|="[^"]*"|='[^']*'/g,"").replace(/^\s*<[a-zA-Z0-9]*\s*/,"").replace(/\s*>.*$/,"");_89=_4f.map(_8b.split(/\s+/),function(_8c){var _8d=_8c.toLowerCase();return {name:_8c,value:(_83.nodeName=="LI"&&_8c=="value")||_8d=="enctype"?_83.getAttribute(_8d):_83.getAttributeNode(_8d).value};});}}var i=0,_8e;while(_8e=_89[i++]){var _8f=_8e.name,_90=_8f.toLowerCase(),_91=_8e.value;if(_90 in _7e){switch(_7e[_90]){case "data-dojo-props":var _92=_91;break;case "data-dojo-id":case "jsId":var _93=_91;break;case "data-dojo-attach-point":case "dojoAttachPoint":_88.dojoAttachPoint=_91;break;case "data-dojo-attach-event":case "dojoAttachEvent":_88.dojoAttachEvent=_91;break;case "class":_88["class"]=_83.className;break;case "style":_88["style"]=_83.style&&_83.style.cssText;break;}}else{if(!(_8f in _87)){var map=(_5a[_84]||(_5a[_84]=_5b(_87)));_8f=map[_90]||_8f;}if(_8f in _87){switch(typeof _87[_8f]){case "string":_88[_8f]=_91;break;case "number":_88[_8f]=_91.length?Number(_91):NaN;break;case "boolean":_88[_8f]=_91.toLowerCase()!="false";break;case "function":if(_91===""||_91.search(/[^\w\.]+/i)!=-1){_88[_8f]=new Function(_91);}else{_88[_8f]=_4e.getObject(_91,false)||new Function(_91);}break;default:var _94=_87[_8f];_88[_8f]=(_94&&"length" in _94)?(_91?_91.split(/\s*,\s*/):[]):(_94 instanceof Date)?(_91==""?new Date(""):_91=="now"?new Date():_56.fromISOString(_91)):(_94 instanceof _4d._Url)?(_4d.baseUrl+_91):_54.fromJson(_91);}}else{_88[_8f]=_91;}}}if(_92){try{_92=_54.fromJson.call(_74.propsThis,"{"+_92+"}");_4e.mixin(_88,_92);}catch(e){throw new Error(e.toString()+" in data-dojo-props='"+_92+"'");}}_4e.mixin(_88,_73);var _95=obj.scripts||(_86&&(_86._noScript||_87._noScript)?[]:_57("> script[type^='dojo/']",_83));var _96=[],_97=[],_98=[],on=[];if(_95){for(i=0;i<_95.length;i++){var _99=_95[i];_83.removeChild(_99);var _9a=(_99.getAttribute(_77+"event")||_99.getAttribute("event")),_9b=_99.getAttribute(_77+"prop"),_9c=_99.getAttribute("type"),nf=this._functionFromScript(_99,_77);if(_9a){if(_9c=="dojo/connect"){_96.push({event:_9a,func:nf});}else{if(_9c=="dojo/on"){on.push({event:_9a,func:nf});}else{_88[_9a]=nf;}}}else{if(_9c=="dojo/watch"){_98.push({prop:_9b,func:nf});}else{_97.push(nf);}}}}var _9d=_86.markupFactory||_87.markupFactory;var _9e=_9d?_9d(_88,_83,_86):new _86(_88,_83);_75.push(_9e);if(_93){_4e.setObject(_93,_9e);}for(i=0;i<_96.length;i++){_55.after(_9e,_96[i].event,_4d.hitch(_9e,_96[i].func),true);}for(i=0;i<_97.length;i++){_97[i].call(_9e);}for(i=0;i<_98.length;i++){_9e.watch(_98[i].prop,_98[i].func);}for(i=0;i▼ \n","dijit/form/ToggleButton":function(){define("dijit/form/ToggleButton",["dojo/_base/declare","dojo/_base/kernel","./Button","./_ToggleButtonMixin"],function(_be,_bf,_c0,_c1){return _be("dijit.form.ToggleButton",[_c0,_c1],{baseClass:"dijitToggleButton",setChecked:function(_c2){_bf.deprecated("setChecked("+_c2+") is deprecated. Use set('checked',"+_c2+") instead.","","2.0");this.set("checked",_c2);}});});},"dijit/form/NumberSpinner":function(){define("dijit/form/NumberSpinner",["dojo/_base/declare","dojo/_base/event","dojo/keys","./_Spinner","./NumberTextBox"],function(_c3,_c4,_c5,_c6,_c7){return _c3("dijit.form.NumberSpinner",[_c6,_c7.Mixin],{adjust:function(val,_c8){var tc=this.constraints,v=isNaN(val),_c9=!isNaN(tc.max),_ca=!isNaN(tc.min);if(v&&_c8!=0){val=(_c8>0)?_ca?tc.min:_c9?tc.max:0:_c9?this.constraints.max:_ca?tc.min:0;}var _cb=val+_c8;if(v||isNaN(_cb)){return val;}if(_c9&&(_cb>tc.max)){_cb=tc.max;}if(_ca&&(_cb
▼
\n"}});define("dijit/form/ComboButton",["dojo/_base/declare","dojo/_base/event","dojo/keys","../focus","./DropDownButton","dojo/text!./templates/ComboButton.html"],function(_d4,_d5,_d6,_d7,_d8,_d9){return _d4("dijit.form.ComboButton",_d8,{templateString:_d9,_setIdAttr:"",_setTabIndexAttr:["focusNode","titleNode"],_setTitleAttr:"titleNode",optionsTitle:"",baseClass:"dijitComboButton",cssStateNodes:{"buttonNode":"dijitButtonNode","titleNode":"dijitButtonContents","_popupStateNode":"dijitDownArrowButton"},_focusedNode:null,_onButtonKeyPress:function(evt){if(evt.charOrCode==_d6[this.isLeftToRight()?"RIGHT_ARROW":"LEFT_ARROW"]){_d7.focus(this._popupStateNode);_d5.stop(evt);}},_onArrowKeyPress:function(evt){if(evt.charOrCode==_d6[this.isLeftToRight()?"LEFT_ARROW":"RIGHT_ARROW"]){_d7.focus(this.titleNode);_d5.stop(evt);}},focus:function(_da){if(!this.disabled){_d7.focus(_da=="start"?this.titleNode:this._popupStateNode);}}});});},"url:dijit/templates/Calendar.html":"\n\t\n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t- \n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\t \n\t\t\t\t+ \n\t\t\t \n\t\t \n\t\t\n\t\t\t${!dayCellsHtml}\n\t\t \n\t \n\t\n\t\t\t${!dateRowsHtml}\n\t \n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n
\n","dijit/form/_AutoCompleterMixin":function(){define("dijit/form/_AutoCompleterMixin",["dojo/_base/connect","dojo/data/util/filter","dojo/_base/declare","dojo/_base/Deferred","dojo/dom-attr","dojo/_base/event","dojo/keys","dojo/_base/lang","dojo/query","dojo/regexp","dojo/_base/sniff","dojo/string","dojo/_base/window","./DataList","../registry","./_TextBoxMixin"],function(_db,_dc,_dd,_de,_df,_e0,_e1,_e2,_e3,_e4,has,_e5,win,_e6,_e7,_e8){return _dd("dijit.form._AutoCompleterMixin",null,{item:null,pageSize:Infinity,store:null,fetchProperties:{},query:{},autoComplete:true,highlightMatch:"first",searchDelay:100,searchAttr:"name",labelAttr:"",labelType:"text",queryExpr:"${0}*",ignoreCase:true,maxHeight:-1,_stopClickEvents:false,_getCaretPos:function(_e9){var pos=0;if(typeof (_e9.selectionStart)=="number"){pos=_e9.selectionStart;}else{if(has("ie")){var tr=win.doc.selection.createRange().duplicate();var ntr=_e9.createTextRange();tr.move("character",0);ntr.move("character",0);try{ntr.setEndPoint("EndToEnd",tr);pos=String(ntr.text).replace(/\r/g,"").length;}catch(e){}}}return pos;},_setCaretPos:function(_ea,_eb){_eb=parseInt(_eb);_e8.selectInputText(_ea,_eb,_eb);},_setDisabledAttr:function(_ec){this.inherited(arguments);this.domNode.setAttribute("aria-disabled",_ec);},_abortQuery:function(){if(this.searchTimer){clearTimeout(this.searchTimer);this.searchTimer=null;}if(this._fetchHandle){if(this._fetchHandle.cancel){this._cancelingQuery=true;this._fetchHandle.cancel();this._cancelingQuery=false;}this._fetchHandle=null;}},_onInput:function(evt){this.inherited(arguments);if(evt.charOrCode==229){this._onKey(evt);}},_onKey:function(evt){if(this.disabled||this.readOnly){return;}var key=evt.charOrCode;if(evt.altKey||((evt.ctrlKey||evt.metaKey)&&(key!="x"&&key!="v"))||key==_e1.SHIFT){return;}var _ed=false;var pw=this.dropDown;var _ee=null;this._prev_key_backspace=false;this._abortQuery();this.inherited(arguments);if(this._opened){_ee=pw.getHighlightedOption();}switch(key){case _e1.PAGE_DOWN:case _e1.DOWN_ARROW:case _e1.PAGE_UP:case _e1.UP_ARROW:if(this._opened){this._announceOption(_ee);}_e0.stop(evt);break;case _e1.ENTER:if(_ee){if(_ee==pw.nextButton){this._nextSearch(1);_e0.stop(evt);break;}else{if(_ee==pw.previousButton){this._nextSearch(-1);_e0.stop(evt);break;}}}else{this._setBlurValue();this._setCaretPos(this.focusNode,this.focusNode.value.length);}if(this._opened||this._fetchHandle){_e0.stop(evt);}case _e1.TAB:var _ef=this.get("displayedValue");if(pw&&(_ef==pw._messages["previousMessage"]||_ef==pw._messages["nextMessage"])){break;}if(_ee){this._selectOption(_ee);}case _e1.ESCAPE:if(this._opened){this._lastQuery=null;this.closeDropDown();}break;case " ":if(_ee){_e0.stop(evt);this._selectOption(_ee);this.closeDropDown();}else{_ed=true;}break;case _e1.DELETE:case _e1.BACKSPACE:this._prev_key_backspace=true;_ed=true;break;default:_ed=typeof key=="string"||key==229;}if(_ed){this.item=undefined;this.searchTimer=setTimeout(_e2.hitch(this,"_startSearchFromInput"),1);}},_autoCompleteText:function(_f0){var fn=this.focusNode;_e8.selectInputText(fn,fn.value.length);var _f1=this.ignoreCase?"toLowerCase":"substr";if(_f0[_f1](0).indexOf(this.focusNode.value[_f1](0))==0){var _f2=this.autoComplete?this._getCaretPos(fn):fn.value.length;if((_f2+1)>fn.value.length){fn.value=_f0;_e8.selectInputText(fn,_f2);}}else{fn.value=_f0;_e8.selectInputText(fn);}},_openResultList:function(_f3,_f4,_f5){this._fetchHandle=null;if(this.disabled||this.readOnly||(_f4[this.searchAttr]!==this._lastQuery)){return;}var _f6=this.dropDown.getHighlightedOption();this.dropDown.clearResultList();if(!_f3.length&&_f5.start==0){this.closeDropDown();return;}this.dropDown.createOptions(_f3,_f5,_e2.hitch(this,"_getMenuLabelFromItem"));this._showResultList();if(_f5.direction){if(1==_f5.direction){this.dropDown.highlightFirstOption();}else{if(-1==_f5.direction){this.dropDown.highlightLastOption();}}if(_f6){this._announceOption(this.dropDown.getHighlightedOption());}}else{if(this.autoComplete&&!this._prev_key_backspace&&!/^[*]+$/.test(_f4[this.searchAttr].toString())){this._announceOption(this.dropDown.containerNode.firstChild.nextSibling);}}},_showResultList:function(){this.closeDropDown(true);this.openDropDown();this.domNode.setAttribute("aria-expanded","true");},loadDropDown:function(){this._startSearchAll();},isLoaded:function(){return false;},closeDropDown:function(){this._abortQuery();if(this._opened){this.inherited(arguments);this.domNode.setAttribute("aria-expanded","false");this.focusNode.removeAttribute("aria-activedescendant");}},_setBlurValue:function(){var _f7=this.get("displayedValue");var pw=this.dropDown;if(pw&&(_f7==pw._messages["previousMessage"]||_f7==pw._messages["nextMessage"])){this._setValueAttr(this._lastValueReported,true);}else{if(typeof this.item=="undefined"){this.item=null;this.set("displayedValue",_f7);}else{if(this.value!=this._lastValueReported){this._handleOnChange(this.value,true);}this._refreshState();}}},_setItemAttr:function(_f8,_f9,_fa){var _fb="";if(_f8){if(!_fa){_fa=this.store._oldAPI?this.store.getValue(_f8,this.searchAttr):_f8[this.searchAttr];}_fb=this._getValueField()!=this.searchAttr?this.store.getIdentity(_f8):_fa;}this.set("value",_fb,_f9,_fa,_f8);},_announceOption:function(_fc){if(!_fc){return;}var _fd;if(_fc==this.dropDown.nextButton||_fc==this.dropDown.previousButton){_fd=_fc.innerHTML;this.item=undefined;this.value="";}else{var _fe=this.dropDown.items[_fc.getAttribute("item")];_fd=(this.store._oldAPI?this.store.getValue(_fe,this.searchAttr):_fe[this.searchAttr]).toString();this.set("item",_fe,false,_fd);}this.focusNode.value=this.focusNode.value.substring(0,this._lastInput.length);this.focusNode.setAttribute("aria-activedescendant",_df.get(_fc,"id"));this._autoCompleteText(_fd);},_selectOption:function(_ff){this.closeDropDown();if(_ff){this._announceOption(_ff);}this._setCaretPos(this.focusNode,this.focusNode.value.length);this._handleOnChange(this.value,true);},_startSearchAll:function(){this._startSearch("");},_startSearchFromInput:function(){this._startSearch(this.focusNode.value.replace(/([\\\*\?])/g,"\\$1"));},_getQueryString:function(text){return _e5.substitute(this.queryExpr,[text]);},_startSearch:function(key){if(!this.dropDown){var _100=this.id+"_popup",_101=_e2.isString(this.dropDownClass)?_e2.getObject(this.dropDownClass,false):this.dropDownClass;this.dropDown=new _101({onChange:_e2.hitch(this,this._selectOption),id:_100,dir:this.dir,textDir:this.textDir});this.focusNode.removeAttribute("aria-activedescendant");this.textbox.setAttribute("aria-owns",_100);}this._lastInput=key;var _102=_e2.clone(this.query);var _103={start:0,count:this.pageSize,queryOptions:{ignoreCase:this.ignoreCase,deep:true}};_e2.mixin(_103,this.fetchProperties);var qs=this._getQueryString(key),q;if(this.store._oldAPI){q=qs;}else{q=_dc.patternToRegExp(qs,this.ignoreCase);q.toString=function(){return qs;};}this._lastQuery=_102[this.searchAttr]=q;var _104=this,_105=function(){var _106=_104._fetchHandle=_104.store.query(_102,_103);_de.when(_106,function(res){_104._fetchHandle=null;res.total=_106.total;_104._openResultList(res,_102,_103);},function(err){_104._fetchHandle=null;if(!_104._cancelingQuery){console.error(_104.declaredClass+" "+err.toString());_104.closeDropDown();}});};this.searchTimer=setTimeout(_e2.hitch(this,function(_107,_108){this.searchTimer=null;_105();this._nextSearch=this.dropDown.onPage=function(_109){_103.start+=_103.count*_109;_103.direction=_109;_105();_108.focus();};},_102,this),this.searchDelay);},_getValueField:function(){return this.searchAttr;},constructor:function(){this.query={};this.fetchProperties={};},postMixInProperties:function(){if(!this.store){var _10a=this.srcNodeRef;var list=this.list;if(list){this.store=_e7.byId(list);}else{this.store=new _e6({},_10a);}if(!("value" in this.params)){var item=(this.item=this.store.fetchSelectedItem());if(item){var _10b=this._getValueField();this.value=this.store._oldAPI?this.store.getValue(item,_10b):item[_10b];}}}this.inherited(arguments);},postCreate:function(){var _10c=_e3("label[for=\""+this.id+"\"]");if(_10c.length){_10c[0].id=(this.id+"_label");this.domNode.setAttribute("aria-labelledby",_10c[0].id);}this.inherited(arguments);},_getMenuLabelFromItem:function(item){var _10d=this.labelFunc(item,this.store),_10e=this.labelType;if(this.highlightMatch!="none"&&this.labelType=="text"&&this._lastInput){_10d=this.doHighlight(_10d,this._escapeHtml(this._lastInput));_10e="html";}return {html:_10e=="html",label:_10d};},doHighlight:function(_10f,find){var _110=(this.ignoreCase?"i":"")+(this.highlightMatch=="all"?"g":""),i=this.queryExpr.indexOf("${0}");find=_e4.escapeString(find);return this._escapeHtml(_10f).replace(new RegExp((i==0?"^":"")+"("+find+")"+(i==(this.queryExpr.length-4)?"$":""),_110),"$1 ");},_escapeHtml:function(str){str=String(str).replace(/&/gm,"&").replace(//gm,">").replace(/"/gm,""");return str;},reset:function(){this.item=null;this.inherited(arguments);},labelFunc:function(item,_111){return (_111._oldAPI?_111.getValue(item,this.labelAttr||this.searchAttr):item[this.labelAttr||this.searchAttr]).toString();},_setValueAttr:function(_112,_113,_114,item){this._set("item",item||null);if(!_112){_112="";}this.inherited(arguments);},_setTextDirAttr:function(_115){this.inherited(arguments);if(this.dropDown){this.dropDown._set("textDir",_115);}}});});},"dijit/form/MappedTextBox":function(){define("dijit/form/MappedTextBox",["dojo/_base/declare","dojo/dom-construct","./ValidationTextBox"],function(_116,_117,_118){return _116("dijit.form.MappedTextBox",_118,{postMixInProperties:function(){this.inherited(arguments);this.nameAttrSetting="";},_setNameAttr:null,serialize:function(val){return val.toString?val.toString():"";},toString:function(){var val=this.filter(this.get("value"));return val!=null?(typeof val=="string"?val:this.serialize(val,this.constraints)):"";},validate:function(){this.valueNode.value=this.toString();return this.inherited(arguments);},buildRendering:function(){this.inherited(arguments);this.valueNode=_117.place(" ",this.textbox,"after");},reset:function(){this.valueNode.value="";this.inherited(arguments);}});});},"dijit/form/ComboBoxMixin":function(){require({cache:{"url:dijit/form/templates/DropDownBox.html":"\n"}});define("dijit/form/ComboBoxMixin",["dojo/_base/declare","dojo/_base/Deferred","dojo/_base/kernel","dojo/_base/lang","dojo/store/util/QueryResults","./_AutoCompleterMixin","./_ComboBoxMenu","../_HasDropDown","dojo/text!./templates/DropDownBox.html"],function(_119,_11a,_11b,lang,_11c,_11d,_11e,_11f,_120){return _119("dijit.form.ComboBoxMixin",[_11f,_11d],{dropDownClass:_11e,hasDownArrow:true,templateString:_120,baseClass:"dijitTextBox dijitComboBox",cssStateNodes:{"_buttonNode":"dijitDownArrowButton"},_setHasDownArrowAttr:function(val){this._set("hasDownArrow",val);this._buttonNode.style.display=val?"":"none";},_showResultList:function(){this.displayMessage("");this.inherited(arguments);},_setStoreAttr:function(_121){if(!_121.get){lang.mixin(_121,{_oldAPI:true,get:function(id){var _122=new _11a();this.fetchItemByIdentity({identity:id,onItem:function(_123){_122.resolve(_123);},onError:function(_124){_122.reject(_124);}});return _122.promise;},query:function(_125,_126){var _127=new _11a(function(){_128.abort&&_128.abort();});var _128=this.fetch(lang.mixin({query:_125,onBegin:function(_129){_127.total=_129;},onComplete:function(_12a){_127.resolve(_12a);},onError:function(_12b){_127.reject(_12b);}},_126));return _11c(_127);}});}this._set("store",_121);},postMixInProperties:function(){if(this.params.store){this._setStoreAttr(this.params.store);}this.inherited(arguments);if(!this.params.store){var _12c=this.declaredClass;lang.mixin(this.store,{getValue:function(item,attr){_11b.deprecated(_12c+".store.getValue(item, attr) is deprecated for builtin store. Use item.attr directly","","2.0");return item[attr];},getLabel:function(item){_11b.deprecated(_12c+".store.getLabel(item) is deprecated for builtin store. Use item.label directly","","2.0");return item.name;},fetch:function(args){_11b.deprecated(_12c+".store.fetch() is deprecated for builtin store.","Use store.query()","2.0");var shim=["dojo/data/ObjectStore"];require(shim,lang.hitch(this,function(_12d){new _12d({objectStore:this}).fetch(args);}));}});}}});});},"dijit/form/_TextBoxMixin":function(){define("dijit/form/_TextBoxMixin",["dojo/_base/array","dojo/_base/declare","dojo/dom","dojo/_base/event","dojo/keys","dojo/_base/lang",".."],function(_12e,_12f,dom,_130,keys,lang,_131){var _132=_12f("dijit.form._TextBoxMixin",null,{trim:false,uppercase:false,lowercase:false,propercase:false,maxLength:"",selectOnClick:false,placeHolder:"",_getValueAttr:function(){return this.parse(this.get("displayedValue"),this.constraints);},_setValueAttr:function(_133,_134,_135){var _136;if(_133!==undefined){_136=this.filter(_133);if(typeof _135!="string"){if(_136!==null&&((typeof _136!="number")||!isNaN(_136))){_135=this.filter(this.format(_136,this.constraints));}else{_135="";}}}if(_135!=null&&_135!=undefined&&((typeof _135)!="number"||!isNaN(_135))&&this.textbox.value!=_135){this.textbox.value=_135;this._set("displayedValue",this.get("displayedValue"));}if(this.textDir=="auto"){this.applyTextDir(this.focusNode,_135);}this.inherited(arguments,[_136,_134]);},displayedValue:"",_getDisplayedValueAttr:function(){return this.filter(this.textbox.value);},_setDisplayedValueAttr:function(_137){if(_137===null||_137===undefined){_137="";}else{if(typeof _137!="string"){_137=String(_137);}}this.textbox.value=_137;this._setValueAttr(this.get("value"),undefined);this._set("displayedValue",this.get("displayedValue"));if(this.textDir=="auto"){this.applyTextDir(this.focusNode,_137);}},format:function(_138){return ((_138==null||_138==undefined)?"":(_138.toString?_138.toString():_138));},parse:function(_139){return _139;},_refreshState:function(){},onInput:function(){},__skipInputEvent:false,_onInput:function(){if(this.textDir=="auto"){this.applyTextDir(this.focusNode,this.focusNode.value);}this._refreshState();this._set("displayedValue",this.get("displayedValue"));},postCreate:function(){this.textbox.setAttribute("value",this.textbox.value);this.inherited(arguments);var _13a=function(e){var _13b=e.charOrCode||e.keyCode||229;if(e.type=="keydown"){switch(_13b){case keys.SHIFT:case keys.ALT:case keys.CTRL:case keys.META:case keys.CAPS_LOCK:return;default:if(_13b>=65&&_13b<=90){return;}}}if(e.type=="keypress"&&typeof _13b!="string"){return;}if(e.type=="input"){if(this.__skipInputEvent){this.__skipInputEvent=false;return;}}else{this.__skipInputEvent=true;}var faux=lang.mixin({},e,{charOrCode:_13b,wasConsumed:false,preventDefault:function(){faux.wasConsumed=true;e.preventDefault();},stopPropagation:function(){e.stopPropagation();}});if(this.onInput(faux)===false){_130.stop(faux);}if(faux.wasConsumed){return;}setTimeout(lang.hitch(this,"_onInput",faux),0);};_12e.forEach(["onkeydown","onkeypress","onpaste","oncut","oninput","oncompositionend"],function(_13c){this.connect(this.textbox,_13c,_13a);},this);},_blankValue:"",filter:function(val){if(val===null){return this._blankValue;}if(typeof val!="string"){return val;}if(this.trim){val=lang.trim(val);}if(this.uppercase){val=val.toUpperCase();}if(this.lowercase){val=val.toLowerCase();}if(this.propercase){val=val.replace(/[^\s]+/g,function(word){return word.substring(0,1).toUpperCase()+word.substring(1);});}return val;},_setBlurValue:function(){this._setValueAttr(this.get("value"),true);},_onBlur:function(e){if(this.disabled){return;}this._setBlurValue();this.inherited(arguments);if(this._selectOnClickHandle){this.disconnect(this._selectOnClickHandle);}},_isTextSelected:function(){return this.textbox.selectionStart==this.textbox.selectionEnd;},_onFocus:function(by){if(this.disabled||this.readOnly){return;}if(this.selectOnClick&&by=="mouse"){this._selectOnClickHandle=this.connect(this.domNode,"onmouseup",function(){this.disconnect(this._selectOnClickHandle);if(this._isTextSelected()){_132.selectInputText(this.textbox);}});}this.inherited(arguments);this._refreshState();},reset:function(){this.textbox.value="";this.inherited(arguments);},_setTextDirAttr:function(_13d){if(!this._created||this.textDir!=_13d){this._set("textDir",_13d);this.applyTextDir(this.focusNode,this.focusNode.value);}}});_132._setSelectionRange=_131._setSelectionRange=function(_13e,_13f,stop){if(_13e.setSelectionRange){_13e.setSelectionRange(_13f,stop);}};_132.selectInputText=_131.selectInputText=function(_140,_141,stop){_140=dom.byId(_140);if(isNaN(_141)){_141=0;}if(isNaN(stop)){stop=_140.value?_140.value.length:0;}try{_140.focus();_132._setSelectionRange(_140,_141,stop);}catch(e){}};return _132;});},"dijit/form/SimpleTextarea":function(){define("dijit/form/SimpleTextarea",["dojo/_base/declare","dojo/dom-class","dojo/_base/sniff","dojo/_base/window","./TextBox"],function(_142,_143,has,win,_144){return _142("dijit.form.SimpleTextarea",_144,{baseClass:"dijitTextBox dijitTextArea",rows:"3",cols:"20",templateString:"",postMixInProperties:function(){if(!this.value&&this.srcNodeRef){this.value=this.srcNodeRef.value;}this.inherited(arguments);},buildRendering:function(){this.inherited(arguments);if(has("ie")&&this.cols){_143.add(this.textbox,"dijitTextAreaCols");}},filter:function(_145){if(_145){_145=_145.replace(/\r/g,"");}return this.inherited(arguments);},_onInput:function(e){if(this.maxLength){var _146=parseInt(this.maxLength);var _147=this.textbox.value.replace(/\r/g,"");var _148=_147.length-_146;if(_148>0){var _149=this.textbox;if(_149.selectionStart){var pos=_149.selectionStart;var cr=0;if(has("opera")){cr=(this.textbox.value.substring(0,pos).match(/\r/g)||[]).length;}this.textbox.value=_147.substring(0,pos-_148-cr)+_147.substring(pos-cr);_149.setSelectionRange(pos-_148,pos-_148);}else{if(win.doc.selection){_149.focus();var _14a=win.doc.selection.createRange();_14a.moveStart("character",-_148);_14a.text="";_14a.select();}}}}this.inherited(arguments);}});});},"dijit/_TimePicker":function(){require({cache:{"url:dijit/templates/TimePicker.html":"\n"}});define("dijit/_TimePicker",["dojo/_base/array","dojo/date","dojo/date/locale","dojo/date/stamp","dojo/_base/declare","dojo/dom-class","dojo/dom-construct","dojo/_base/event","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dojo/query","dijit/typematic","./_Widget","./_TemplatedMixin","./form/_FormValueWidget","dojo/text!./templates/TimePicker.html"],function(_14b,_14c,_14d,_14e,_14f,_150,_151,_152,_153,keys,lang,has,_154,_155,_156,_157,_158,_159){return _14f("dijit._TimePicker",[_156,_157],{templateString:_159,baseClass:"dijitTimePicker",clickableIncrement:"T00:15:00",visibleIncrement:"T01:00:00",visibleRange:"T05:00:00",value:new Date(),_visibleIncrement:2,_clickableIncrement:1,_totalIncrements:10,constraints:{},serialize:_14e.toISOString,setValue:function(_15a){_153.deprecated("dijit._TimePicker:setValue() is deprecated. Use set('value', ...) instead.","","2.0");this.set("value",_15a);},_setValueAttr:function(date){this._set("value",date);this._showText();},_setFilterStringAttr:function(val){this._set("filterString",val);this._showText();},isDisabledDate:function(){return false;},_getFilteredNodes:function(_15b,_15c,_15d,_15e){var _15f=[],_160=_15e?_15e.date:this._refDate,n,i=_15b,max=this._maxIncrement+Math.abs(i),chk=_15d?-1:1,dec=_15d?1:0,inc=1-dec;do{i-=dec;n=this._createOption(i);if(n){if((_15d&&n.date>_160)||(!_15d&&n.date<_160)){break;}_15f[_15d?"unshift":"push"](n);_160=n.date;}i+=inc;}while(_15f.length<_15c&&(i*chk)>1)+1,false),_168=[],_169=_166-_167.length,_16a=this._getFilteredNodes(0,_169,true,_167[0]);if(_16a.length<_169&&_167.length>0){_168=this._getFilteredNodes(_167.length,_169-_16a.length,false,_167[_167.length-1]);}_14b.forEach(_16a.concat(_167,_168),function(n){this.timeMenu.appendChild(n);},this);},constructor:function(){this.constraints={};},postMixInProperties:function(){this.inherited(arguments);this._setConstraintsAttr(this.constraints);},_setConstraintsAttr:function(_16b){for(var key in {clickableIncrement:1,visibleIncrement:1,visibleRange:1}){if(key in _16b){this[key]=_16b[key];}}if(!_16b.locale){_16b.locale=this.lang;}},postCreate:function(){this.connect(this.timeMenu,has("ie")?"onmousewheel":"DOMMouseScroll","_mouseWheeled");this._connects.push(_155.addMouseListener(this.upArrow,this,"_onArrowUp",33,250));this._connects.push(_155.addMouseListener(this.downArrow,this,"_onArrowDown",33,250));this.inherited(arguments);},_buttonMouse:function(e){_150.toggle(e.currentTarget,e.currentTarget==this.upArrow?"dijitUpArrowHover":"dijitDownArrowHover",e.type=="mouseenter"||e.type=="mouseover");},_createOption:function(_16c){var date=new Date(this._refDate);var _16d=this._clickableIncrementDate;date.setHours(date.getHours()+_16d.getHours()*_16c,date.getMinutes()+_16d.getMinutes()*_16c,date.getSeconds()+_16d.getSeconds()*_16c);if(this.constraints.selector=="time"){date.setFullYear(1970,0,1);}var _16e=_14d.format(date,this.constraints);if(this.filterString&&_16e.toLowerCase().indexOf(this.filterString)!==0){return null;}var div=_151.create("div",{"class":this.baseClass+"Item"});div.date=date;div.index=_16c;_151.create("div",{"class":this.baseClass+"ItemInner",innerHTML:_16e},div);if(_16c%this._visibleIncrement<1&&_16c%this._visibleIncrement>-1){_150.add(div,this.baseClass+"Marker");}else{if(!(_16c%this._clickableIncrement)){_150.add(div,this.baseClass+"Tick");}}if(this.isDisabledDate(date)){_150.add(div,this.baseClass+"ItemDisabled");}if(this.value&&!_14c.compare(this.value,date,this.constraints.selector)){div.selected=true;_150.add(div,this.baseClass+"ItemSelected");if(_150.contains(div,this.baseClass+"Marker")){_150.add(div,this.baseClass+"MarkerSelected");}else{_150.add(div,this.baseClass+"TickSelected");}this._highlightOption(div,true);}return div;},_onOptionSelected:function(tgt){var _16f=tgt.target.date||tgt.target.parentNode.date;if(!_16f||this.isDisabledDate(_16f)){return;}this._highlighted_option=null;this.set("value",_16f);this.onChange(_16f);},onChange:function(){},_highlightOption:function(node,_170){if(!node){return;}if(_170){if(this._highlighted_option){this._highlightOption(this._highlighted_option,false);}this._highlighted_option=node;}else{if(this._highlighted_option!==node){return;}else{this._highlighted_option=null;}}_150.toggle(node,this.baseClass+"ItemHover",_170);if(_150.contains(node,this.baseClass+"Marker")){_150.toggle(node,this.baseClass+"MarkerHover",_170);}else{_150.toggle(node,this.baseClass+"TickHover",_170);}},onmouseover:function(e){this._keyboardSelected=null;var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;if(!_150.contains(tgr,this.baseClass+"Item")){return;}this._highlightOption(tgr,true);},onmouseout:function(e){this._keyboardSelected=null;var tgr=(e.target.parentNode===this.timeMenu)?e.target:e.target.parentNode;this._highlightOption(tgr,false);},_mouseWheeled:function(e){this._keyboardSelected=null;_152.stop(e);var _171=(has("ie")?e.wheelDelta:-e.detail);this[(_171>0?"_onArrowUp":"_onArrowDown")]();},_onArrowUp:function(_172){if(typeof _172=="number"&&_172==-1){return;}if(!this.timeMenu.childNodes.length){return;}var _173=this.timeMenu.childNodes[0].index;var divs=this._getFilteredNodes(_173,1,true,this.timeMenu.childNodes[0]);if(divs.length){this.timeMenu.removeChild(this.timeMenu.childNodes[this.timeMenu.childNodes.length-1]);this.timeMenu.insertBefore(divs[0],this.timeMenu.childNodes[0]);}},_onArrowDown:function(_174){if(typeof _174=="number"&&_174==-1){return;}if(!this.timeMenu.childNodes.length){return;}var _175=this.timeMenu.childNodes[this.timeMenu.childNodes.length-1].index+1;var divs=this._getFilteredNodes(_175,1,false,this.timeMenu.childNodes[this.timeMenu.childNodes.length-1]);if(divs.length){this.timeMenu.removeChild(this.timeMenu.childNodes[0]);this.timeMenu.appendChild(divs[0]);}},handleKey:function(e){if(e.charOrCode==keys.DOWN_ARROW||e.charOrCode==keys.UP_ARROW){_152.stop(e);if(this._highlighted_option&&!this._highlighted_option.parentNode){this._highlighted_option=null;}var _176=this.timeMenu,tgt=this._highlighted_option||_154("."+this.baseClass+"ItemSelected",_176)[0];if(!tgt){tgt=_176.childNodes[0];}else{if(_176.childNodes.length){if(e.charOrCode==keys.DOWN_ARROW&&!tgt.nextSibling){this._onArrowDown();}else{if(e.charOrCode==keys.UP_ARROW&&!tgt.previousSibling){this._onArrowUp();}}if(e.charOrCode==keys.DOWN_ARROW){tgt=tgt.nextSibling;}else{tgt=tgt.previousSibling;}}}this._highlightOption(tgt,true);this._keyboardSelected=tgt;return false;}else{if(e.charOrCode==keys.ENTER||e.charOrCode===keys.TAB){if(!this._keyboardSelected&&e.charOrCode===keys.TAB){return true;}if(this._highlighted_option){this._onOptionSelected({target:this._highlighted_option});}return e.charOrCode===keys.TAB;}}return undefined;}});});},"dijit/form/RadioButton":function(){define("dijit/form/RadioButton",["dojo/_base/declare","./CheckBox","./_RadioButtonMixin"],function(_177,_178,_179){return _177("dijit.form.RadioButton",[_178,_179],{baseClass:"dijitRadio"});});},"url:dijit/form/templates/HorizontalSlider.html":"\n","url:dijit/templates/TimePicker.html":"\n","dijit/InlineEditBox":function(){require({cache:{"url:dijit/templates/InlineEditBox.html":" \n"}});define("dijit/InlineEditBox",["dojo/_base/array","dojo/_base/declare","dojo/_base/Deferred","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-style","dojo/_base/event","dojo/i18n","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","./focus","./_Widget","./_TemplatedMixin","./_WidgetsInTemplateMixin","./_Container","./form/Button","./form/_TextBoxMixin","./form/TextBox","dojo/text!./templates/InlineEditBox.html","dojo/i18n!./nls/common"],function(_17a,_17b,_17c,_17d,_17e,_17f,_180,_181,i18n,_182,keys,lang,has,fm,_183,_184,_185,_186,_187,_188,_189,_18a){var _18b=_17b("dijit._InlineEditor",[_183,_184,_185],{templateString:_18a,postMixInProperties:function(){this.inherited(arguments);this.messages=i18n.getLocalization("dijit","common",this.lang);_17a.forEach(["buttonSave","buttonCancel"],function(prop){if(!this[prop]){this[prop]=this.messages[prop];}},this);},buildRendering:function(){this.inherited(arguments);var cls=typeof this.editor=="string"?lang.getObject(this.editor):this.editor;var _18c=this.sourceStyle,_18d="line-height:"+_18c.lineHeight+";",_18e=_180.getComputedStyle(this.domNode);_17a.forEach(["Weight","Family","Size","Style"],function(prop){var _18f=_18c["font"+prop],_190=_18e["font"+prop];if(_190!=_18f){_18d+="font-"+prop+":"+_18c["font"+prop]+";";}},this);_17a.forEach(["marginTop","marginBottom","marginLeft","marginRight"],function(prop){this.domNode.style[prop]=_18c[prop];},this);var _191=this.inlineEditBox.width;if(_191=="100%"){_18d+="width:100%;";this.domNode.style.display="block";}else{_18d+="width:"+(_191+(Number(_191)==_191?"px":""))+";";}var _192=lang.delegate(this.inlineEditBox.editorParams,{style:_18d,dir:this.dir,lang:this.lang,textDir:this.textDir});_192["displayedValue" in cls.prototype?"displayedValue":"value"]=this.value;this.editWidget=new cls(_192,this.editorPlaceholder);if(this.inlineEditBox.autoSave){_17f.destroy(this.buttonContainer);}},postCreate:function(){this.inherited(arguments);var ew=this.editWidget;if(this.inlineEditBox.autoSave){this.connect(ew,"onChange","_onChange");this.connect(ew,"onKeyPress","_onKeyPress");}else{if("intermediateChanges" in ew){ew.set("intermediateChanges",true);this.connect(ew,"onChange","_onIntermediateChange");this.saveButton.set("disabled",true);}}},_onIntermediateChange:function(){this.saveButton.set("disabled",(this.getValue()==this._resetValue)||!this.enableSave());},destroy:function(){this.editWidget.destroy(true);this.inherited(arguments);},getValue:function(){var ew=this.editWidget;return String(ew.get("displayedValue" in ew?"displayedValue":"value"));},_onKeyPress:function(e){if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing){if(e.altKey||e.ctrlKey){return;}if(e.charOrCode==keys.ESCAPE){_181.stop(e);this.cancel(true);}else{if(e.charOrCode==keys.ENTER&&e.target.tagName=="INPUT"){_181.stop(e);this._onChange();}}}},_onBlur:function(){this.inherited(arguments);if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing){if(this.getValue()==this._resetValue){this.cancel(false);}else{if(this.enableSave()){this.save(false);}}}},_onChange:function(){if(this.inlineEditBox.autoSave&&this.inlineEditBox.editing&&this.enableSave()){fm.focus(this.inlineEditBox.displayNode);}},enableSave:function(){return (this.editWidget.isValid?this.editWidget.isValid():true);},focus:function(){this.editWidget.focus();setTimeout(lang.hitch(this,function(){if(this.editWidget.focusNode&&this.editWidget.focusNode.tagName=="INPUT"){_188.selectInputText(this.editWidget.focusNode);}}),0);}});var _193=_17b("dijit.InlineEditBox",_183,{editing:false,autoSave:true,buttonSave:"",buttonCancel:"",renderAsHtml:false,editor:_189,editorWrapper:_18b,editorParams:{},disabled:false,onChange:function(){},onCancel:function(){},width:"100%",value:"",noValueIndicator:has("ie")<=6?" ✍ ":" ✍ ",constructor:function(){this.editorParams={};},postMixInProperties:function(){this.inherited(arguments);this.displayNode=this.srcNodeRef;var _194={ondijitclick:"_onClick",onmouseover:"_onMouseOver",onmouseout:"_onMouseOut",onfocus:"_onMouseOver",onblur:"_onMouseOut"};for(var name in _194){this.connect(this.displayNode,name,_194[name]);}this.displayNode.setAttribute("role","button");if(!this.displayNode.getAttribute("tabIndex")){this.displayNode.setAttribute("tabIndex",0);}if(!this.value&&!("value" in this.params)){this.value=lang.trim(this.renderAsHtml?this.displayNode.innerHTML:(this.displayNode.innerText||this.displayNode.textContent||""));}if(!this.value){this.displayNode.innerHTML=this.noValueIndicator;}_17e.add(this.displayNode,"dijitInlineEditBoxDisplayMode");},setDisabled:function(_195){_182.deprecated("dijit.InlineEditBox.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");this.set("disabled",_195);},_setDisabledAttr:function(_196){this.domNode.setAttribute("aria-disabled",_196);if(_196){this.displayNode.removeAttribute("tabIndex");}else{this.displayNode.setAttribute("tabIndex",0);}_17e.toggle(this.displayNode,"dijitInlineEditBoxDisplayModeDisabled",_196);this._set("disabled",_196);},_onMouseOver:function(){if(!this.disabled){_17e.add(this.displayNode,"dijitInlineEditBoxDisplayModeHover");}},_onMouseOut:function(){_17e.remove(this.displayNode,"dijitInlineEditBoxDisplayModeHover");},_onClick:function(e){if(this.disabled){return;}if(e){_181.stop(e);}this._onMouseOut();setTimeout(lang.hitch(this,"edit"),0);},edit:function(){if(this.disabled||this.editing){return;}this._set("editing",true);this._savedPosition=_180.get(this.displayNode,"position")||"static";this._savedOpacity=_180.get(this.displayNode,"opacity")||"1";this._savedTabIndex=_17d.get(this.displayNode,"tabIndex")||"0";if(this.wrapperWidget){var ew=this.wrapperWidget.editWidget;ew.set("displayedValue" in ew?"displayedValue":"value",this.value);}else{var _197=_17f.create("span",null,this.domNode,"before");var ewc=typeof this.editorWrapper=="string"?lang.getObject(this.editorWrapper):this.editorWrapper;this.wrapperWidget=new ewc({value:this.value,buttonSave:this.buttonSave,buttonCancel:this.buttonCancel,dir:this.dir,lang:this.lang,tabIndex:this._savedTabIndex,editor:this.editor,inlineEditBox:this,sourceStyle:_180.getComputedStyle(this.displayNode),save:lang.hitch(this,"save"),cancel:lang.hitch(this,"cancel"),textDir:this.textDir},_197);if(!this._started){this.startup();}}var ww=this.wrapperWidget;_180.set(this.displayNode,{position:"absolute",opacity:"0"});_180.set(ww.domNode,{position:this._savedPosition,visibility:"visible",opacity:"1"});_17d.set(this.displayNode,"tabIndex","-1");_17c.when(ww.editWidget.onLoadDeferred,function(){setTimeout(function(){ww.focus();ww._resetValue=ww.getValue();},0);});},_onBlur:function(){this.inherited(arguments);if(!this.editing){}},destroy:function(){if(this.wrapperWidget&&!this.wrapperWidget._destroyed){this.wrapperWidget.destroy();delete this.wrapperWidget;}this.inherited(arguments);},_showText:function(_198){var ww=this.wrapperWidget;_180.set(ww.domNode,{position:"absolute",visibility:"hidden",opacity:"0"});_180.set(this.displayNode,{position:this._savedPosition,opacity:this._savedOpacity});_17d.set(this.displayNode,"tabIndex",this._savedTabIndex);if(_198){fm.focus(this.displayNode);}},save:function(_199){if(this.disabled||!this.editing){return;}this._set("editing",false);var ww=this.wrapperWidget;var _19a=ww.getValue();this.set("value",_19a);this._showText(_199);},setValue:function(val){_182.deprecated("dijit.InlineEditBox.setValue() is deprecated. Use set('value', ...) instead.","","2.0");return this.set("value",val);},_setValueAttr:function(val){val=lang.trim(val);var _19b=this.renderAsHtml?val:val.replace(/&/gm,"&").replace(//gm,">").replace(/"/gm,""").replace(/\n/g," ");this.displayNode.innerHTML=_19b||this.noValueIndicator;this._set("value",val);if(this._started){setTimeout(lang.hitch(this,"onChange",val),0);}if(this.textDir=="auto"){this.applyTextDir(this.displayNode,this.displayNode.innerText);}},getValue:function(){_182.deprecated("dijit.InlineEditBox.getValue() is deprecated. Use get('value') instead.","","2.0");return this.get("value");},cancel:function(_19c){if(this.disabled||!this.editing){return;}this._set("editing",false);setTimeout(lang.hitch(this,"onCancel"),0);this._showText(_19c);},_setTextDirAttr:function(_19d){if(!this._created||this.textDir!=_19d){this._set("textDir",_19d);this.applyTextDir(this.displayNode,this.displayNode.innerText);this.displayNode.align=this.dir=="rtl"?"right":"left";}}});_193._InlineEditor=_18b;return _193;});},"dijit/form/_RadioButtonMixin":function(){define("dijit/form/_RadioButtonMixin",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/_base/event","dojo/_base/lang","dojo/query","dojo/_base/window","../registry"],function(_19e,_19f,_1a0,_1a1,lang,_1a2,win,_1a3){return _19f("dijit.form._RadioButtonMixin",null,{type:"radio",_getRelatedWidgets:function(){var ary=[];_1a2("input[type=radio]",this.focusNode.form||win.doc).forEach(lang.hitch(this,function(_1a4){if(_1a4.name==this.name&&_1a4.form==this.focusNode.form){var _1a5=_1a3.getEnclosingWidget(_1a4);if(_1a5){ary.push(_1a5);}}}));return ary;},_setCheckedAttr:function(_1a6){this.inherited(arguments);if(!this._created){return;}if(_1a6){_19e.forEach(this._getRelatedWidgets(),lang.hitch(this,function(_1a7){if(_1a7!=this&&_1a7.checked){_1a7.set("checked",false);}}));}},_onClick:function(e){if(this.checked||this.disabled){_1a1.stop(e);return false;}if(this.readOnly){_1a1.stop(e);_19e.forEach(this._getRelatedWidgets(),lang.hitch(this,function(_1a8){_1a0.set(this.focusNode||this.domNode,"checked",_1a8.checked);}));return false;}return this.inherited(arguments);}});});},"dijit/form/_ListMouseMixin":function(){define("dijit/form/_ListMouseMixin",["dojo/_base/declare","dojo/_base/event","dojo/touch","./_ListBase"],function(_1a9,_1aa,_1ab,_1ac){return _1a9("dijit.form._ListMouseMixin",_1ac,{postCreate:function(){this.inherited(arguments);this.connect(this.domNode,"onclick",function(evt){this._onClick(evt,this._getTarget(evt));});this.connect(this.domNode,"onmousedown","_onMouseDown");this.connect(this.domNode,"onmouseup","_onMouseUp");this.connect(this.domNode,"onmouseover","_onMouseOver");this.connect(this.domNode,"onmouseout","_onMouseOut");},_onClick:function(evt,_1ad){this._setSelectedAttr(_1ad,false);if(this._deferredClick){this._deferredClick.remove();}this._deferredClick=this.defer(function(){this._deferredClick=null;this.onClick(_1ad);});},_onMouseDown:function(evt){if(this._hoveredNode){this.onUnhover(this._hoveredNode);this._hoveredNode=null;}this._isDragging=true;this._setSelectedAttr(this._getTarget(evt),false);},_onMouseUp:function(evt){this._isDragging=false;var _1ae=this._getSelectedAttr();var _1af=this._getTarget(evt);var _1b0=this._hoveredNode;if(_1ae&&_1af==_1ae){this.defer(function(){this._onClick(evt,_1ae);});}else{if(_1b0){this.defer(function(){this._onClick(evt,_1b0);});}}},_onMouseOut:function(){if(this._hoveredNode){this.onUnhover(this._hoveredNode);if(this._getSelectedAttr()==this._hoveredNode){this.onSelect(this._hoveredNode);}this._hoveredNode=null;}if(this._isDragging){this._cancelDrag=(new Date()).getTime()+1000;}},_onMouseOver:function(evt){if(this._cancelDrag){var time=(new Date()).getTime();if(time>this._cancelDrag){this._isDragging=false;}this._cancelDrag=null;}var node=this._getTarget(evt);if(!node){return;}if(this._hoveredNode!=node){if(this._hoveredNode){this._onMouseOut({target:this._hoveredNode});}if(node&&node.parentNode==this.containerNode){if(this._isDragging){this._setSelectedAttr(node,false);}else{this._hoveredNode=node;this.onHover(node);}}}}});});},"url:dijit/form/templates/DropDownBox.html":"\n","dijit/form/NumberTextBox":function(){define("dijit/form/NumberTextBox",["dojo/_base/declare","dojo/_base/lang","dojo/number","./RangeBoundTextBox"],function(_1b1,lang,_1b2,_1b3){var _1b4=_1b1("dijit.form.NumberTextBoxMixin",null,{regExpGen:_1b2.regexp,value:NaN,editOptions:{pattern:"#.######"},_formatter:_1b2.format,postMixInProperties:function(){this.inherited(arguments);this._set("type","text");},_setConstraintsAttr:function(_1b5){var _1b6=typeof _1b5.places=="number"?_1b5.places:0;if(_1b6){_1b6++;}if(typeof _1b5.max!="number"){_1b5.max=9*Math.pow(10,15-_1b6);}if(typeof _1b5.min!="number"){_1b5.min=-9*Math.pow(10,15-_1b6);}this.inherited(arguments,[_1b5]);if(this.focusNode&&this.focusNode.value&&!isNaN(this.value)){this.set("value",this.value);}},_onFocus:function(){if(this.disabled){return;}var val=this.get("value");if(typeof val=="number"&&!isNaN(val)){var _1b7=this.format(val,this.constraints);if(_1b7!==undefined){this.textbox.value=_1b7;}}this.inherited(arguments);},format:function(_1b8,_1b9){var _1ba=String(_1b8);if(typeof _1b8!="number"){return _1ba;}if(isNaN(_1b8)){return "";}if(!("rangeCheck" in this&&this.rangeCheck(_1b8,_1b9))&&_1b9.exponent!==false&&/\de[-+]?\d/i.test(_1ba)){return _1ba;}if(this.editOptions&&this.focused){_1b9=lang.mixin({},_1b9,this.editOptions);}return this._formatter(_1b8,_1b9);},_parser:_1b2.parse,parse:function(_1bb,_1bc){var v=this._parser(_1bb,lang.mixin({},_1bc,(this.editOptions&&this.focused)?this.editOptions:{}));if(this.editOptions&&this.focused&&isNaN(v)){v=this._parser(_1bb,_1bc);}return v;},_getDisplayedValueAttr:function(){var v=this.inherited(arguments);return isNaN(v)?this.textbox.value:v;},filter:function(_1bd){return (_1bd===null||_1bd===""||_1bd===undefined)?NaN:this.inherited(arguments);},serialize:function(_1be,_1bf){return (typeof _1be!="number"||isNaN(_1be))?"":this.inherited(arguments);},_setBlurValue:function(){var val=lang.hitch(lang.mixin({},this,{focused:true}),"get")("value");this._setValueAttr(val,true);},_setValueAttr:function(_1c0,_1c1,_1c2){if(_1c0!==undefined&&_1c2===undefined){_1c2=String(_1c0);if(typeof _1c0=="number"){if(isNaN(_1c0)){_1c2="";}else{if(("rangeCheck" in this&&this.rangeCheck(_1c0,this.constraints))||this.constraints.exponent===false||!/\de[-+]?\d/i.test(_1c2)){_1c2=undefined;}}}else{if(!_1c0){_1c2="";_1c0=NaN;}else{_1c0=undefined;}}}this.inherited(arguments,[_1c0,_1c1,_1c2]);},_getValueAttr:function(){var v=this.inherited(arguments);if(isNaN(v)&&this.textbox.value!==""){if(this.constraints.exponent!==false&&/\de[-+]?\d/i.test(this.textbox.value)&&(new RegExp("^"+_1b2._realNumberRegexp(lang.mixin({},this.constraints))+"$").test(this.textbox.value))){var n=Number(this.textbox.value);return isNaN(n)?undefined:n;}else{return undefined;}}else{return v;}},isValid:function(_1c3){if(!this.focused||this._isEmpty(this.textbox.value)){return this.inherited(arguments);}else{var v=this.get("value");if(!isNaN(v)&&this.rangeCheck(v,this.constraints)){if(this.constraints.exponent!==false&&/\de[-+]?\d/i.test(this.textbox.value)){return true;}else{return this.inherited(arguments);}}else{return false;}}}});var _1c4=_1b1("dijit.form.NumberTextBox",[_1b3,_1b4],{baseClass:"dijitTextBox dijitNumberTextBox"});_1c4.Mixin=_1b4;return _1c4;});},"dijit/form/TimeTextBox":function(){define("dijit/form/TimeTextBox",["dojo/_base/declare","dojo/keys","dojo/_base/lang","../_TimePicker","./_DateTimeTextBox"],function(_1c5,keys,lang,_1c6,_1c7){return _1c5("dijit.form.TimeTextBox",_1c7,{baseClass:"dijitTextBox dijitComboBox dijitTimeTextBox",popupClass:_1c6,_selector:"time",value:new Date(""),_onKey:function(evt){if(this.disabled||this.readOnly){return;}this.inherited(arguments);switch(evt.keyCode){case keys.ENTER:case keys.TAB:case keys.ESCAPE:case keys.DOWN_ARROW:case keys.UP_ARROW:break;default:setTimeout(lang.hitch(this,function(){var val=this.get("displayedValue");this.filterString=(val&&!this.parse(val,this.constraints))?val.toLowerCase():"";if(this._opened){this.closeDropDown();}this.openDropDown();}),0);}}});});},"url:dijit/form/templates/Button.html":"● \n","dijit/form/CurrencyTextBox":function(){define("dijit/form/CurrencyTextBox",["dojo/currency","dojo/_base/declare","dojo/_base/lang","./NumberTextBox"],function(_1c8,_1c9,lang,_1ca){return _1c9("dijit.form.CurrencyTextBox",_1ca,{currency:"",baseClass:"dijitTextBox dijitCurrencyTextBox",regExpGen:function(_1cb){return "("+(this.focused?this.inherited(arguments,[lang.mixin({},_1cb,this.editOptions)])+"|":"")+_1c8.regexp(_1cb)+")";},_formatter:_1c8.format,_parser:_1c8.parse,parse:function(_1cc,_1cd){var v=this.inherited(arguments);if(isNaN(v)&&/\d+/.test(_1cc)){v=lang.hitch(lang.mixin({},this,{_parser:_1ca.prototype._parser}),"inherited")(arguments);}return v;},_setConstraintsAttr:function(_1ce){if(!_1ce.currency&&this.currency){_1ce.currency=this.currency;}this.inherited(arguments,[_1c8._mixInDefaults(lang.mixin(_1ce,{exponent:false}))]);}});});},"dojo/_base/url":function(){define("dojo/_base/url",["./kernel"],function(dojo){var ore=new RegExp("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$"),ire=new RegExp("^((([^\\[:]+):)?([^@]+)@)?(\\[([^\\]]+)\\]|([^\\[:]*))(:([0-9]+))?$"),_1cf=function(){var n=null,_1d0=arguments,uri=[_1d0[0]];for(var i=1;i<_1d0.length;i++){if(!_1d0[i]){continue;}var _1d1=new _1cf(_1d0[i]+""),_1d2=new _1cf(uri[0]+"");if(_1d1.path==""&&!_1d1.scheme&&!_1d1.authority&&!_1d1.query){if(_1d1.fragment!=n){_1d2.fragment=_1d1.fragment;}_1d1=_1d2;}else{if(!_1d1.scheme){_1d1.scheme=_1d2.scheme;if(!_1d1.authority){_1d1.authority=_1d2.authority;if(_1d1.path.charAt(0)!="/"){var path=_1d2.path.substring(0,_1d2.path.lastIndexOf("/")+1)+_1d1.path;var segs=path.split("/");for(var j=0;j0&&!(j==1&&segs[0]=="")&&segs[j]==".."&&segs[j-1]!=".."){if(j==(segs.length-1)){segs.splice(j,1);segs[j-1]="";}else{segs.splice(j-1,2);j-=2;}}}}_1d1.path=segs.join("/");}}}}uri=[];if(_1d1.scheme){uri.push(_1d1.scheme,":");}if(_1d1.authority){uri.push("//",_1d1.authority);}uri.push(_1d1.path);if(_1d1.query){uri.push("?",_1d1.query);}if(_1d1.fragment){uri.push("#",_1d1.fragment);}}this.uri=uri.join("");var r=this.uri.match(ore);this.scheme=r[2]||(r[1]?"":n);this.authority=r[4]||(r[3]?"":n);this.path=r[5];this.query=r[7]||(r[6]?"":n);this.fragment=r[9]||(r[8]?"":n);if(this.authority!=n){r=this.authority.match(ire);this.user=r[3]||n;this.password=r[4]||n;this.host=r[6]||r[7];this.port=r[9]||n;}};_1cf.prototype.toString=function(){return this.uri;};return dojo._Url=_1cf;});},"url:dijit/form/templates/CheckBox.html":"
\n","url:dijit/form/templates/VerticalSlider.html":"\n","dijit/Tooltip":function(){require({cache:{"url:dijit/templates/Tooltip.html":"\n"}});define("dijit/Tooltip",["dojo/_base/array","dojo/_base/declare","dojo/_base/fx","dojo/dom","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/lang","dojo/_base/sniff","dojo/_base/window","./_base/manager","./place","./_Widget","./_TemplatedMixin","./BackgroundIframe","dojo/text!./templates/Tooltip.html","."],function(_1d3,_1d4,fx,dom,_1d5,_1d6,_1d7,lang,has,win,_1d8,_1d9,_1da,_1db,_1dc,_1dd,_1de){var _1df=_1d4("dijit._MasterTooltip",[_1da,_1db],{duration:_1d8.defaultDuration,templateString:_1dd,postCreate:function(){win.body().appendChild(this.domNode);this.bgIframe=new _1dc(this.domNode);this.fadeIn=fx.fadeIn({node:this.domNode,duration:this.duration,onEnd:lang.hitch(this,"_onShow")});this.fadeOut=fx.fadeOut({node:this.domNode,duration:this.duration,onEnd:lang.hitch(this,"_onHide")});},show:function(_1e0,_1e1,_1e2,rtl,_1e3){if(this.aroundNode&&this.aroundNode===_1e1&&this.containerNode.innerHTML==_1e0){return;}this.domNode.width="auto";if(this.fadeOut.status()=="playing"){this._onDeck=arguments;return;}this.containerNode.innerHTML=_1e0;if(_1e3){this.set("textDir",_1e3);}this.containerNode.align=rtl?"right":"left";var pos=_1d9.around(this.domNode,_1e1,_1e2&&_1e2.length?_1e2:_1e4.defaultPosition,!rtl,lang.hitch(this,"orient"));var _1e5=pos.aroundNodePos;if(pos.corner.charAt(0)=="M"&&pos.aroundCorner.charAt(0)=="M"){this.connectorNode.style.top=_1e5.y+((_1e5.h-this.connectorNode.offsetHeight)>>1)-pos.y+"px";this.connectorNode.style.left="";}else{if(pos.corner.charAt(1)=="M"&&pos.aroundCorner.charAt(1)=="M"){this.connectorNode.style.left=_1e5.x+((_1e5.w-this.connectorNode.offsetWidth)>>1)-pos.x+"px";}}_1d7.set(this.domNode,"opacity",0);this.fadeIn.play();this.isShowingNow=true;this.aroundNode=_1e1;},orient:function(node,_1e6,_1e7,_1e8,_1e9){this.connectorNode.style.top="";var _1ea=_1e8.w-this.connectorNode.offsetWidth;node.className="dijitTooltip "+{"MR-ML":"dijitTooltipRight","ML-MR":"dijitTooltipLeft","TM-BM":"dijitTooltipAbove","BM-TM":"dijitTooltipBelow","BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft","BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[_1e6+"-"+_1e7];this.domNode.style.width="auto";var size=_1d6.getContentBox(this.domNode);var _1eb=Math.min((Math.max(_1ea,1)),size.w);var _1ec=_1eb_1eb){_1ed=_1ed+_1d7.get(this.domNode,"paddingLeft")+_1d7.get(this.domNode,"paddingRight");this.domNode.style.width=_1ed+"px";}}if(_1e7.charAt(0)=="B"&&_1e6.charAt(0)=="B"){var mb=_1d6.getMarginBox(node);var _1ee=this.connectorNode.offsetHeight;if(mb.h>_1e8.h){var _1ef=_1e8.h-((_1e9.h+_1ee)>>1);this.connectorNode.style.top=_1ef+"px";this.connectorNode.style.bottom="";}else{this.connectorNode.style.bottom=Math.min(Math.max(_1e9.h/2-_1ee/2,0),mb.h-_1ee)+"px";this.connectorNode.style.top="";}}else{this.connectorNode.style.top="";this.connectorNode.style.bottom="";}return Math.max(0,size.w-_1ea);},_onShow:function(){if(has("ie")){this.domNode.style.filter="";}},hide:function(_1f0){if(this._onDeck&&this._onDeck[1]==_1f0){this._onDeck=null;}else{if(this.aroundNode===_1f0){this.fadeIn.stop();this.isShowingNow=false;this.aroundNode=null;this.fadeOut.play();}else{}}},_onHide:function(){this.domNode.style.cssText="";this.containerNode.innerHTML="";if(this._onDeck){this.show.apply(this,this._onDeck);this._onDeck=null;}},_setAutoTextDir:function(node){this.applyTextDir(node,has("ie")?node.outerText:node.textContent);_1d3.forEach(node.children,function(_1f1){this._setAutoTextDir(_1f1);},this);},_setTextDirAttr:function(_1f2){this._set("textDir",_1f2);if(_1f2=="auto"){this._setAutoTextDir(this.containerNode);}else{this.containerNode.dir=this.textDir;}}});_1de.showTooltip=function(_1f3,_1f4,_1f5,rtl,_1f6){if(_1f5){_1f5=_1d3.map(_1f5,function(val){return {after:"after-centered",before:"before-centered"}[val]||val;});}if(!_1e4._masterTT){_1de._masterTT=_1e4._masterTT=new _1df();}return _1e4._masterTT.show(_1f3,_1f4,_1f5,rtl,_1f6);};_1de.hideTooltip=function(_1f7){return _1e4._masterTT&&_1e4._masterTT.hide(_1f7);};var _1e4=_1d4("dijit.Tooltip",_1da,{label:"",showDelay:400,connectId:[],position:[],_setConnectIdAttr:function(_1f8){_1d3.forEach(this._connections||[],function(_1f9){_1d3.forEach(_1f9,lang.hitch(this,"disconnect"));},this);this._connectIds=_1d3.filter(lang.isArrayLike(_1f8)?_1f8:(_1f8?[_1f8]:[]),function(id){return dom.byId(id);});this._connections=_1d3.map(this._connectIds,function(id){var node=dom.byId(id);return [this.connect(node,"onmouseenter","_onHover"),this.connect(node,"onmouseleave","_onUnHover"),this.connect(node,"onfocus","_onHover"),this.connect(node,"onblur","_onUnHover")];},this);this._set("connectId",_1f8);},addTarget:function(node){var id=node.id||node;if(_1d3.indexOf(this._connectIds,id)==-1){this.set("connectId",this._connectIds.concat(id));}},removeTarget:function(node){var id=node.id||node,idx=_1d3.indexOf(this._connectIds,id);if(idx>=0){this._connectIds.splice(idx,1);this.set("connectId",this._connectIds);}},buildRendering:function(){this.inherited(arguments);_1d5.add(this.domNode,"dijitTooltipData");},startup:function(){this.inherited(arguments);var ids=this.connectId;_1d3.forEach(lang.isArrayLike(ids)?ids:[ids],this.addTarget,this);},_onHover:function(e){if(!this._showTimer){var _1fa=e.target;this._showTimer=setTimeout(lang.hitch(this,function(){this.open(_1fa);}),this.showDelay);}},_onUnHover:function(){if(this._focus){return;}if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}this.close();},open:function(_1fb){if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}_1e4.show(this.label||this.domNode.innerHTML,_1fb,this.position,!this.isLeftToRight(),this.textDir);this._connectNode=_1fb;this.onShow(_1fb,this.position);},close:function(){if(this._connectNode){_1e4.hide(this._connectNode);delete this._connectNode;this.onHide();}if(this._showTimer){clearTimeout(this._showTimer);delete this._showTimer;}},onShow:function(){},onHide:function(){},uninitialize:function(){this.close();this.inherited(arguments);}});_1e4._MasterTooltip=_1df;_1e4.show=_1de.showTooltip;_1e4.hide=_1de.hideTooltip;_1e4.defaultPosition=["after-centered","before-centered"];return _1e4;});},"dijit/form/VerticalSlider":function(){require({cache:{"url:dijit/form/templates/VerticalSlider.html":"\n"}});define("dijit/form/VerticalSlider",["dojo/_base/declare","./HorizontalSlider","dojo/text!./templates/VerticalSlider.html"],function(_1fc,_1fd,_1fe){return _1fc("dijit.form.VerticalSlider",_1fd,{templateString:_1fe,_mousePixelCoord:"pageY",_pixelCount:"h",_startingPixelCoord:"y",_handleOffsetCoord:"top",_progressPixelSize:"height",_descending:true,_isReversed:function(){return this._descending;}});});},"dijit/form/DropDownButton":function(){require({cache:{"url:dijit/form/templates/DropDownButton.html":"▼ \n"}});define("dijit/form/DropDownButton",["dojo/_base/declare","dojo/_base/lang","dojo/query","../registry","../popup","./Button","../_Container","../_HasDropDown","dojo/text!./templates/DropDownButton.html"],function(_1ff,lang,_200,_201,_202,_203,_204,_205,_206){return _1ff("dijit.form.DropDownButton",[_203,_204,_205],{baseClass:"dijitDropDownButton",templateString:_206,_fillContent:function(){if(this.srcNodeRef){var _207=_200("*",this.srcNodeRef);this.inherited(arguments,[_207[0]]);this.dropDownContainer=this.srcNodeRef;}},startup:function(){if(this._started){return;}if(!this.dropDown&&this.dropDownContainer){var _208=_200("[widgetId]",this.dropDownContainer)[0];this.dropDown=_201.byNode(_208);delete this.dropDownContainer;}if(this.dropDown){_202.hide(this.dropDown);}this.inherited(arguments);},isLoaded:function(){var _209=this.dropDown;return (!!_209&&(!_209.href||_209.isLoaded));},loadDropDown:function(_20a){var _20b=this.dropDown;var _20c=_20b.on("load",lang.hitch(this,function(){_20c.remove();_20a();}));_20b.refresh();},isFocusable:function(){return this.inherited(arguments)&&!this._mouseDown;}});});},"dijit/layout/_ContentPaneResizeMixin":function(){define("dijit/layout/_ContentPaneResizeMixin",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/_base/lang","dojo/query","dojo/_base/sniff","dojo/_base/window","../registry","./utils","../_Contained"],function(_20d,_20e,_20f,_210,_211,lang,_212,has,win,_213,_214,_215){return _20e("dijit.layout._ContentPaneResizeMixin",null,{doLayout:true,isLayoutContainer:true,startup:function(){if(this._started){return;}var _216=this.getParent();this._childOfLayoutWidget=_216&&_216.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);if(this._isShown()){this._onShow();}if(!this._childOfLayoutWidget){this.connect(has("ie")?this.domNode:win.global,"onresize",function(){this._needLayout=!this._childOfLayoutWidget;this.resize();});}},_checkIfSingleChild:function(){var _217=_212("> *",this.containerNode).filter(function(node){return node.tagName!=="SCRIPT";}),_218=_217.filter(function(node){return _20f.has(node,"data-dojo-type")||_20f.has(node,"dojoType")||_20f.has(node,"widgetId");}),_219=_20d.filter(_218.map(_213.byNode),function(_21a){return _21a&&_21a.domNode&&_21a.resize;});if(_217.length==_218.length&&_219.length==1){this._singleChild=_219[0];}else{delete this._singleChild;}_210.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild);},resize:function(_21b,_21c){if(!this._wasShown&&this.open!==false){this._onShow();}this._resizeCalled=true;this._scheduleLayout(_21b,_21c);},_scheduleLayout:function(_21d,_21e){if(this._isShown()){this._layout(_21d,_21e);}else{this._needLayout=true;this._changeSize=_21d;this._resultSize=_21e;}},_layout:function(_21f,_220){if(_21f){_211.setMarginBox(this.domNode,_21f);}var cn=this.containerNode;if(cn===this.domNode){var mb=_220||{};lang.mixin(mb,_21f||{});if(!("h" in mb)||!("w" in mb)){mb=lang.mixin(_211.getMarginBox(cn),mb);}this._contentBox=_214.marginBox2contentBox(cn,mb);}else{this._contentBox=_211.getContentBox(cn);}this._layoutChildren();delete this._needLayout;},_layoutChildren:function(){if(this.doLayout){this._checkIfSingleChild();}if(this._singleChild&&this._singleChild.resize){var cb=this._contentBox||_211.getContentBox(this.containerNode);this._singleChild.resize({w:cb.w,h:cb.h});}else{_20d.forEach(this.getChildren(),function(_221){if(_221.resize){_221.resize();}});}},_isShown:function(){if(this._childOfLayoutWidget){if(this._resizeCalled&&"open" in this){return this.open;}return this._resizeCalled;}else{if("open" in this){return this.open;}else{var node=this.domNode,_222=this.domNode.parentNode;return (node.style.display!="none")&&(node.style.visibility!="hidden")&&!_210.contains(node,"dijitHidden")&&_222&&_222.style&&(_222.style.display!="none");}}},_onShow:function(){if(this._needLayout){this._layout(this._changeSize,this._resultSize);}this.inherited(arguments);this._wasShown=true;}});});},"dijit/form/RangeBoundTextBox":function(){define("dijit/form/RangeBoundTextBox",["dojo/_base/declare","dojo/i18n","./MappedTextBox"],function(_223,i18n,_224){return _223("dijit.form.RangeBoundTextBox",_224,{rangeMessage:"",rangeCheck:function(_225,_226){return ("min" in _226?(this.compare(_225,_226.min)>=0):true)&&("max" in _226?(this.compare(_225,_226.max)<=0):true);},isInRange:function(){return this.rangeCheck(this.get("value"),this.constraints);},_isDefinitelyOutOfRange:function(){var val=this.get("value");var _227=false;var _228=false;if("min" in this.constraints){var min=this.constraints.min;min=this.compare(val,((typeof min=="number")&&min>=0&&val!=0)?0:min);_227=(typeof min=="number")&&min<0;}if("max" in this.constraints){var max=this.constraints.max;max=this.compare(val,((typeof max!="number")||max>0)?max:0);_228=(typeof max=="number")&&max>0;}return _227||_228;},_isValidSubset:function(){return this.inherited(arguments)&&!this._isDefinitelyOutOfRange();},isValid:function(_229){return this.inherited(arguments)&&((this._isEmpty(this.textbox.value)&&!this.required)||this.isInRange(_229));},getErrorMessage:function(_22a){var v=this.get("value");if(v!==null&&v!==""&&v!==undefined&&(typeof v!="number"||!isNaN(v))&&!this.isInRange(_22a)){return this.rangeMessage;}return this.inherited(arguments);},postMixInProperties:function(){this.inherited(arguments);if(!this.rangeMessage){this.messages=i18n.getLocalization("dijit.form","validate",this.lang);this.rangeMessage=this.messages.rangeMessage;}},_setConstraintsAttr:function(_22b){this.inherited(arguments);if(this.focusNode){if(this.constraints.min!==undefined){this.focusNode.setAttribute("aria-valuemin",this.constraints.min);}else{this.focusNode.removeAttribute("aria-valuemin");}if(this.constraints.max!==undefined){this.focusNode.setAttribute("aria-valuemax",this.constraints.max);}else{this.focusNode.removeAttribute("aria-valuemax");}}},_setValueAttr:function(_22c,_22d){this.focusNode.setAttribute("aria-valuenow",_22c);this.inherited(arguments);},applyTextDir:function(){}});});},"dojo/store/util/SimpleQueryEngine":function(){define("dojo/store/util/SimpleQueryEngine",["../../_base/array"],function(_22e){return function(_22f,_230){switch(typeof _22f){default:throw new Error("Can not query with a "+typeof _22f);case "object":case "undefined":var _231=_22f;_22f=function(_232){for(var key in _231){var _233=_231[key];if(_233&&_233.test){if(!_233.test(_232[key])){return false;}}else{if(_233!=_232[key]){return false;}}}return true;};break;case "string":if(!this[_22f]){throw new Error("No filter function "+_22f+" was found in store");}_22f=this[_22f];case "function":}function _234(_235){var _236=_22e.filter(_235,_22f);if(_230&&_230.sort){_236.sort(function(a,b){for(var sort,i=0;sort=_230.sort[i];i++){var _237=a[sort.attribute];var _238=b[sort.attribute];_237=_237!=null?_237.valueOf():_237;_238=_238!=null?_238.valueOf():_238;if(_237!=_238){return !!sort.descending==_237>_238?-1:1;}}return 0;});}if(_230&&(_230.start||_230.count)){var _239=_236.length;_236=_236.slice(_230.start||0,(_230.start||0)+(_230.count||Infinity));_236.total=_239;}return _236;};_234.matches=_22f;return _234;};});},"dijit/form/_ExpandingTextAreaMixin":function(){define("dijit/form/_ExpandingTextAreaMixin",["dojo/_base/declare","dojo/dom-construct","dojo/_base/lang","dojo/_base/window"],function(_23a,_23b,lang,win){var _23c;return _23a("dijit.form._ExpandingTextAreaMixin",null,{_setValueAttr:function(){this.inherited(arguments);this.resize();},postCreate:function(){this.inherited(arguments);var _23d=this.textbox;if(_23c==undefined){var te=_23b.create("textarea",{rows:"5",cols:"20",value:" ",style:{zoom:1,fontSize:"12px",height:"96px",overflow:"hidden",visibility:"hidden",position:"absolute",border:"5px solid white",margin:"0",padding:"0",boxSizing:"border-box",MsBoxSizing:"border-box",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box"}},win.body(),"last");_23c=te.scrollHeight>=te.clientHeight;win.body().removeChild(te);}this.connect(_23d,"onresize","_resizeLater");this.connect(_23d,"onfocus","_resizeLater");_23d.style.overflowY="hidden";},startup:function(){this.inherited(arguments);this._resizeLater();},_onInput:function(e){this.inherited(arguments);this.resize();},_estimateHeight:function(){var _23e=this.textbox;_23e.rows=(_23e.value.match(/\n/g)||[]).length+1;},_resizeLater:function(){this.defer("resize");},resize:function(){var _23f=this.textbox;function _240(){var _241=false;if(_23f.value===""){_23f.value=" ";_241=true;}var sh=_23f.scrollHeight;if(_241){_23f.value="";}return sh;};if(_23f.style.overflowY=="hidden"){_23f.scrollTop=0;}if(this.busyResizing){return;}this.busyResizing=true;if(_240()||_23f.offsetHeight){var newH=_240()+Math.max(_23f.offsetHeight-_23f.clientHeight,0);var _242=newH+"px";if(_242!=_23f.style.height){_23f.style.height=_242;_23f.rows=1;}if(_23c){var _243=_240(),_244=_243,_245=_23f.style.minHeight,_246=4,_247,_248=_23f.scrollTop;_23f.style.minHeight=_242;_23f.style.height="auto";while(newH>0){_23f.style.minHeight=Math.max(newH-_246,4)+"px";_247=_240();var _249=_244-_247;newH-=_249;if(_249<_246){break;}_244=_247;_246<<=1;}_23f.style.height=newH+"px";_23f.style.minHeight=_245;_23f.scrollTop=_248;}_23f.style.overflowY=_240()>_23f.clientHeight?"auto":"hidden";if(_23f.style.overflowY=="hidden"){_23f.scrollTop=0;}}else{this._estimateHeight();}this.busyResizing=false;}});});},"dijit/form/HorizontalRule":function(){define("dijit/form/HorizontalRule",["dojo/_base/declare","../_Widget","../_TemplatedMixin"],function(_24a,_24b,_24c){return _24a("dijit.form.HorizontalRule",[_24b,_24c],{templateString:"
",count:3,container:"containerNode",ruleStyle:"",_positionPrefix:"
",_genHTML:function(pos){return this._positionPrefix+pos+this._positionSuffix+this.ruleStyle+this._suffix;},_isHorizontal:true,buildRendering:function(){this.inherited(arguments);var _24d;if(this.count==1){_24d=this._genHTML(50,0);}else{var i;var _24e=100/(this.count-1);if(!this._isHorizontal||this.isLeftToRight()){_24d=this._genHTML(0,0);for(i=1;i
\n"}});define("dijit/form/_Spinner",["dojo/_base/declare","dojo/_base/event","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dijit/typematic","./RangeBoundTextBox","dojo/text!./templates/Spinner.html","./_TextBoxMixin"],function(_24f,_250,keys,lang,has,_251,_252,_253,_254){return _24f("dijit.form._Spinner",_252,{defaultTimeout:500,minimumTimeout:10,timeoutChangeRate:0.9,smallDelta:1,largeDelta:10,templateString:_253,baseClass:"dijitTextBox dijitSpinner",cssStateNodes:{"upArrowNode":"dijitUpArrowButton","downArrowNode":"dijitDownArrowButton"},adjust:function(val){return val;},_arrowPressed:function(_255,_256,_257){if(this.disabled||this.readOnly){return;}this._setValueAttr(this.adjust(this.get("value"),_256*_257),false);_254.selectInputText(this.textbox,this.textbox.value.length);},_arrowReleased:function(){this._wheelTimer=null;},_typematicCallback:function(_258,node,evt){var inc=this.smallDelta;if(node==this.textbox){var key=evt.charOrCode;inc=(key==keys.PAGE_UP||key==keys.PAGE_DOWN)?this.largeDelta:this.smallDelta;node=(key==keys.UP_ARROW||key==keys.PAGE_UP)?this.upArrowNode:this.downArrowNode;}if(_258==-1){this._arrowReleased(node);}else{this._arrowPressed(node,(node==this.upArrowNode)?1:-1,inc);}},_wheelTimer:null,_mouseWheeled:function(evt){_250.stop(evt);var _259=evt.wheelDelta/120;if(Math.floor(_259)!=_259){_259=evt.wheelDelta>0?1:-1;}var _25a=evt.detail?(evt.detail*-1):_259;if(_25a!==0){var node=this[(_25a>0?"upArrowNode":"downArrowNode")];this._arrowPressed(node,_25a,this.smallDelta);if(!this._wheelTimer){clearTimeout(this._wheelTimer);}this._wheelTimer=setTimeout(lang.hitch(this,"_arrowReleased",node),50);}},postCreate:function(){this.inherited(arguments);this.connect(this.domNode,!has("mozilla")?"onmousewheel":"DOMMouseScroll","_mouseWheeled");this._connects.push(_251.addListener(this.upArrowNode,this.textbox,{charOrCode:keys.UP_ARROW,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout));this._connects.push(_251.addListener(this.downArrowNode,this.textbox,{charOrCode:keys.DOWN_ARROW,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout));this._connects.push(_251.addListener(this.upArrowNode,this.textbox,{charOrCode:keys.PAGE_UP,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout));this._connects.push(_251.addListener(this.downArrowNode,this.textbox,{charOrCode:keys.PAGE_DOWN,ctrlKey:false,altKey:false,shiftKey:false,metaKey:false},this,"_typematicCallback",this.timeoutChangeRate,this.defaultTimeout,this.minimumTimeout));}});});},"dijit/form/Button":function(){require({cache:{"url:dijit/form/templates/Button.html":"● \n"}});define("dijit/form/Button",["require","dojo/_base/declare","dojo/dom-class","dojo/_base/kernel","dojo/_base/lang","dojo/ready","./_FormWidget","./_ButtonMixin","dojo/text!./templates/Button.html"],function(_25b,_25c,_25d,_25e,lang,_25f,_260,_261,_262){if(!_25e.isAsync){_25f(0,function(){var _263=["dijit/form/DropDownButton","dijit/form/ComboButton","dijit/form/ToggleButton"];_25b(_263);});}return _25c("dijit.form.Button",[_260,_261],{showLabel:true,iconClass:"dijitNoIcon",_setIconClassAttr:{node:"iconNode",type:"class"},baseClass:"dijitButton",templateString:_262,_setValueAttr:"valueNode",_onClick:function(e){var ok=this.inherited(arguments);if(ok){if(this.valueNode){this.valueNode.click();e.preventDefault();}}return ok;},_fillContent:function(_264){if(_264&&(!this.params||!("label" in this.params))){var _265=lang.trim(_264.innerHTML);if(_265){this.label=_265;}}},_setShowLabelAttr:function(val){if(this.containerNode){_25d.toggle(this.containerNode,"dijitDisplayNone",!val);}this._set("showLabel",val);},setLabel:function(_266){_25e.deprecated("dijit.form.Button.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");this.set("label",_266);},_setLabelAttr:function(_267){this.inherited(arguments);if(!this.showLabel&&!("title" in this.params)){this.titleNode.title=lang.trim(this.containerNode.innerText||this.containerNode.textContent||"");}}});});},"dijit/form/Form":function(){define("dijit/form/Form",["dojo/_base/declare","dojo/dom-attr","dojo/_base/event","dojo/_base/kernel","dojo/_base/sniff","../_Widget","../_TemplatedMixin","./_FormMixin","../layout/_ContentPaneResizeMixin"],function(_268,_269,_26a,_26b,has,_26c,_26d,_26e,_26f){return _268("dijit.form.Form",[_26c,_26d,_26e,_26f],{name:"",action:"",method:"",encType:"","accept-charset":"",accept:"",target:"",templateString:"",postMixInProperties:function(){this.nameAttrSetting=this.name?("name='"+this.name+"'"):"";this.inherited(arguments);},execute:function(){},onExecute:function(){},_setEncTypeAttr:function(_270){this.encType=_270;_269.set(this.domNode,"encType",_270);if(has("ie")){this.domNode.encoding=_270;}},reset:function(e){var faux={returnValue:true,preventDefault:function(){this.returnValue=false;},stopPropagation:function(){},currentTarget:e?e.target:this.domNode,target:e?e.target:this.domNode};if(!(this.onReset(faux)===false)&&faux.returnValue){this.inherited(arguments,[]);}},onReset:function(){return true;},_onReset:function(e){this.reset(e);_26a.stop(e);return false;},_onSubmit:function(e){var fp=this.constructor.prototype;if(this.execute!=fp.execute||this.onExecute!=fp.onExecute){_26b.deprecated("dijit.form.Form:execute()/onExecute() are deprecated. Use onSubmit() instead.","","2.0");this.onExecute();this.execute(this.getValues());}if(this.onSubmit(e)===false){_26a.stop(e);}},onSubmit:function(){return this.isValid();},submit:function(){if(!(this.onSubmit()===false)){this.containerNode.submit();}}});});},"dojo/store/Memory":function(){define("dojo/store/Memory",["../_base/declare","./util/QueryResults","./util/SimpleQueryEngine"],function(_271,_272,_273){return _271("dojo.store.Memory",null,{constructor:function(_274){for(var i in _274){this[i]=_274[i];}this.setData(this.data||[]);},data:null,idProperty:"id",index:null,queryEngine:_273,get:function(id){return this.data[this.index[id]];},getIdentity:function(_275){return _275[this.idProperty];},put:function(_276,_277){var data=this.data,_278=this.index,_279=this.idProperty;var id=(_277&&"id" in _277)?_277.id:_279 in _276?_276[_279]:Math.random();if(id in _278){if(_277&&_277.overwrite===false){throw new Error("Object already exists");}data[_278[id]]=_276;}else{_278[id]=data.push(_276)-1;}return id;},add:function(_27a,_27b){(_27b=_27b||{}).overwrite=false;return this.put(_27a,_27b);},remove:function(id){var _27c=this.index;var data=this.data;if(id in _27c){data.splice(_27c[id],1);this.setData(data);return true;}},query:function(_27d,_27e){return _272(this.queryEngine(_27d,_27e)(this.data));},setData:function(data){if(data.items){this.idProperty=data.identifier;data=this.data=data.items;}else{this.data=data;}this.index={};for(var i=0,l=data.length;i
\n","dijit/form/ComboBox":function(){define("dijit/form/ComboBox",["dojo/_base/declare","./ValidationTextBox","./ComboBoxMixin"],function(_27f,_280,_281){return _27f("dijit.form.ComboBox",[_280,_281],{});});},"dijit/form/_FormMixin":function(){define("dijit/form/_FormMixin",["dojo/_base/array","dojo/_base/declare","dojo/_base/kernel","dojo/_base/lang","dojo/window"],function(_282,_283,_284,lang,_285){return _283("dijit.form._FormMixin",null,{state:"",_getDescendantFormWidgets:function(_286){var res=[];_282.forEach(_286||this.getChildren(),function(_287){if("value" in _287){res.push(_287);}else{res=res.concat(this._getDescendantFormWidgets(_287.getChildren()));}},this);return res;},reset:function(){_282.forEach(this._getDescendantFormWidgets(),function(_288){if(_288.reset){_288.reset();}});},validate:function(){var _289=false;return _282.every(_282.map(this._getDescendantFormWidgets(),function(_28a){_28a._hasBeenBlurred=true;var _28b=_28a.disabled||!_28a.validate||_28a.validate();if(!_28b&&!_289){_285.scrollIntoView(_28a.containerNode||_28a.domNode);_28a.focus();_289=true;}return _28b;}),function(item){return item;});},setValues:function(val){_284.deprecated(this.declaredClass+"::setValues() is deprecated. Use set('value', val) instead.","","2.0");return this.set("value",val);},_setValueAttr:function(obj){var map={};_282.forEach(this._getDescendantFormWidgets(),function(_28c){if(!_28c.name){return;}var _28d=map[_28c.name]||(map[_28c.name]=[]);_28d.push(_28c);});for(var name in map){if(!map.hasOwnProperty(name)){continue;}var _28e=map[name],_28f=lang.getObject(name,false,obj);if(_28f===undefined){continue;}if(!lang.isArray(_28f)){_28f=[_28f];}if(typeof _28e[0].checked=="boolean"){_282.forEach(_28e,function(w){w.set("value",_282.indexOf(_28f,w.value)!=-1);});}else{if(_28e[0].multiple){_28e[0].set("value",_28f);}else{_282.forEach(_28e,function(w,i){w.set("value",_28f[i]);});}}}},getValues:function(){_284.deprecated(this.declaredClass+"::getValues() is deprecated. Use get('value') instead.","","2.0");return this.get("value");},_getValueAttr:function(){var obj={};_282.forEach(this._getDescendantFormWidgets(),function(_290){var name=_290.name;if(!name||_290.disabled){return;}var _291=_290.get("value");if(typeof _290.checked=="boolean"){if(/Radio/.test(_290.declaredClass)){if(_291!==false){lang.setObject(name,_291,obj);}else{_291=lang.getObject(name,false,obj);if(_291===undefined){lang.setObject(name,null,obj);}}}else{var ary=lang.getObject(name,false,obj);if(!ary){ary=[];lang.setObject(name,ary,obj);}if(_291!==false){ary.push(_291);}}}else{var prev=lang.getObject(name,false,obj);if(typeof prev!="undefined"){if(lang.isArray(prev)){prev.push(_291);}else{lang.setObject(name,[prev,_291],obj);}}else{lang.setObject(name,_291,obj);}}});return obj;},isValid:function(){return this.state=="";},onValidStateChange:function(){},_getState:function(){var _292=_282.map(this._descendants,function(w){return w.get("state")||"";});return _282.indexOf(_292,"Error")>=0?"Error":_282.indexOf(_292,"Incomplete")>=0?"Incomplete":"";},disconnectChildren:function(){_282.forEach(this._childConnections||[],lang.hitch(this,"disconnect"));_282.forEach(this._childWatches||[],function(w){w.unwatch();});},connectChildren:function(_293){var _294=this;this.disconnectChildren();this._descendants=this._getDescendantFormWidgets();var set=_293?function(name,val){_294[name]=val;}:lang.hitch(this,"_set");set("value",this.get("value"));set("state",this._getState());var _295=(this._childConnections=[]),_296=(this._childWatches=[]);_282.forEach(_282.filter(this._descendants,function(item){return item.validate;}),function(_297){_282.forEach(["state","disabled"],function(attr){_296.push(_297.watch(attr,function(){_294.set("state",_294._getState());}));});});var _298=function(){if(_294._onChangeDelayTimer){clearTimeout(_294._onChangeDelayTimer);}_294._onChangeDelayTimer=setTimeout(function(){delete _294._onChangeDelayTimer;_294._set("value",_294.get("value"));},10);};_282.forEach(_282.filter(this._descendants,function(item){return item.onChange;}),function(_299){_295.push(_294.connect(_299,"onChange",_298));_296.push(_299.watch("disabled",_298));});},startup:function(){this.inherited(arguments);this.connectChildren(true);this.watch("state",function(attr,_29a,_29b){this.onValidStateChange(_29b=="");});},destroy:function(){this.disconnectChildren();this.inherited(arguments);}});});},"dijit/form/_CheckBoxMixin":function(){define("dijit/form/_CheckBoxMixin",["dojo/_base/declare","dojo/dom-attr","dojo/_base/event"],function(_29c,_29d,_29e){return _29c("dijit.form._CheckBoxMixin",null,{type:"checkbox",value:"on",readOnly:false,_aria_attr:"aria-checked",_setReadOnlyAttr:function(_29f){this._set("readOnly",_29f);_29d.set(this.focusNode,"readOnly",_29f);},_setLabelAttr:undefined,postMixInProperties:function(){if(this.value==""){this.value="on";}this.inherited(arguments);},reset:function(){this.inherited(arguments);this._set("value",this.params.value||"on");_29d.set(this.focusNode,"value",this.value);},_onClick:function(e){if(this.readOnly){_29e.stop(e);return false;}return this.inherited(arguments);}});});},"url:dijit/form/templates/ValidationTextBox.html":"\n","url:dijit/form/templates/TextBox.html":"\n","dijit/layout/utils":function(){define("dijit/layout/utils",["dojo/_base/array","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/lang",".."],function(_2a0,_2a1,_2a2,_2a3,lang,_2a4){var _2a5=lang.getObject("layout",true,_2a4);_2a5.marginBox2contentBox=function(node,mb){var cs=_2a3.getComputedStyle(node);var me=_2a2.getMarginExtents(node,cs);var pb=_2a2.getPadBorderExtents(node,cs);return {l:_2a3.toPixelValue(node,cs.paddingLeft),t:_2a3.toPixelValue(node,cs.paddingTop),w:mb.w-(me.w+pb.w),h:mb.h-(me.h+pb.h)};};function _2a6(word){return word.substring(0,1).toUpperCase()+word.substring(1);};function size(_2a7,dim){var _2a8=_2a7.resize?_2a7.resize(dim):_2a2.setMarginBox(_2a7.domNode,dim);if(_2a8){lang.mixin(_2a7,_2a8);}else{lang.mixin(_2a7,_2a2.getMarginBox(_2a7.domNode));lang.mixin(_2a7,dim);}};_2a5.layoutChildren=function(_2a9,dim,_2aa,_2ab,_2ac){dim=lang.mixin({},dim);_2a1.add(_2a9,"dijitLayoutContainer");_2aa=_2a0.filter(_2aa,function(item){return item.region!="center"&&item.layoutAlign!="client";}).concat(_2a0.filter(_2aa,function(item){return item.region=="center"||item.layoutAlign=="client";}));_2a0.forEach(_2aa,function(_2ad){var elm=_2ad.domNode,pos=(_2ad.region||_2ad.layoutAlign);if(!pos){throw new Error("No region setting for "+_2ad.id);}var _2ae=elm.style;_2ae.left=dim.l+"px";_2ae.top=dim.t+"px";_2ae.position="absolute";_2a1.add(elm,"dijitAlign"+_2a6(pos));var _2af={};if(_2ab&&_2ab==_2ad.id){_2af[_2ad.region=="top"||_2ad.region=="bottom"?"h":"w"]=_2ac;}if(pos=="top"||pos=="bottom"){_2af.w=dim.w;size(_2ad,_2af);dim.h-=_2ad.h;if(pos=="top"){dim.t+=_2ad.h;}else{_2ae.top=dim.t+dim.h+"px";}}else{if(pos=="left"||pos=="right"){_2af.h=dim.h;size(_2ad,_2af);dim.w-=_2ad.w;if(pos=="left"){dim.l+=_2ad.w;}else{_2ae.left=dim.l+dim.w+"px";}}else{if(pos=="client"||pos=="center"){size(_2ad,dim);}}}});};return {marginBox2contentBox:_2a5.marginBox2contentBox,layoutChildren:_2a5.layoutChildren};});},"dijit/form/DataList":function(){define("dijit/form/DataList",["dojo/_base/declare","dojo/dom","dojo/_base/lang","dojo/query","dojo/store/Memory","../registry"],function(_2b0,dom,lang,_2b1,_2b2,_2b3){function _2b4(_2b5){return {id:_2b5.value,value:_2b5.value,name:lang.trim(_2b5.innerText||_2b5.textContent||"")};};return _2b0("dijit.form.DataList",_2b2,{constructor:function(_2b6,_2b7){this.domNode=dom.byId(_2b7);lang.mixin(this,_2b6);if(this.id){_2b3.add(this);}this.domNode.style.display="none";this.inherited(arguments,[{data:_2b1("option",this.domNode).map(_2b4)}]);},destroy:function(){_2b3.remove(this.id);},fetchSelectedItem:function(){var _2b8=_2b1("> option[selected]",this.domNode)[0]||_2b1("> option",this.domNode)[0];return _2b8&&_2b4(_2b8);}});});},"dijit/form/CheckBox":function(){require({cache:{"url:dijit/form/templates/CheckBox.html":"
\n"}});define("dijit/form/CheckBox",["require","dojo/_base/declare","dojo/dom-attr","dojo/_base/kernel","dojo/query","dojo/ready","./ToggleButton","./_CheckBoxMixin","dojo/text!./templates/CheckBox.html","dojo/NodeList-dom"],function(_2b9,_2ba,_2bb,_2bc,_2bd,_2be,_2bf,_2c0,_2c1){if(!_2bc.isAsync){_2be(0,function(){var _2c2=["dijit/form/RadioButton"];_2b9(_2c2);});}return _2ba("dijit.form.CheckBox",[_2bf,_2c0],{templateString:_2c1,baseClass:"dijitCheckBox",_setValueAttr:function(_2c3,_2c4){if(typeof _2c3=="string"){this._set("value",_2c3);_2bb.set(this.focusNode,"value",_2c3);_2c3=true;}if(this._created){this.set("checked",_2c3,_2c4);}},_getValueAttr:function(){return (this.checked?this.value:false);},_setIconClassAttr:null,postMixInProperties:function(){this.inherited(arguments);this.checkedAttrSetting=this.checked?"checked":"";},_fillContent:function(){},_onFocus:function(){if(this.id){_2bd("label[for='"+this.id+"']").addClass("dijitFocusedLabel");}this.inherited(arguments);},_onBlur:function(){if(this.id){_2bd("label[for='"+this.id+"']").removeClass("dijitFocusedLabel");}this.inherited(arguments);}});});},"dijit/form/ValidationTextBox":function(){require({cache:{"url:dijit/form/templates/ValidationTextBox.html":"\n"}});define("dijit/form/ValidationTextBox",["dojo/_base/declare","dojo/i18n","./TextBox","../Tooltip","dojo/text!./templates/ValidationTextBox.html","dojo/i18n!./nls/validate"],function(_2c5,i18n,_2c6,_2c7,_2c8){return _2c5("dijit.form.ValidationTextBox",_2c6,{templateString:_2c8,baseClass:"dijitTextBox dijitValidationTextBox",required:false,promptMessage:"",invalidMessage:"$_unset_$",missingMessage:"$_unset_$",message:"",constraints:{},regExp:".*",regExpGen:function(){return this.regExp;},state:"",tooltipPosition:[],_setValueAttr:function(){this.inherited(arguments);this.validate(this.focused);},validator:function(_2c9,_2ca){return (new RegExp("^(?:"+this.regExpGen(_2ca)+")"+(this.required?"":"?")+"$")).test(_2c9)&&(!this.required||!this._isEmpty(_2c9))&&(this._isEmpty(_2c9)||this.parse(_2c9,_2ca)!==undefined);},_isValidSubset:function(){return this.textbox.value.search(this._partialre)==0;},isValid:function(){return this.validator(this.textbox.value,this.constraints);},_isEmpty:function(_2cb){return (this.trim?/^\s*$/:/^$/).test(_2cb);},getErrorMessage:function(){return (this.required&&this._isEmpty(this.textbox.value))?this.missingMessage:this.invalidMessage;},getPromptMessage:function(){return this.promptMessage;},_maskValidSubsetError:true,validate:function(_2cc){var _2cd="";var _2ce=this.disabled||this.isValid(_2cc);if(_2ce){this._maskValidSubsetError=true;}var _2cf=this._isEmpty(this.textbox.value);var _2d0=!_2ce&&_2cc&&this._isValidSubset();this._set("state",_2ce?"":(((((!this._hasBeenBlurred||_2cc)&&_2cf)||_2d0)&&this._maskValidSubsetError)?"Incomplete":"Error"));this.focusNode.setAttribute("aria-invalid",_2ce?"false":"true");if(this.state=="Error"){this._maskValidSubsetError=_2cc&&_2d0;_2cd=this.getErrorMessage(_2cc);}else{if(this.state=="Incomplete"){_2cd=this.getPromptMessage(_2cc);this._maskValidSubsetError=!this._hasBeenBlurred||_2cc;}else{if(_2cf){_2cd=this.getPromptMessage(_2cc);}}}this.set("message",_2cd);return _2ce;},displayMessage:function(_2d1){if(_2d1&&this.focused){_2c7.show(_2d1,this.domNode,this.tooltipPosition,!this.isLeftToRight());}else{_2c7.hide(this.domNode);}},_refreshState:function(){this.validate(this.focused);this.inherited(arguments);},constructor:function(){this.constraints={};},_setConstraintsAttr:function(_2d2){if(!_2d2.locale&&this.lang){_2d2.locale=this.lang;}this._set("constraints",_2d2);this._computePartialRE();},_computePartialRE:function(){var p=this.regExpGen(this.constraints);this.regExp=p;var _2d3="";if(p!=".*"){this.regExp.replace(/\\.|\[\]|\[.*?[^\\]{1}\]|\{.*?\}|\(\?[=:!]|./g,function(re){switch(re.charAt(0)){case "{":case "+":case "?":case "*":case "^":case "$":case "|":case "(":_2d3+=re;break;case ")":_2d3+="|$)";break;default:_2d3+="(?:"+re+"|$)";break;}});}try{"".search(_2d3);}catch(e){_2d3=this.regExp;console.warn("RegExp error in "+this.declaredClass+": "+this.regExp);}this._partialre="^(?:"+_2d3+")$";},postMixInProperties:function(){this.inherited(arguments);this.messages=i18n.getLocalization("dijit.form","validate",this.lang);if(this.invalidMessage=="$_unset_$"){this.invalidMessage=this.messages.invalidMessage;}if(!this.invalidMessage){this.invalidMessage=this.promptMessage;}if(this.missingMessage=="$_unset_$"){this.missingMessage=this.messages.missingMessage;}if(!this.missingMessage){this.missingMessage=this.invalidMessage;}this._setConstraintsAttr(this.constraints);},_setDisabledAttr:function(_2d4){this.inherited(arguments);this._refreshState();},_setRequiredAttr:function(_2d5){this._set("required",_2d5);this.focusNode.setAttribute("aria-required",_2d5);this._refreshState();},_setMessageAttr:function(_2d6){this._set("message",_2d6);this.displayMessage(_2d6);},reset:function(){this._maskValidSubsetError=true;this.inherited(arguments);},_onBlur:function(){this.displayMessage("");this.inherited(arguments);}});});},"dijit/form/HorizontalRuleLabels":function(){define("dijit/form/HorizontalRuleLabels",["dojo/_base/declare","dojo/number","dojo/query","./HorizontalRule"],function(_2d7,_2d8,_2d9,_2da){return _2d7("dijit.form.HorizontalRuleLabels",_2da,{templateString:"
",labelStyle:"",labels:[],numericMargin:0,minimum:0,maximum:1,constraints:{pattern:"#%"},_positionPrefix:"",_calcPosition:function(pos){return pos;},_genHTML:function(pos,ndx){return this._positionPrefix+this._calcPosition(pos)+this._positionSuffix+this.labelStyle+this._labelPrefix+this.labels[ndx]+this._suffix;},getLabels:function(){var _2db=this.labels;if(!_2db.length){_2db=_2d9("> li",this.srcNodeRef).map(function(node){return String(node.innerHTML);});}this.srcNodeRef.innerHTML="";if(!_2db.length&&this.count>1){var _2dc=this.minimum;var inc=(this.maximum-_2dc)/(this.count-1);for(var i=0;i=(this.count-this.numericMargin))?"":_2d8.format(_2dc,this.constraints));_2dc+=inc;}}return _2db;},postMixInProperties:function(){this.inherited(arguments);this.labels=this.getLabels();this.count=this.labels.length;}});});},"dijit/form/FilteringSelect":function(){define("dijit/form/FilteringSelect",["dojo/data/util/filter","dojo/_base/declare","dojo/_base/Deferred","dojo/_base/lang","./MappedTextBox","./ComboBoxMixin"],function(_2dd,_2de,_2df,lang,_2e0,_2e1){return _2de("dijit.form.FilteringSelect",[_2e0,_2e1],{required:true,_lastDisplayedValue:"",_isValidSubset:function(){return this._opened;},isValid:function(){return !!this.item||(!this.required&&this.get("displayedValue")=="");},_refreshState:function(){if(!this.searchTimer){this.inherited(arguments);}},_callbackSetLabel:function(_2e2,_2e3,_2e4,_2e5){if((_2e3&&_2e3[this.searchAttr]!==this._lastQuery)||(!_2e3&&_2e2.length&&this.store.getIdentity(_2e2[0])!=this._lastQuery)){return;}if(!_2e2.length){this.set("value","",_2e5||(_2e5===undefined&&!this.focused),this.textbox.value,null);}else{this.set("item",_2e2[0],_2e5);}},_openResultList:function(_2e6,_2e7,_2e8){if(_2e7[this.searchAttr]!==this._lastQuery){return;}this.inherited(arguments);if(this.item===undefined){this.validate(true);}},_getValueAttr:function(){return this.valueNode.value;},_getValueField:function(){return "value";},_setValueAttr:function(_2e9,_2ea,_2eb,item){if(!this._onChangeActive){_2ea=null;}if(item===undefined){if(_2e9===null||_2e9===""){_2e9="";if(!lang.isString(_2eb)){this._setDisplayedValueAttr(_2eb||"",_2ea);return;}}var self=this;this._lastQuery=_2e9;_2df.when(this.store.get(_2e9),function(item){self._callbackSetLabel(item?[item]:[],undefined,undefined,_2ea);});}else{this.valueNode.value=_2e9;this.inherited(arguments);}},_setItemAttr:function(item,_2ec,_2ed){this.inherited(arguments);this._lastDisplayedValue=this.textbox.value;},_getDisplayQueryString:function(text){return text.replace(/([\\\*\?])/g,"\\$1");},_setDisplayedValueAttr:function(_2ee,_2ef){if(_2ee==null){_2ee="";}if(!this._created){if(!("displayedValue" in this.params)){return;}_2ef=false;}if(this.store){this.closeDropDown();var _2f0=lang.clone(this.query);var qs=this._getDisplayQueryString(_2ee),q;if(this.store._oldAPI){q=qs;}else{q=_2dd.patternToRegExp(qs,this.ignoreCase);q.toString=function(){return qs;};}this._lastQuery=_2f0[this.searchAttr]=q;this.textbox.value=_2ee;this._lastDisplayedValue=_2ee;this._set("displayedValue",_2ee);var _2f1=this;var _2f2={queryOptions:{ignoreCase:this.ignoreCase,deep:true}};lang.mixin(_2f2,this.fetchProperties);this._fetchHandle=this.store.query(_2f0,_2f2);_2df.when(this._fetchHandle,function(_2f3){_2f1._fetchHandle=null;_2f1._callbackSetLabel(_2f3||[],_2f0,_2f2,_2ef);},function(err){_2f1._fetchHandle=null;if(!_2f1._cancelingQuery){console.error("dijit.form.FilteringSelect: "+err.toString());}});}},undo:function(){this.set("displayedValue",this._lastDisplayedValue);}});});},"dijit/form/_ButtonMixin":function(){define("dijit/form/_ButtonMixin",["dojo/_base/declare","dojo/dom","dojo/_base/event","../registry"],function(_2f4,dom,_2f5,_2f6){return _2f4("dijit.form._ButtonMixin",null,{label:"",type:"button",_onClick:function(e){if(this.disabled){_2f5.stop(e);return false;}var _2f7=this.onClick(e)===false;if(!_2f7&&this.type=="submit"&&!(this.valueNode||this.focusNode).form){for(var node=this.domNode;node.parentNode;node=node.parentNode){var _2f8=_2f6.byNode(node);if(_2f8&&typeof _2f8._onSubmit=="function"){_2f8._onSubmit(e);_2f7=true;break;}}}if(_2f7){e.preventDefault();}return !_2f7;},postCreate:function(){this.inherited(arguments);dom.setSelectable(this.focusNode,false);},onClick:function(){return true;},_setLabelAttr:function(_2f9){this._set("label",_2f9);(this.containerNode||this.focusNode).innerHTML=_2f9;}});});},"url:dijit/form/templates/Spinner.html":"\n","url:dijit/templates/InlineEditBox.html":" \n","dijit/form/VerticalRule":function(){define("dijit/form/VerticalRule",["dojo/_base/declare","./HorizontalRule"],function(_2fa,_2fb){return _2fa("dijit.form.VerticalRule",_2fb,{templateString:"
",_positionPrefix:"=0&&_305
*",this.srcNodeRef).map(function(node){if(node.getAttribute("type")==="separator"){return {value:"",label:"",selected:false,disabled:false};}return {value:(node.getAttribute("data-"+_301._scopeName+"-value")||node.getAttribute("value")),label:String(node.innerHTML),selected:node.getAttribute("selected")||false,disabled:node.getAttribute("disabled")||false};},this):[];}if(!this.value){this._set("value",this._getValueFromOpts());}else{if(this.multiple&&typeof this.value=="string"){this._set("value",this.value.split(","));}}},postCreate:function(){this.inherited(arguments);this.connect(this,"onChange","_updateSelection");this.connect(this,"startup","_loadChildren");this._setValueAttr(this.value,null);},startup:function(){this.inherited(arguments);var _31d=this.store,_31e={};_2fc.forEach(["query","queryOptions","onFetch"],function(i){if(this[i]){_31e[i]=this[i];}delete this[i];},this);if(_31d&&_31d.getFeatures()["dojo.data.api.Identity"]){this.store=null;this.setStore(_31d,this._oValue,_31e);}},destroy:function(){var h;while(h=this._notifyConnections.pop()){h.remove();}this.inherited(arguments);},_addOptionItem:function(){},_removeOptionItem:function(){},_setDisplay:function(){},_getChildren:function(){return [];},_getSelectedOptionsAttr:function(){return this.getOptions(this.get("value"));},_pseudoLoadChildren:function(){},onSetStore:function(){}});});},"dijit/form/Select":function(){require({cache:{"url:dijit/form/templates/Select.html":"\n"}});define("dijit/form/Select",["dojo/_base/array","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/_base/event","dojo/i18n","dojo/_base/lang","./_FormSelectWidget","../_HasDropDown","../Menu","../MenuItem","../MenuSeparator","../Tooltip","dojo/text!./templates/Select.html","dojo/i18n!./nls/validate"],function(_31f,_320,_321,_322,_323,_324,_325,i18n,lang,_326,_327,Menu,_328,_329,_32a,_32b){var _32c=_320("dijit.form._SelectMenu",Menu,{buildRendering:function(){this.inherited(arguments);var o=(this.menuTableNode=this.domNode);var n=(this.domNode=_323.create("div",{style:{overflowX:"hidden",overflowY:"scroll"}}));if(o.parentNode){o.parentNode.replaceChild(n,o);}_322.remove(o,"dijitMenuTable");n.className=o.className+" dijitSelectMenu";o.className="dijitReset dijitMenuTable";o.setAttribute("role","listbox");n.setAttribute("role","presentation");n.appendChild(o);},postCreate:function(){this.inherited(arguments);this.connect(this.domNode,"onmousemove",_325.stop);},resize:function(mb){if(mb){_324.setMarginBox(this.domNode,mb);if("w" in mb){this.menuTableNode.style.width="100%";}}}});var _32d=_320("dijit.form.Select",[_326,_327],{baseClass:"dijitSelect",templateString:_32b,required:false,state:"",message:"",tooltipPosition:[],emptyLabel:" ",_isLoaded:false,_childrenLoaded:false,_fillContent:function(){this.inherited(arguments);if(this.options.length&&!this.value&&this.srcNodeRef){var si=this.srcNodeRef.selectedIndex||0;this.value=this.options[si>=0?si:0].value;}this.dropDown=new _32c({id:this.id+"_menu"});_322.add(this.dropDown.domNode,this.baseClass+"Menu");},_getMenuItemForOption:function(_32e){if(!_32e.value&&!_32e.label){return new _329();}else{var _32f=lang.hitch(this,"_setValueAttr",_32e);var item=new _328({option:_32e,label:_32e.label||this.emptyLabel,onClick:_32f,disabled:_32e.disabled||false});item.focusNode.setAttribute("role","listitem");return item;}},_addOptionItem:function(_330){if(this.dropDown){this.dropDown.addChild(this._getMenuItemForOption(_330));}},_getChildren:function(){if(!this.dropDown){return [];}return this.dropDown.getChildren();},_loadChildren:function(_331){if(_331===true){if(this.dropDown){delete this.dropDown.focusedChild;}if(this.options.length){this.inherited(arguments);}else{_31f.forEach(this._getChildren(),function(_332){_332.destroyRecursive();});var item=new _328({label:" "});this.dropDown.addChild(item);}}else{this._updateSelection();}this._isLoaded=false;this._childrenLoaded=true;if(!this._loadingStore){this._setValueAttr(this.value);}},_setValueAttr:function(_333){this.inherited(arguments);_321.set(this.valueNode,"value",this.get("value"));this.validate(this.focused);},_setDisabledAttr:function(_334){this.inherited(arguments);this.validate(this.focused);},_setRequiredAttr:function(_335){this._set("required",_335);this.focusNode.setAttribute("aria-required",_335);this.validate(this.focused);},_setDisplay:function(_336){var lbl=_336||this.emptyLabel;this.containerNode.innerHTML=""+lbl+" ";this.focusNode.setAttribute("aria-valuetext",lbl);},validate:function(_337){var _338=this.disabled||this.isValid(_337);this._set("state",_338?"":"Incomplete");this.focusNode.setAttribute("aria-invalid",_338?"false":"true");var _339=_338?"":this._missingMsg;if(_339&&this.focused&&this._hasBeenBlurred){_32a.show(_339,this.domNode,this.tooltipPosition,!this.isLeftToRight());}else{_32a.hide(this.domNode);}this._set("message",_339);return _338;},isValid:function(){return (!this.required||this.value===0||!(/^\s*$/.test(this.value||"")));},reset:function(){this.inherited(arguments);_32a.hide(this.domNode);this.validate(this.focused);},postMixInProperties:function(){this.inherited(arguments);this._missingMsg=i18n.getLocalization("dijit.form","validate",this.lang).missingMessage;},postCreate:function(){this.inherited(arguments);this.connect(this.domNode,"onmousemove",_325.stop);},_setStyleAttr:function(_33a){this.inherited(arguments);_322.toggle(this.domNode,this.baseClass+"FixedWidth",!!this.domNode.style.width);},isLoaded:function(){return this._isLoaded;},loadDropDown:function(_33b){this._loadChildren(true);this._isLoaded=true;_33b();},closeDropDown:function(){this.inherited(arguments);if(this.dropDown&&this.dropDown.menuTableNode){this.dropDown.menuTableNode.style.width="";}},uninitialize:function(_33c){if(this.dropDown&&!this.dropDown._destroyed){this.dropDown.destroyRecursive(_33c);delete this.dropDown;}this.inherited(arguments);},_onFocus:function(){this.validate(true);this.inherited(arguments);},_onBlur:function(){_32a.hide(this.domNode);this.inherited(arguments);}});_32d._Menu=_32c;return _32d;});},"dojo/store/util/QueryResults":function(){define("dojo/store/util/QueryResults",["../../_base/array","../../_base/lang","../../_base/Deferred"],function(_33d,lang,_33e){var util=lang.getObject("dojo.store.util",true);util.QueryResults=function(_33f){if(!_33f){return _33f;}if(_33f.then){_33f=lang.delegate(_33f);}function _340(_341){if(!_33f[_341]){_33f[_341]=function(){var args=arguments;return _33e.when(_33f,function(_342){Array.prototype.unshift.call(args,_342);return util.QueryResults(_33d[_341].apply(_33d,args));});};}};_340("forEach");_340("filter");_340("map");if(!_33f.total){_33f.total=_33e.when(_33f,function(_343){return _343.length;});}return _33f;};return util.QueryResults;});},"dijit/form/_ListBase":function(){define("dijit/form/_ListBase",["dojo/_base/declare","dojo/window"],function(_344,_345){return _344("dijit.form._ListBase",null,{selected:null,_getTarget:function(evt){var tgt=evt.target;var _346=this.containerNode;if(tgt==_346||tgt==this.domNode){return null;}while(tgt&&tgt.parentNode!=_346){tgt=tgt.parentNode;}return tgt;},selectFirstNode:function(){var _347=this.containerNode.firstChild;while(_347&&_347.style.display=="none"){_347=_347.nextSibling;}this._setSelectedAttr(_347,true);},selectLastNode:function(){var last=this.containerNode.lastChild;while(last&&last.style.display=="none"){last=last.previousSibling;}this._setSelectedAttr(last,true);},selectNextNode:function(){var _348=this._getSelectedAttr();if(!_348){this.selectFirstNode();}else{var next=_348.nextSibling;while(next&&next.style.display=="none"){next=next.nextSibling;}if(!next){this.selectFirstNode();}else{this._setSelectedAttr(next,true);}}},selectPreviousNode:function(){var _349=this._getSelectedAttr();if(!_349){this.selectLastNode();}else{var prev=_349.previousSibling;while(prev&&prev.style.display=="none"){prev=prev.previousSibling;}if(!prev){this.selectLastNode();}else{this._setSelectedAttr(prev,true);}}},_setSelectedAttr:function(node,_34a){if(this.selected!=node){var _34b=this._getSelectedAttr();if(_34b){this.onDeselect(_34b);this.selected=null;}if(node&&node.parentNode==this.containerNode){this.selected=node;if(_34a){_345.scrollIntoView(node);}this.onSelect(node);}}else{if(node){this.onSelect(node);}}},_getSelectedAttr:function(){var v=this.selected;return (v&&v.parentNode==this.containerNode)?v:(this.selected=null);}});});},"dijit/CalendarLite":function(){require({cache:{"url:dijit/templates/Calendar.html":"\n\t\n\t\t\n\t\t\t\n\t\t\t\t \n\t\t\t\t- \n\t\t\t \n\t\t\t\n\t\t\t\t\n\t\t\t\t
\n\t\t\t \n\t\t\t\n\t\t\t\t \n\t\t\t\t+ \n\t\t\t \n\t\t \n\t\t\n\t\t\t${!dayCellsHtml}\n\t\t \n\t \n\t\n\t\t\t${!dateRowsHtml}\n\t \n\t\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t\t \n\t\t\t\t
\n\t\t\t \n\t\t \n\t \n
\n"}});define("dijit/CalendarLite",["dojo/_base/array","dojo/_base/declare","dojo/cldr/supplemental","dojo/date","dojo/date/locale","dojo/dom","dojo/dom-class","dojo/_base/event","dojo/_base/lang","dojo/_base/sniff","dojo/string","dojo/_base/window","./_WidgetBase","./_TemplatedMixin","dojo/text!./templates/Calendar.html"],function(_34c,_34d,_34e,date,_34f,dom,_350,_351,lang,has,_352,win,_353,_354,_355){var _356=_34d("dijit.CalendarLite",[_353,_354],{templateString:_355,dowTemplateString:"${d} ",dateTemplateString:" ",weekTemplateString:"${d}${d}${d}${d}${d}${d}${d} ",value:new Date(""),datePackage:date,dayWidth:"narrow",tabIndex:"0",currentFocus:new Date(),baseClass:"dijitCalendar",_isValidDate:function(_357){return _357&&!isNaN(_357)&&typeof _357=="object"&&_357.toString()!=this.constructor.prototype.value.toString();},_getValueAttr:function(){if(this.value&&!isNaN(this.value)){var _358=new this.dateClassObj(this.value);_358.setHours(0,0,0,0);if(_358.getDate()_35c){_360-=7;}this._date2cell={};_34c.forEach(this.dateCells,function(_361,idx){var i=idx+_360;var date=new this.dateClassObj(_35b),_362,_363="dijitCalendar",adj=0;if(i<_35c){_362=_35e-_35c+i+1;adj=-1;_363+="Previous";}else{if(i>=(_35c+_35d)){_362=i-_35c-_35d+1;adj=1;_363+="Next";}else{_362=i-_35c+1;_363+="Current";}}if(adj){date=this.dateFuncObj.add(date,"month",adj);}date.setDate(_362);if(!this.dateFuncObj.compare(date,_35f,"date")){_363="dijitCalendarCurrentDate "+_363;}if(this._isSelectedDate(date,this.lang)){_363="dijitCalendarSelectedDate "+_363;_361.setAttribute("aria-selected",true);}else{_361.setAttribute("aria-selected",false);}if(this.isDisabledDate(date,this.lang)){_363="dijitCalendarDisabledDate "+_363;_361.setAttribute("aria-disabled",true);}else{_363="dijitCalendarEnabledDate "+_363;_361.removeAttribute("aria-disabled");}var _364=this.getClassForDate(date,this.lang);if(_364){_363=_364+" "+_363;}_361.className=_363+"Month dijitCalendarDateTemplate";var _365=date.valueOf();this._date2cell[_365]=_361;_361.dijitDateValue=_365;this._setText(this.dateLabels[idx],date.getDateLocalized?date.getDateLocalized(this.lang):date.getDate());},this);this.monthWidget.set("month",_35b);var y=_35b.getFullYear()-1;var d=new this.dateClassObj();_34c.forEach(["previous","current","next"],function(name){d.setFullYear(y++);this._setText(this[name+"YearLabelNode"],this.dateLocaleModule.format(d,{selector:"year",locale:this.lang}));},this);},goToToday:function(){this.set("value",new this.dateClassObj());},constructor:function(args){this.datePackage=args.datePackage||this.datePackage;this.dateFuncObj=typeof this.datePackage=="string"?lang.getObject(this.datePackage,false):this.datePackage;this.dateClassObj=this.dateFuncObj.Date||Date;this.dateLocaleModule=lang.getObject("locale",false,this.dateFuncObj);},_createMonthWidget:function(){return _356._MonthWidget({id:this.id+"_mw",lang:this.lang,dateLocaleModule:this.dateLocaleModule},this.monthNode);},buildRendering:function(){var d=this.dowTemplateString,_366=this.dateLocaleModule.getNames("days",this.dayWidth,"standAlone",this.lang),_367=_34e.getFirstDayOfWeek(this.lang);this.dayCellsHtml=_352.substitute([d,d,d,d,d,d,d].join(""),{d:""},function(){return _366[_367++%7];});var r=_352.substitute(this.weekTemplateString,{d:this.dateTemplateString});this.dateRowsHtml=[r,r,r,r,r,r].join("");this.dateCells=[];this.dateLabels=[];this.inherited(arguments);dom.setSelectable(this.domNode,false);var _368=new this.dateClassObj(this.currentFocus);this._supportingWidgets.push(this.monthWidget=this._createMonthWidget());this.set("currentFocus",_368,false);var _369=lang.hitch(this,function(_36a,part,_36b){this.connect(this[_36a],"onclick",function(){this._setCurrentFocusAttr(this.dateFuncObj.add(this.currentFocus,part,_36b));});});_369("incrementMonth","month",1);_369("decrementMonth","month",-1);_369("nextYearLabelNode","year",1);_369("previousYearLabelNode","year",-1);},_setCurrentFocusAttr:function(date,_36c){var _36d=this.currentFocus,_36e=_36d&&this._date2cell?this._date2cell[_36d.valueOf()]:null;date=new this.dateClassObj(date);date.setHours(1,0,0,0);this._set("currentFocus",date);this._populateGrid();var _36f=this._date2cell[date.valueOf()];_36f.setAttribute("tabIndex",this.tabIndex);if(this.focused||_36c){_36f.focus();}if(_36e&&_36e!=_36f){if(has("webkit")){_36e.setAttribute("tabIndex","-1");}else{_36e.removeAttribute("tabIndex");}}},focus:function(){this._setCurrentFocusAttr(this.currentFocus,true);},_onDayClick:function(evt){_351.stop(evt);for(var node=evt.target;node&&!node.dijitDateValue;node=node.parentNode){}if(node&&!_350.contains(node,"dijitCalendarDisabledDate")){this.set("value",node.dijitDateValue);}},onChange:function(){},_isSelectedDate:function(_370){return this._isValidDate(this.value)&&!this.dateFuncObj.compare(_370,this.value,"date");},isDisabledDate:function(){},getClassForDate:function(){}});_356._MonthWidget=_34d("dijit.CalendarLite._MonthWidget",_353,{_setMonthAttr:function(_371){var _372=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,_371),_373=(has("ie")==6?"":""+_34c.map(_372,function(s){return "
"+s+"
";}).join("")+"
");this.domNode.innerHTML=_373+""+_372[_371.getMonth()]+"
";}});return _356;});},"dijit/form/VerticalRuleLabels":function(){define("dijit/form/VerticalRuleLabels",["dojo/_base/declare","./HorizontalRuleLabels"],function(_374,_375){return _374("dijit.form.VerticalRuleLabels",_375,{templateString:"
",_positionPrefix:"",_calcPosition:function(pos){return 100-pos;},_isHorizontal:false});});},"dijit/form/_ComboBoxMenu":function(){define("dijit/form/_ComboBoxMenu",["dojo/_base/declare","dojo/dom-class","dojo/dom-construct","dojo/dom-style","dojo/keys","../_WidgetBase","../_TemplatedMixin","./_ComboBoxMenuMixin","./_ListMouseMixin"],function(_376,_377,_378,_379,keys,_37a,_37b,_37c,_37d){return _376("dijit.form._ComboBoxMenu",[_37a,_37b,_37d,_37c],{templateString:"",baseClass:"dijitComboBoxMenu",postCreate:function(){this.inherited(arguments);if(!this.isLeftToRight()){_377.add(this.previousButton,"dijitMenuItemRtl");_377.add(this.nextButton,"dijitMenuItemRtl");}},_createMenuItem:function(){return _378.create("div",{"class":"dijitReset dijitMenuItem"+(this.isLeftToRight()?"":" dijitMenuItemRtl"),role:"option"});},onHover:function(node){_377.add(node,"dijitMenuItemHover");},onUnhover:function(node){_377.remove(node,"dijitMenuItemHover");},onSelect:function(node){_377.add(node,"dijitMenuItemSelected");},onDeselect:function(node){_377.remove(node,"dijitMenuItemSelected");},_page:function(up){var _37e=0;var _37f=this.domNode.scrollTop;var _380=_379.get(this.domNode,"height");if(!this.getHighlightedOption()){this.selectNextNode();}while(_37e<_380){var _381=this.getHighlightedOption();if(up){if(!_381.previousSibling||_381.previousSibling.style.display=="none"){break;}this.selectPreviousNode();}else{if(!_381.nextSibling||_381.nextSibling.style.display=="none"){break;}this.selectNextNode();}var _382=this.domNode.scrollTop;_37e+=(_382-_37f)*(up?-1:1);_37f=_382;}},handleKey:function(evt){switch(evt.charOrCode){case keys.DOWN_ARROW:this.selectNextNode();return false;case keys.PAGE_DOWN:this._page(false);return false;case keys.UP_ARROW:this.selectPreviousNode();return false;case keys.PAGE_UP:this._page(true);return false;default:return true;}}});});},"dijit/form/MultiSelect":function(){define("dijit/form/MultiSelect",["dojo/_base/array","dojo/_base/declare","dojo/dom-geometry","dojo/query","./_FormValueWidget"],function(_383,_384,_385,_386,_387){return _384("dijit.form.MultiSelect",_387,{size:7,templateString:" ",addSelected:function(_388){_388.getSelected().forEach(function(n){this.containerNode.appendChild(n);this.domNode.scrollTop=this.domNode.offsetHeight;var _389=_388.domNode.scrollTop;_388.domNode.scrollTop=0;_388.domNode.scrollTop=_389;},this);this._set("value",this.get("value"));},getSelected:function(){return _386("option",this.containerNode).filter(function(n){return n.selected;});},_getValueAttr:function(){return _383.map(this.getSelected(),function(n){return n.value;});},multiple:true,_setValueAttr:function(_38a,_38b){_386("option",this.containerNode).forEach(function(n){n.selected=(_383.indexOf(_38a,n.value)!=-1);});this.inherited(arguments);},invertSelection:function(_38c){var val=[];_386("option",this.containerNode).forEach(function(n){if(!n.selected){val.push(n.value);}});this._setValueAttr(val,!(_38c===false||_38c==null));},_onChange:function(){this._handleOnChange(this.get("value"),true);},resize:function(size){if(size){_385.setMarginBox(this.domNode,size);}},postCreate:function(){this._set("value",this.get("value"));this.inherited(arguments);}});});},"dijit/form/_DateTimeTextBox":function(){require({cache:{"url:dijit/form/templates/DropDownBox.html":"\n"}});define("dijit/form/_DateTimeTextBox",["dojo/date","dojo/date/locale","dojo/date/stamp","dojo/_base/declare","dojo/_base/lang","./RangeBoundTextBox","../_HasDropDown","dojo/text!./templates/DropDownBox.html"],function(date,_38d,_38e,_38f,lang,_390,_391,_392){new Date("X");var _393=_38f("dijit.form._DateTimeTextBox",[_390,_391],{templateString:_392,hasDownArrow:true,openOnClick:true,regExpGen:_38d.regexp,datePackage:date,postMixInProperties:function(){this.inherited(arguments);this._set("type","text");},compare:function(val1,val2){var _394=this._isInvalidDate(val1);var _395=this._isInvalidDate(val2);return _394?(_395?0:-1):(_395?1:date.compare(val1,val2,this._selector));},forceWidth:true,format:function(_396,_397){if(!_396){return "";}return this.dateLocaleModule.format(_396,_397);},"parse":function(_398,_399){return this.dateLocaleModule.parse(_398,_399)||(this._isEmpty(_398)?null:undefined);},serialize:function(val,_39a){if(val.toGregorian){val=val.toGregorian();}return _38e.toISOString(val,_39a);},dropDownDefaultValue:new Date(),value:new Date(""),_blankValue:null,popupClass:"",_selector:"",constructor:function(args){this.datePackage=args.datePackage||this.datePackage;this.dateFuncObj=typeof this.datePackage=="string"?lang.getObject(this.datePackage,false):this.datePackage;this.dateClassObj=this.dateFuncObj.Date||Date;this.dateLocaleModule=lang.getObject("locale",false,this.dateFuncObj);this.regExpGen=this.dateLocaleModule.regexp;this._invalidDate=this.constructor.prototype.value.toString();},buildRendering:function(){this.inherited(arguments);if(!this.hasDownArrow){this._buttonNode.style.display="none";}if(this.openOnClick||!this.hasDownArrow){this._buttonNode=this.domNode;this.baseClass+=" dijitComboBoxOpenOnClick";}},_setConstraintsAttr:function(_39b){_39b.selector=this._selector;_39b.fullYear=true;var _39c=_38e.fromISOString;if(typeof _39b.min=="string"){_39b.min=_39c(_39b.min);}if(typeof _39b.max=="string"){_39b.max=_39c(_39b.max);}this.inherited(arguments);},_isInvalidDate:function(_39d){return !_39d||isNaN(_39d)||typeof _39d!="object"||_39d.toString()==this._invalidDate;},_setValueAttr:function(_39e,_39f,_3a0){if(_39e!==undefined){if(typeof _39e=="string"){_39e=_38e.fromISOString(_39e);}if(this._isInvalidDate(_39e)){_39e=null;}if(_39e instanceof Date&&!(this.dateClassObj instanceof Date)){_39e=new this.dateClassObj(_39e);}}this.inherited(arguments);if(this.value instanceof Date){this.filterString="";}if(this.dropDown){this.dropDown.set("value",_39e,false);}},_set:function(attr,_3a1){if(attr=="value"&&this.value instanceof Date&&this.compare(_3a1,this.value)==0){return;}this.inherited(arguments);},_setDropDownDefaultValueAttr:function(val){if(this._isInvalidDate(val)){val=new this.dateClassObj();}this.dropDownDefaultValue=val;},openDropDown:function(_3a2){if(this.dropDown){this.dropDown.destroy();}var _3a3=lang.isString(this.popupClass)?lang.getObject(this.popupClass,false):this.popupClass,_3a4=this,_3a5=this.get("value");this.dropDown=new _3a3({onChange:function(_3a6){_3a4.set("value",_3a6,true);},id:this.id+"_popup",dir:_3a4.dir,lang:_3a4.lang,value:_3a5,currentFocus:!this._isInvalidDate(_3a5)?_3a5:this.dropDownDefaultValue,constraints:_3a4.constraints,filterString:_3a4.filterString,datePackage:_3a4.datePackage,isDisabledDate:function(date){return !_3a4.rangeCheck(date,_3a4.constraints);}});this.inherited(arguments);},_getDisplayedValueAttr:function(){return this.textbox.value;},_setDisplayedValueAttr:function(_3a7,_3a8){this._setValueAttr(this.parse(_3a7,this.constraints),_3a8,_3a7);}});return _393;});},"dijit/Calendar":function(){define("dijit/Calendar",["dojo/_base/array","dojo/date","dojo/date/locale","dojo/_base/declare","dojo/dom-attr","dojo/dom-class","dojo/_base/event","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","./CalendarLite","./_Widget","./_CssStateMixin","./_TemplatedMixin","./form/DropDownButton","./hccss"],function(_3a9,date,_3aa,_3ab,_3ac,_3ad,_3ae,_3af,keys,lang,has,_3b0,_3b1,_3b2,_3b3,_3b4){var _3b5=_3ab("dijit.Calendar",[_3b0,_3b1,_3b2],{cssStateNodes:{"decrementMonth":"dijitCalendarArrow","incrementMonth":"dijitCalendarArrow","previousYearLabelNode":"dijitCalendarPreviousYear","nextYearLabelNode":"dijitCalendarNextYear"},setValue:function(_3b6){_3af.deprecated("dijit.Calendar:setValue() is deprecated. Use set('value', ...) instead.","","2.0");this.set("value",_3b6);},_createMonthWidget:function(){return new _3b5._MonthDropDownButton({id:this.id+"_mddb",tabIndex:-1,onMonthSelect:lang.hitch(this,"_onMonthSelect"),lang:this.lang,dateLocaleModule:this.dateLocaleModule},this.monthNode);},buildRendering:function(){this.inherited(arguments);this.connect(this.domNode,"onkeypress","_onKeyPress");this.connect(this.dateRowsNode,"onmouseover","_onDayMouseOver");this.connect(this.dateRowsNode,"onmouseout","_onDayMouseOut");this.connect(this.dateRowsNode,"onmousedown","_onDayMouseDown");this.connect(this.dateRowsNode,"onmouseup","_onDayMouseUp");},_onMonthSelect:function(_3b7){this._setCurrentFocusAttr(this.dateFuncObj.add(this.currentFocus,"month",_3b7-this.currentFocus.getMonth()));},_onDayMouseOver:function(evt){var node=_3ad.contains(evt.target,"dijitCalendarDateLabel")?evt.target.parentNode:evt.target;if(node&&((node.dijitDateValue&&!_3ad.contains(node,"dijitCalendarDisabledDate"))||node==this.previousYearLabelNode||node==this.nextYearLabelNode)){_3ad.add(node,"dijitCalendarHoveredDate");this._currentNode=node;}},_onDayMouseOut:function(evt){if(!this._currentNode){return;}if(evt.relatedTarget&&evt.relatedTarget.parentNode==this._currentNode){return;}var cls="dijitCalendarHoveredDate";if(_3ad.contains(this._currentNode,"dijitCalendarActiveDate")){cls+=" dijitCalendarActiveDate";}_3ad.remove(this._currentNode,cls);this._currentNode=null;},_onDayMouseDown:function(evt){var node=evt.target.parentNode;if(node&&node.dijitDateValue&&!_3ad.contains(node,"dijitCalendarDisabledDate")){_3ad.add(node,"dijitCalendarActiveDate");this._currentNode=node;}},_onDayMouseUp:function(evt){var node=evt.target.parentNode;if(node&&node.dijitDateValue){_3ad.remove(node,"dijitCalendarActiveDate");}},handleKey:function(evt){var _3b8=-1,_3b9,_3ba=this.currentFocus;switch(evt.charOrCode){case keys.RIGHT_ARROW:_3b8=1;case keys.LEFT_ARROW:_3b9="day";if(!this.isLeftToRight()){_3b8*=-1;}break;case keys.DOWN_ARROW:_3b8=1;case keys.UP_ARROW:_3b9="week";break;case keys.PAGE_DOWN:_3b8=1;case keys.PAGE_UP:_3b9=evt.ctrlKey||evt.altKey?"year":"month";break;case keys.END:_3ba=this.dateFuncObj.add(_3ba,"month",1);_3b9="day";case keys.HOME:_3ba=new this.dateClassObj(_3ba);_3ba.setDate(1);break;case keys.ENTER:case " ":this.set("value",this.currentFocus);break;default:return true;}if(_3b9){_3ba=this.dateFuncObj.add(_3ba,_3b9,_3b8);}this._setCurrentFocusAttr(_3ba);return false;},_onKeyPress:function(evt){if(!this.handleKey(evt)){_3ae.stop(evt);}},onValueSelected:function(){},onChange:function(_3bb){this.onValueSelected(_3bb);},getClassForDate:function(){}});_3b5._MonthDropDownButton=_3ab("dijit.Calendar._MonthDropDownButton",_3b4,{onMonthSelect:function(){},postCreate:function(){this.inherited(arguments);this.dropDown=new _3b5._MonthDropDown({id:this.id+"_mdd",onChange:this.onMonthSelect});},_setMonthAttr:function(_3bc){var _3bd=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,_3bc);this.dropDown.set("months",_3bd);this.containerNode.innerHTML=(has("ie")==6?"":""+this.dropDown.domNode.innerHTML+"
")+""+_3bd[_3bc.getMonth()]+"
";}});_3b5._MonthDropDown=_3ab("dijit.Calendar._MonthDropDown",[_3b1,_3b3],{months:[],templateString:"",_setMonthsAttr:function(_3be){this.domNode.innerHTML=_3a9.map(_3be,function(_3bf,idx){return _3bf?""+_3bf+"
":"";}).join("");},_onClick:function(evt){this.onChange(_3ac.get(evt.target,"month"));},onChange:function(){},_onMenuHover:function(evt){_3ad.toggle(evt.target,"dijitCalendarMonthLabelHover",evt.type=="mouseover");}});return _3b5;});},"dijit/form/_ToggleButtonMixin":function(){define("dijit/form/_ToggleButtonMixin",["dojo/_base/declare","dojo/dom-attr"],function(_3c0,_3c1){return _3c0("dijit.form._ToggleButtonMixin",null,{checked:false,_aria_attr:"aria-pressed",_onClick:function(evt){var _3c2=this.checked;this._set("checked",!_3c2);var ret=this.inherited(arguments);this.set("checked",ret?this.checked:_3c2);return ret;},_setCheckedAttr:function(_3c3,_3c4){this._set("checked",_3c3);_3c1.set(this.focusNode||this.domNode,"checked",_3c3);(this.focusNode||this.domNode).setAttribute(this._aria_attr,_3c3?"true":"false");this._handleOnChange(_3c3,_3c4);},reset:function(){this._hasBeenBlurred=false;this.set("checked",this.params.checked||false);}});});},"url:dijit/form/templates/Select.html":"\n","dijit/form/HorizontalSlider":function(){require({cache:{"url:dijit/form/templates/HorizontalSlider.html":"\n"}});define("dijit/form/HorizontalSlider",["dojo/_base/array","dojo/_base/declare","dojo/dnd/move","dojo/_base/event","dojo/_base/fx","dojo/dom-geometry","dojo/dom-style","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dojo/dnd/Moveable","dojo/dnd/Mover","dojo/query","../registry","../focus","../typematic","./Button","./_FormValueWidget","../_Container","dojo/text!./templates/HorizontalSlider.html"],function(_3c5,_3c6,move,_3c7,fx,_3c8,_3c9,keys,lang,has,_3ca,_3cb,_3cc,_3cd,_3ce,_3cf,_3d0,_3d1,_3d2,_3d3){var _3d4=_3c6("dijit.form._SliderMover",_3cb,{onMouseMove:function(e){var _3d5=this.widget;var _3d6=_3d5._abspos;if(!_3d6){_3d6=_3d5._abspos=_3c8.position(_3d5.sliderBarContainer,true);_3d5._setPixelValue_=lang.hitch(_3d5,"_setPixelValue");_3d5._isReversed_=_3d5._isReversed();}var _3d7=e[_3d5._mousePixelCoord]-_3d6[_3d5._startingPixelCoord];_3d5._setPixelValue_(_3d5._isReversed_?(_3d6[_3d5._pixelCount]-_3d7):_3d7,_3d6[_3d5._pixelCount],false);},destroy:function(e){_3cb.prototype.destroy.apply(this,arguments);var _3d8=this.widget;_3d8._abspos=null;_3d8._setValueAttr(_3d8.value,true);}});var _3d9=_3c6("dijit.form.HorizontalSlider",[_3d1,_3d2],{templateString:_3d3,value:0,showButtons:true,minimum:0,maximum:100,discreteValues:Infinity,pageIncrement:2,clickSelect:true,slideDuration:_3cd.defaultDuration,_setIdAttr:"",baseClass:"dijitSlider",cssStateNodes:{incrementButton:"dijitSliderIncrementButton",decrementButton:"dijitSliderDecrementButton",focusNode:"dijitSliderThumb"},_mousePixelCoord:"pageX",_pixelCount:"w",_startingPixelCoord:"x",_handleOffsetCoord:"left",_progressPixelSize:"width",_onKeyUp:function(e){if(this.disabled||this.readOnly||e.altKey||e.ctrlKey||e.metaKey){return;}this._setValueAttr(this.value,true);},_onKeyPress:function(e){if(this.disabled||this.readOnly||e.altKey||e.ctrlKey||e.metaKey){return;}switch(e.charOrCode){case keys.HOME:this._setValueAttr(this.minimum,false);break;case keys.END:this._setValueAttr(this.maximum,false);break;case ((this._descending||this.isLeftToRight())?keys.RIGHT_ARROW:keys.LEFT_ARROW):case (this._descending===false?keys.DOWN_ARROW:keys.UP_ARROW):case (this._descending===false?keys.PAGE_DOWN:keys.PAGE_UP):this.increment(e);break;case ((this._descending||this.isLeftToRight())?keys.LEFT_ARROW:keys.RIGHT_ARROW):case (this._descending===false?keys.UP_ARROW:keys.DOWN_ARROW):case (this._descending===false?keys.PAGE_UP:keys.PAGE_DOWN):this.decrement(e);break;default:return;}_3c7.stop(e);},_onHandleClick:function(e){if(this.disabled||this.readOnly){return;}if(!has("ie")){_3ce.focus(this.sliderHandle);}_3c7.stop(e);},_isReversed:function(){return !this.isLeftToRight();},_onBarClick:function(e){if(this.disabled||this.readOnly||!this.clickSelect){return;}_3ce.focus(this.sliderHandle);_3c7.stop(e);var _3da=_3c8.position(this.sliderBarContainer,true);var _3db=e[this._mousePixelCoord]-_3da[this._startingPixelCoord];this._setPixelValue(this._isReversed()?(_3da[this._pixelCount]-_3db):_3db,_3da[this._pixelCount],true);this._movable.onMouseDown(e);},_setPixelValue:function(_3dc,_3dd,_3de){if(this.disabled||this.readOnly){return;}var _3df=this.discreteValues;if(_3df<=1||_3df==Infinity){_3df=_3dd;}_3df--;var _3e0=_3dd/_3df;var _3e1=Math.round(_3dc/_3e0);this._setValueAttr(Math.max(Math.min((this.maximum-this.minimum)*_3e1/_3df+this.minimum,this.maximum),this.minimum),_3de);},_setValueAttr:function(_3e2,_3e3){this._set("value",_3e2);this.valueNode.value=_3e2;this.focusNode.setAttribute("aria-valuenow",_3e2);this.inherited(arguments);var _3e4=(_3e2-this.minimum)/(this.maximum-this.minimum);var _3e5=(this._descending===false)?this.remainingBar:this.progressBar;var _3e6=(this._descending===false)?this.progressBar:this.remainingBar;if(this._inProgressAnim&&this._inProgressAnim.status!="stopped"){this._inProgressAnim.stop(true);}if(_3e3&&this.slideDuration>0&&_3e5.style[this._progressPixelSize]){var _3e7=this;var _3e8={};var _3e9=parseFloat(_3e5.style[this._progressPixelSize]);var _3ea=this.slideDuration*(_3e4-_3e9/100);if(_3ea==0){return;}if(_3ea<0){_3ea=0-_3ea;}_3e8[this._progressPixelSize]={start:_3e9,end:_3e4*100,units:"%"};this._inProgressAnim=fx.animateProperty({node:_3e5,duration:_3ea,onAnimate:function(v){_3e6.style[_3e7._progressPixelSize]=(100-parseFloat(v[_3e7._progressPixelSize]))+"%";},onEnd:function(){delete _3e7._inProgressAnim;},properties:_3e8});this._inProgressAnim.play();}else{_3e5.style[this._progressPixelSize]=(_3e4*100)+"%";_3e6.style[this._progressPixelSize]=((1-_3e4)*100)+"%";}},_bumpValue:function(_3eb,_3ec){if(this.disabled||this.readOnly){return;}var s=_3c9.getComputedStyle(this.sliderBarContainer);var c=_3c8.getContentBox(this.sliderBarContainer,s);var _3ed=this.discreteValues;if(_3ed<=1||_3ed==Infinity){_3ed=c[this._pixelCount];}_3ed--;var _3ee=(this.value-this.minimum)*_3ed/(this.maximum-this.minimum)+_3eb;if(_3ee<0){_3ee=0;}if(_3ee>_3ed){_3ee=_3ed;}_3ee=_3ee*(this.maximum-this.minimum)/_3ed+this.minimum;this._setValueAttr(_3ee,_3ec);},_onClkBumper:function(val){if(this.disabled||this.readOnly||!this.clickSelect){return;}this._setValueAttr(val,true);},_onClkIncBumper:function(){this._onClkBumper(this._descending===false?this.minimum:this.maximum);},_onClkDecBumper:function(){this._onClkBumper(this._descending===false?this.maximum:this.minimum);},decrement:function(e){this._bumpValue(e.charOrCode==keys.PAGE_DOWN?-this.pageIncrement:-1);},increment:function(e){this._bumpValue(e.charOrCode==keys.PAGE_UP?this.pageIncrement:1);},_mouseWheeled:function(evt){_3c7.stop(evt);var _3ef=!has("mozilla");var _3f0=evt[(_3ef?"wheelDelta":"detail")]*(_3ef?1:-1);this._bumpValue(_3f0<0?-1:1,true);},startup:function(){if(this._started){return;}_3c5.forEach(this.getChildren(),function(_3f1){if(this[_3f1.container]!=this.containerNode){this[_3f1.container].appendChild(_3f1.domNode);}},this);this.inherited(arguments);},_typematicCallback:function(_3f2,_3f3,e){if(_3f2==-1){this._setValueAttr(this.value,true);}else{this[(_3f3==(this._descending?this.incrementButton:this.decrementButton))?"decrement":"increment"](e);}},buildRendering:function(){this.inherited(arguments);if(this.showButtons){this.incrementButton.style.display="";this.decrementButton.style.display="";}var _3f4=_3cc("label[for=\""+this.id+"\"]");if(_3f4.length){_3f4[0].id=(this.id+"_label");this.focusNode.setAttribute("aria-labelledby",_3f4[0].id);}this.focusNode.setAttribute("aria-valuemin",this.minimum);this.focusNode.setAttribute("aria-valuemax",this.maximum);},postCreate:function(){this.inherited(arguments);if(this.showButtons){this._connects.push(_3cf.addMouseListener(this.decrementButton,this,"_typematicCallback",25,500));this._connects.push(_3cf.addMouseListener(this.incrementButton,this,"_typematicCallback",25,500));}this.connect(this.domNode,!has("mozilla")?"onmousewheel":"DOMMouseScroll","_mouseWheeled");var _3f5=_3c6(_3d4,{widget:this});this._movable=new _3ca(this.sliderHandle,{mover:_3f5});this._layoutHackIE7();},destroy:function(){this._movable.destroy();if(this._inProgressAnim&&this._inProgressAnim.status!="stopped"){this._inProgressAnim.stop(true);}this._supportingWidgets=_3cd.findWidgets(this.domNode);this.inherited(arguments);}});_3d9._Mover=_3d4;return _3d9;});},"*now":function(r){r(["dojo/i18n!*preload*dijit/nls/_dijit_form*[\"ar\",\"ca\",\"cs\",\"da\",\"de\",\"el\",\"en\",\"es\",\"fi\",\"fr\",\"he\",\"hr\",\"hu\",\"it\",\"ja\",\"kk\",\"ko\",\"nl\",\"no\",\"pl\",\"pt\",\"pt-br\",\"ro\",\"ru\",\"sk\",\"sl\",\"sv\",\"th\",\"tr\",\"uk\",\"zh\",\"zh-tw\",\"ROOT\"]"]);},"*noref":1}});define("dijit/_dijit_form",[],1);require(["dijit/InlineEditBox","dijit/Calendar","dijit/form/Button","dijit/form/CheckBox","dijit/form/ComboBox","dijit/form/ComboButton","dijit/form/CurrencyTextBox","dijit/form/DateTextBox","dijit/form/DropDownButton","dijit/form/FilteringSelect","dijit/form/Form","dijit/form/HorizontalSlider","dijit/form/HorizontalRule","dijit/form/HorizontalRuleLabels","dijit/form/MappedTextBox","dijit/form/MultiSelect","dijit/form/NumberSpinner","dijit/form/NumberTextBox","dijit/form/RadioButton","dijit/form/RangeBoundTextBox","dijit/form/Select","dijit/form/SimpleTextarea","dijit/form/Slider","dijit/form/TextBox","dijit/form/Textarea","dijit/form/TimeTextBox","dijit/form/ToggleButton","dijit/form/ValidationTextBox","dijit/form/VerticalSlider","dijit/form/VerticalRule","dijit/form/VerticalRuleLabels"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"url:dijit/layout/templates/AccordionButton.html":"\n\t
+ - \n\t\t
\n\t
\n
\n","dijit/layout/StackContainer":function(){define("dijit/layout/StackContainer",["dojo/_base/array","dojo/cookie","dojo/_base/declare","dojo/dom-class","dojo/_base/kernel","dojo/_base/lang","dojo/ready","dojo/topic","../registry","../_WidgetBase","./_LayoutWidget","dojo/i18n!../nls/common"],function(_1,_2,_3,_4,_5,_6,_7,_8,_9,_a,_b){if(!_5.isAsync){_7(0,function(){var _c=["dijit/layout/StackController"];require(_c);});}_6.extend(_a,{selected:false,closable:false,iconClass:"dijitNoIcon",showTitle:true});return _3("dijit.layout.StackContainer",_b,{doLayout:true,persist:false,baseClass:"dijitStackContainer",buildRendering:function(){this.inherited(arguments);_4.add(this.domNode,"dijitLayoutContainer");this.containerNode.setAttribute("role","tabpanel");},postCreate:function(){this.inherited(arguments);this.connect(this.domNode,"onkeypress",this._onKeyPress);},startup:function(){if(this._started){return;}var _d=this.getChildren();_1.forEach(_d,this._setupChild,this);if(this.persist){this.selectedChildWidget=_9.byId(_2(this.id+"_selectedChild"));}else{_1.some(_d,function(_e){if(_e.selected){this.selectedChildWidget=_e;}return _e.selected;},this);}var _f=this.selectedChildWidget;if(!_f&&_d[0]){_f=this.selectedChildWidget=_d[0];_f.selected=true;}_8.publish(this.id+"-startup",{children:_d,selected:_f});this.inherited(arguments);},resize:function(){if(!this._hasBeenShown){this._hasBeenShown=true;var _10=this.selectedChildWidget;if(_10){this._showChild(_10);}}this.inherited(arguments);},_setupChild:function(_11){this.inherited(arguments);_4.replace(_11.domNode,"dijitHidden","dijitVisible");_11.domNode.title="";},addChild:function(_12,_13){this.inherited(arguments);if(this._started){_8.publish(this.id+"-addChild",_12,_13);this.layout();if(!this.selectedChildWidget){this.selectChild(_12);}}},removeChild:function(_14){this.inherited(arguments);if(this._started){_8.publish(this.id+"-removeChild",_14);}if(this._descendantsBeingDestroyed){return;}if(this.selectedChildWidget===_14){this.selectedChildWidget=undefined;if(this._started){var _15=this.getChildren();if(_15.length){this.selectChild(_15[0]);}}}if(this._started){this.layout();}},selectChild:function(_16,_17){_16=_9.byId(_16);if(this.selectedChildWidget!=_16){var d=this._transition(_16,this.selectedChildWidget,_17);this._set("selectedChildWidget",_16);_8.publish(this.id+"-selectChild",_16);if(this.persist){_2(this.id+"_selectedChild",this.selectedChildWidget.id);}}return d;},_transition:function(_18,_19){if(_19){this._hideChild(_19);}var d=this._showChild(_18);if(_18.resize){if(this.doLayout){_18.resize(this._containerContentBox||this._contentBox);}else{_18.resize();}}return d;},_adjacent:function(_1a){var _1b=this.getChildren();var _1c=_1.indexOf(_1b,this.selectedChildWidget);_1c+=_1a?1:_1b.length-1;return _1b[_1c%_1b.length];},forward:function(){return this.selectChild(this._adjacent(true),true);},back:function(){return this.selectChild(this._adjacent(false),true);},_onKeyPress:function(e){_8.publish(this.id+"-containerKeyPress",{e:e,page:this});},layout:function(){var _1d=this.selectedChildWidget;if(_1d&&_1d.resize){if(this.doLayout){_1d.resize(this._containerContentBox||this._contentBox);}else{_1d.resize();}}},_showChild:function(_1e){var _1f=this.getChildren();_1e.isFirstChild=(_1e==_1f[0]);_1e.isLastChild=(_1e==_1f[_1f.length-1]);_1e._set("selected",true);_4.replace(_1e.domNode,"dijitVisible","dijitHidden");return (_1e._onShow&&_1e._onShow())||true;},_hideChild:function(_20){_20._set("selected",false);_4.replace(_20.domNode,"dijitHidden","dijitVisible");_20.onHide&&_20.onHide();},closeChild:function(_21){var _22=_21.onClose(this,_21);if(_22){this.removeChild(_21);_21.destroyRecursive();}},destroyDescendants:function(_23){this._descendantsBeingDestroyed=true;this.selectedChildWidget=undefined;_1.forEach(this.getChildren(),function(_24){if(!_23){this.removeChild(_24);}_24.destroyRecursive(_23);},this);this._descendantsBeingDestroyed=false;}});});},"dijit/layout/AccordionPane":function(){define("dijit/layout/AccordionPane",["dojo/_base/declare","dojo/_base/kernel","./ContentPane"],function(_25,_26,_27){return _25("dijit.layout.AccordionPane",_27,{constructor:function(){_26.deprecated("dijit.layout.AccordionPane deprecated, use ContentPane instead","","2.0");},onSelected:function(){}});});},"dijit/layout/TabController":function(){require({cache:{"url:dijit/layout/templates/_TabButton.html":"\n
\n
\n \t
\n\t\t
\n\t\t
\n\t\t
\n\t\t [x] \n\t\t\t
\n
\n
\n
\n"}});define("dijit/layout/TabController",["dojo/_base/declare","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/i18n","dojo/_base/lang","./StackController","../Menu","../MenuItem","dojo/text!./templates/_TabButton.html","dojo/i18n!../nls/common"],function(_28,dom,_29,_2a,_2b,_2c,_2d,_2e,_2f,_30){var _31=_28("dijit.layout._TabButton",_2d.StackButton,{baseClass:"dijitTab",cssStateNodes:{closeNode:"dijitTabCloseButton"},templateString:_30,scrollOnFocus:false,buildRendering:function(){this.inherited(arguments);dom.setSelectable(this.containerNode,false);},startup:function(){this.inherited(arguments);var n=this.domNode;setTimeout(function(){n.className=n.className;},1);},_setCloseButtonAttr:function(_32){this._set("closeButton",_32);_2a.toggle(this.innerDiv,"dijitClosable",_32);this.closeNode.style.display=_32?"":"none";if(_32){var _33=_2b.getLocalization("dijit","common");if(this.closeNode){_29.set(this.closeNode,"title",_33.itemClose);}this._closeMenu=new _2e({id:this.id+"_Menu",dir:this.dir,lang:this.lang,textDir:this.textDir,targetNodeIds:[this.domNode]});this._closeMenu.addChild(new _2f({label:_33.itemClose,dir:this.dir,lang:this.lang,textDir:this.textDir,onClick:_2c.hitch(this,"onClickCloseButton")}));}else{if(this._closeMenu){this._closeMenu.destroyRecursive();delete this._closeMenu;}}},_setLabelAttr:function(_34){this.inherited(arguments);if(!this.showLabel&&!this.params.title){this.iconNode.alt=_2c.trim(this.containerNode.innerText||this.containerNode.textContent||"");}},destroy:function(){if(this._closeMenu){this._closeMenu.destroyRecursive();delete this._closeMenu;}this.inherited(arguments);}});var _35=_28("dijit.layout.TabController",_2d,{baseClass:"dijitTabController",templateString:"
",tabPosition:"top",buttonWidget:_31,_rectifyRtlTabList:function(){if(0>=this.tabPosition.indexOf("-h")){return;}if(!this.pane2button){return;}var _36=0;for(var _37 in this.pane2button){var ow=this.pane2button[_37].innerDiv.scrollWidth;_36=Math.max(_36,ow);}for(_37 in this.pane2button){this.pane2button[_37].innerDiv.style.width=_36+"px";}}});_35.TabButton=_31;return _35;});},"dijit/form/ToggleButton":function(){define("dijit/form/ToggleButton",["dojo/_base/declare","dojo/_base/kernel","./Button","./_ToggleButtonMixin"],function(_38,_39,_3a,_3b){return _38("dijit.form.ToggleButton",[_3a,_3b],{baseClass:"dijitToggleButton",setChecked:function(_3c){_39.deprecated("setChecked("+_3c+") is deprecated. Use set('checked',"+_3c+") instead.","","2.0");this.set("checked",_3c);}});});},"dijit/layout/StackController":function(){define("dijit/layout/StackController",["dojo/_base/array","dojo/_base/declare","dojo/_base/event","dojo/keys","dojo/_base/lang","dojo/_base/sniff","../focus","../registry","../_Widget","../_TemplatedMixin","../_Container","../form/ToggleButton","dojo/i18n!../nls/common"],function(_3d,_3e,_3f,_40,_41,has,_42,_43,_44,_45,_46,_47){var _48=_3e("dijit.layout._StackButton",_47,{tabIndex:"-1",closeButton:false,_setCheckedAttr:function(_49,_4a){this.inherited(arguments);this.focusNode.removeAttribute("aria-pressed");},buildRendering:function(evt){this.inherited(arguments);(this.focusNode||this.domNode).setAttribute("role","tab");},onClick:function(){_42.focus(this.focusNode);},onClickCloseButton:function(evt){evt.stopPropagation();}});var _4b=_3e("dijit.layout.StackController",[_44,_45,_46],{baseClass:"dijitStackController",templateString:" ",containerId:"",buttonWidget:_48,constructor:function(){this.pane2button={};this.pane2connects={};this.pane2watches={};},postCreate:function(){this.inherited(arguments);this.subscribe(this.containerId+"-startup","onStartup");this.subscribe(this.containerId+"-addChild","onAddChild");this.subscribe(this.containerId+"-removeChild","onRemoveChild");this.subscribe(this.containerId+"-selectChild","onSelectChild");this.subscribe(this.containerId+"-containerKeyPress","onContainerKeyPress");},onStartup:function(_4c){_3d.forEach(_4c.children,this.onAddChild,this);if(_4c.selected){this.onSelectChild(_4c.selected);}},destroy:function(){for(var _4d in this.pane2button){this.onRemoveChild(_43.byId(_4d));}this.inherited(arguments);},onAddChild:function(_4e,_4f){var cls=_41.isString(this.buttonWidget)?_41.getObject(this.buttonWidget):this.buttonWidget;var _50=new cls({id:this.id+"_"+_4e.id,label:_4e.title,dir:_4e.dir,lang:_4e.lang,textDir:_4e.textDir,showLabel:_4e.showTitle,iconClass:_4e.iconClass,closeButton:_4e.closable,title:_4e.tooltip});_50.focusNode.setAttribute("aria-selected","false");var _51=["title","showTitle","iconClass","closable","tooltip"],_52=["label","showLabel","iconClass","closeButton","title"];this.pane2watches[_4e.id]=_3d.map(_51,function(_53,idx){return _4e.watch(_53,function(_54,_55,_56){_50.set(_52[idx],_56);});});this.pane2connects[_4e.id]=[this.connect(_50,"onClick",_41.hitch(this,"onButtonClick",_4e)),this.connect(_50,"onClickCloseButton",_41.hitch(this,"onCloseButtonClick",_4e))];this.addChild(_50,_4f);this.pane2button[_4e.id]=_50;_4e.controlButton=_50;if(!this._currentChild){_50.focusNode.setAttribute("tabIndex","0");_50.focusNode.setAttribute("aria-selected","true");this._currentChild=_4e;}if(!this.isLeftToRight()&&has("ie")&&this._rectifyRtlTabList){this._rectifyRtlTabList();}},onRemoveChild:function(_57){if(this._currentChild===_57){this._currentChild=null;}_3d.forEach(this.pane2connects[_57.id],_41.hitch(this,"disconnect"));delete this.pane2connects[_57.id];_3d.forEach(this.pane2watches[_57.id],function(w){w.unwatch();});delete this.pane2watches[_57.id];var _58=this.pane2button[_57.id];if(_58){this.removeChild(_58);delete this.pane2button[_57.id];_58.destroy();}delete _57.controlButton;},onSelectChild:function(_59){if(!_59){return;}if(this._currentChild){var _5a=this.pane2button[this._currentChild.id];_5a.set("checked",false);_5a.focusNode.setAttribute("aria-selected","false");_5a.focusNode.setAttribute("tabIndex","-1");}var _5b=this.pane2button[_59.id];_5b.set("checked",true);_5b.focusNode.setAttribute("aria-selected","true");this._currentChild=_59;_5b.focusNode.setAttribute("tabIndex","0");var _5c=_43.byId(this.containerId);_5c.containerNode.setAttribute("aria-labelledby",_5b.id);},onButtonClick:function(_5d){if(this._currentChild.id===_5d.id){var _5e=this.pane2button[_5d.id];_5e.set("checked",true);}var _5f=_43.byId(this.containerId);_5f.selectChild(_5d);},onCloseButtonClick:function(_60){var _61=_43.byId(this.containerId);_61.closeChild(_60);if(this._currentChild){var b=this.pane2button[this._currentChild.id];if(b){_42.focus(b.focusNode||b.domNode);}}},adjacent:function(_62){if(!this.isLeftToRight()&&(!this.tabPosition||/top|bottom/.test(this.tabPosition))){_62=!_62;}var _63=this.getChildren();var _64=_3d.indexOf(_63,this.pane2button[this._currentChild.id]);var _65=_62?1:_63.length-1;return _63[(_64+_65)%_63.length];},onkeypress:function(e){if(this.disabled||e.altKey){return;}var _66=null;if(e.ctrlKey||!e._djpage){switch(e.charOrCode){case _40.LEFT_ARROW:case _40.UP_ARROW:if(!e._djpage){_66=false;}break;case _40.PAGE_UP:if(e.ctrlKey){_66=false;}break;case _40.RIGHT_ARROW:case _40.DOWN_ARROW:if(!e._djpage){_66=true;}break;case _40.PAGE_DOWN:if(e.ctrlKey){_66=true;}break;case _40.HOME:case _40.END:var _67=this.getChildren();if(_67&&_67.length){_67[e.charOrCode==_40.HOME?0:_67.length-1].onClick();}_3f.stop(e);break;case _40.DELETE:if(this._currentChild.closable){this.onCloseButtonClick(this._currentChild);}_3f.stop(e);break;default:if(e.ctrlKey){if(e.charOrCode===_40.TAB){this.adjacent(!e.shiftKey).onClick();_3f.stop(e);}else{if(e.charOrCode=="w"){if(this._currentChild.closable){this.onCloseButtonClick(this._currentChild);}_3f.stop(e);}}}}if(_66!==null){this.adjacent(_66).onClick();_3f.stop(e);}}},onContainerKeyPress:function(_68){_68.e._djpage=_68.page;this.onkeypress(_68.e);}});_4b.StackButton=_48;return _4b;});},"url:dijit/layout/templates/TabContainer.html":"\n","url:dijit/layout/templates/_TabButton.html":"\n
\n
\n \t
\n\t\t
\n\t\t
\n\t\t
\n\t\t [x] \n\t\t\t
\n
\n
\n
\n","dijit/layout/BorderContainer":function(){define("dijit/layout/BorderContainer",["dojo/_base/array","dojo/cookie","dojo/_base/declare","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/dom-style","dojo/_base/event","dojo/keys","dojo/_base/lang","dojo/on","dojo/touch","dojo/_base/window","../_WidgetBase","../_Widget","../_TemplatedMixin","./_LayoutWidget","./utils"],function(_69,_6a,_6b,_6c,_6d,_6e,_6f,_70,_71,_72,on,_73,win,_74,_75,_76,_77,_78){var _79=_6b("dijit.layout._Splitter",[_75,_76],{live:true,templateString:"",constructor:function(){this._handlers=[];},postMixInProperties:function(){this.inherited(arguments);this.horizontal=/top|bottom/.test(this.region);this._factor=/top|left/.test(this.region)?1:-1;this._cookieName=this.container.id+"_"+this.region;},buildRendering:function(){this.inherited(arguments);_6c.add(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V"));if(this.container.persist){var _7a=_6a(this._cookieName);if(_7a){this.child.domNode.style[this.horizontal?"height":"width"]=_7a;}}},_computeMaxSize:function(){var dim=this.horizontal?"h":"w",_7b=_6e.getMarginBox(this.child.domNode)[dim],_7c=_69.filter(this.container.getChildren(),function(_7d){return _7d.region=="center";})[0],_7e=_6e.getMarginBox(_7c.domNode)[dim];return Math.min(this.child.maxSize,_7b+_7e);},_startDrag:function(e){if(!this.cover){this.cover=win.doc.createElement("div");_6c.add(this.cover,"dijitSplitterCover");_6d.place(this.cover,this.child.domNode,"after");}_6c.add(this.cover,"dijitSplitterCoverActive");if(this.fake){_6d.destroy(this.fake);}if(!(this._resize=this.live)){(this.fake=this.domNode.cloneNode(true)).removeAttribute("id");_6c.add(this.domNode,"dijitSplitterShadow");_6d.place(this.fake,this.domNode,"after");}_6c.add(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active");if(this.fake){_6c.remove(this.fake,"dijitSplitterHover dijitSplitter"+(this.horizontal?"H":"V")+"Hover");}var _7f=this._factor,_80=this.horizontal,_81=_80?"pageY":"pageX",_82=e[_81],_83=this.domNode.style,dim=_80?"h":"w",_84=_6e.getMarginBox(this.child.domNode)[dim],max=this._computeMaxSize(),min=this.child.minSize||20,_85=this.region,_86=_85=="top"||_85=="bottom"?"top":"left",_87=parseInt(_83[_86],10),_88=this._resize,_89=_72.hitch(this.container,"_layoutChildren",this.child.id),de=win.doc;this._handlers=this._handlers.concat([on(de,_73.move,this._drag=function(e,_8a){var _8b=e[_81]-_82,_8c=_7f*_8b+_84,_8d=Math.max(Math.min(_8c,max),min);if(_88||_8a){_89(_8d);}_83[_86]=_8b+_87+_7f*(_8d-_8c)+"px";}),on(de,"dragstart",_70.stop),on(win.body(),"selectstart",_70.stop),on(de,_73.release,_72.hitch(this,"_stopDrag"))]);_70.stop(e);},_onMouse:function(e){var o=(e.type=="mouseover"||e.type=="mouseenter");_6c.toggle(this.domNode,"dijitSplitterHover",o);_6c.toggle(this.domNode,"dijitSplitter"+(this.horizontal?"H":"V")+"Hover",o);},_stopDrag:function(e){try{if(this.cover){_6c.remove(this.cover,"dijitSplitterCoverActive");}if(this.fake){_6d.destroy(this.fake);}_6c.remove(this.domNode,"dijitSplitterActive dijitSplitter"+(this.horizontal?"H":"V")+"Active dijitSplitterShadow");this._drag(e);this._drag(e,true);}finally{this._cleanupHandlers();delete this._drag;}if(this.container.persist){_6a(this._cookieName,this.child.domNode.style[this.horizontal?"height":"width"],{expires:365});}},_cleanupHandlers:function(){var h;while(h=this._handlers.pop()){h.remove();}},_onKeyPress:function(e){this._resize=true;var _8e=this.horizontal;var _8f=1;switch(e.charOrCode){case _8e?_71.UP_ARROW:_71.LEFT_ARROW:_8f*=-1;case _8e?_71.DOWN_ARROW:_71.RIGHT_ARROW:break;default:return;}var _90=_6e.getMarginSize(this.child.domNode)[_8e?"h":"w"]+this._factor*_8f;this.container._layoutChildren(this.child.id,Math.max(Math.min(_90,this._computeMaxSize()),this.child.minSize));_70.stop(e);},destroy:function(){this._cleanupHandlers();delete this.child;delete this.container;delete this.cover;delete this.fake;this.inherited(arguments);}});var _91=_6b("dijit.layout._Gutter",[_75,_76],{templateString:"
",postMixInProperties:function(){this.inherited(arguments);this.horizontal=/top|bottom/.test(this.region);},buildRendering:function(){this.inherited(arguments);_6c.add(this.domNode,"dijitGutter"+(this.horizontal?"H":"V"));}});var _92=_6b("dijit.layout.BorderContainer",_77,{design:"headline",gutters:true,liveSplitters:true,persist:false,baseClass:"dijitBorderContainer",_splitterClass:_79,postMixInProperties:function(){if(!this.gutters){this.baseClass+="NoGutter";}this.inherited(arguments);},startup:function(){if(this._started){return;}_69.forEach(this.getChildren(),this._setupChild,this);this.inherited(arguments);},_setupChild:function(_93){var _94=_93.region;if(_94){this.inherited(arguments);_6c.add(_93.domNode,this.baseClass+"Pane");var ltr=this.isLeftToRight();if(_94=="leading"){_94=ltr?"left":"right";}if(_94=="trailing"){_94=ltr?"right":"left";}if(_94!="center"&&(_93.splitter||this.gutters)&&!_93._splitterWidget){var _95=_93.splitter?this._splitterClass:_91;if(_72.isString(_95)){_95=_72.getObject(_95);}var _96=new _95({id:_93.id+"_splitter",container:this,child:_93,region:_94,live:this.liveSplitters});_96.isSplitter=true;_93._splitterWidget=_96;_6d.place(_96.domNode,_93.domNode,"after");_96.startup();}_93.region=_94;}},layout:function(){this._layoutChildren();},addChild:function(_97,_98){this.inherited(arguments);if(this._started){this.layout();}},removeChild:function(_99){var _9a=_99.region;var _9b=_99._splitterWidget;if(_9b){_9b.destroy();delete _99._splitterWidget;}this.inherited(arguments);if(this._started){this._layoutChildren();}_6c.remove(_99.domNode,this.baseClass+"Pane");_6f.set(_99.domNode,{top:"auto",bottom:"auto",left:"auto",right:"auto",position:"static"});_6f.set(_99.domNode,_9a=="top"||_9a=="bottom"?"width":"height","auto");},getChildren:function(){return _69.filter(this.inherited(arguments),function(_9c){return !_9c.isSplitter;});},getSplitter:function(_9d){return _69.filter(this.getChildren(),function(_9e){return _9e.region==_9d;})[0]._splitterWidget;},resize:function(_9f,_a0){if(!this.cs||!this.pe){var _a1=this.domNode;this.cs=_6f.getComputedStyle(_a1);this.pe=_6e.getPadExtents(_a1,this.cs);this.pe.r=_6f.toPixelValue(_a1,this.cs.paddingRight);this.pe.b=_6f.toPixelValue(_a1,this.cs.paddingBottom);_6f.set(_a1,"padding","0px");}this.inherited(arguments);},_layoutChildren:function(_a2,_a3){if(!this._borderBox||!this._borderBox.h){return;}var _a4=_69.map(this.getChildren(),function(_a5,idx){return {pane:_a5,weight:[_a5.region=="center"?Infinity:0,_a5.layoutPriority,(this.design=="sidebar"?1:-1)*(/top|bottom/.test(_a5.region)?1:-1),idx]};},this);_a4.sort(function(a,b){var aw=a.weight,bw=b.weight;for(var i=0;i● \n"}});define("dijit/form/Button",["require","dojo/_base/declare","dojo/dom-class","dojo/_base/kernel","dojo/_base/lang","dojo/ready","./_FormWidget","./_ButtonMixin","dojo/text!./templates/Button.html"],function(_ab,_ac,_ad,_ae,_af,_b0,_b1,_b2,_b3){if(!_ae.isAsync){_b0(0,function(){var _b4=["dijit/form/DropDownButton","dijit/form/ComboButton","dijit/form/ToggleButton"];_ab(_b4);});}return _ac("dijit.form.Button",[_b1,_b2],{showLabel:true,iconClass:"dijitNoIcon",_setIconClassAttr:{node:"iconNode",type:"class"},baseClass:"dijitButton",templateString:_b3,_setValueAttr:"valueNode",_onClick:function(e){var ok=this.inherited(arguments);if(ok){if(this.valueNode){this.valueNode.click();e.preventDefault();}}return ok;},_fillContent:function(_b5){if(_b5&&(!this.params||!("label" in this.params))){var _b6=_af.trim(_b5.innerHTML);if(_b6){this.label=_b6;}}},_setShowLabelAttr:function(val){if(this.containerNode){_ad.toggle(this.containerNode,"dijitDisplayNone",!val);}this._set("showLabel",val);},setLabel:function(_b7){_ae.deprecated("dijit.form.Button.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");this.set("label",_b7);},_setLabelAttr:function(_b8){this.inherited(arguments);if(!this.showLabel&&!("title" in this.params)){this.titleNode.title=_af.trim(this.containerNode.innerText||this.containerNode.textContent||"");}}});});},"url:dijit/form/templates/Button.html":"
● \n","url:dijit/layout/templates/_ScrollingTabControllerButton.html":"
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
","dijit/layout/AccordionContainer":function(){require({cache:{"url:dijit/layout/templates/AccordionButton.html":"
\n\t
+ - \n\t\t
\n\t
\n
\n"}});define("dijit/layout/AccordionContainer",["require","dojo/_base/array","dojo/_base/declare","dojo/_base/event","dojo/_base/fx","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-construct","dojo/dom-geometry","dojo/_base/kernel","dojo/keys","dojo/_base/lang","dojo/_base/sniff","dojo/topic","../focus","../_base/manager","dojo/ready","../_Widget","../_Container","../_TemplatedMixin","../_CssStateMixin","./StackContainer","./ContentPane","dojo/text!./templates/AccordionButton.html"],function(_b9,_ba,_bb,_bc,fx,dom,_bd,_be,_bf,_c0,_c1,_c2,_c3,has,_c4,_c5,_c6,_c7,_c8,_c9,_ca,_cb,_cc,_cd,_ce){var _cf=_bb("dijit.layout._AccordionButton",[_c8,_ca,_cb],{templateString:_ce,label:"",_setLabelAttr:{node:"titleTextNode",type:"innerHTML"},title:"",_setTitleAttr:{node:"titleTextNode",type:"attribute",attribute:"title"},iconClassAttr:"",_setIconClassAttr:{node:"iconNode",type:"class"},baseClass:"dijitAccordionTitle",getParent:function(){return this.parent;},buildRendering:function(){this.inherited(arguments);var _d0=this.id.replace(" ","_");_bd.set(this.titleTextNode,"id",_d0+"_title");this.focusNode.setAttribute("aria-labelledby",_bd.get(this.titleTextNode,"id"));dom.setSelectable(this.domNode,false);},getTitleHeight:function(){return _c0.getMarginSize(this.domNode).h;},_onTitleClick:function(){var _d1=this.getParent();_d1.selectChild(this.contentWidget,true);_c5.focus(this.focusNode);},_onTitleKeyPress:function(evt){return this.getParent()._onKeyPress(evt,this.contentWidget);},_setSelectedAttr:function(_d2){this._set("selected",_d2);this.focusNode.setAttribute("aria-expanded",_d2);this.focusNode.setAttribute("aria-selected",_d2);this.focusNode.setAttribute("tabIndex",_d2?"0":"-1");}});var _d3=_bb("dijit.layout._AccordionInnerContainer",[_c8,_cb],{baseClass:"dijitAccordionInnerContainer",isLayoutContainer:true,buildRendering:function(){this.domNode=_bf.place("
",this.contentWidget.domNode,"after");var _d4=this.contentWidget,cls=_c3.isString(this.buttonWidget)?_c3.getObject(this.buttonWidget):this.buttonWidget;this.button=_d4._buttonWidget=(new cls({contentWidget:_d4,label:_d4.title,title:_d4.tooltip,dir:_d4.dir,lang:_d4.lang,textDir:_d4.textDir,iconClass:_d4.iconClass,id:_d4.id+"_button",parent:this.parent})).placeAt(this.domNode);this.containerNode=_bf.place("
",this.domNode);_bf.place(this.contentWidget.domNode,this.containerNode);},postCreate:function(){this.inherited(arguments);var _d5=this.button;this._contentWidgetWatches=[this.contentWidget.watch("title",_c3.hitch(this,function(_d6,_d7,_d8){_d5.set("label",_d8);})),this.contentWidget.watch("tooltip",_c3.hitch(this,function(_d9,_da,_db){_d5.set("title",_db);})),this.contentWidget.watch("iconClass",_c3.hitch(this,function(_dc,_dd,_de){_d5.set("iconClass",_de);}))];},_setSelectedAttr:function(_df){this._set("selected",_df);this.button.set("selected",_df);if(_df){var cw=this.contentWidget;if(cw.onSelected){cw.onSelected();}}},startup:function(){this.contentWidget.startup();},destroy:function(){this.button.destroyRecursive();_ba.forEach(this._contentWidgetWatches||[],function(w){w.unwatch();});delete this.contentWidget._buttonWidget;delete this.contentWidget._wrapperWidget;this.inherited(arguments);},destroyDescendants:function(_e0){this.contentWidget.destroyRecursive(_e0);}});var _e1=_bb("dijit.layout.AccordionContainer",_cc,{duration:_c6.defaultDuration,buttonWidget:_cf,baseClass:"dijitAccordionContainer",buildRendering:function(){this.inherited(arguments);this.domNode.style.overflow="hidden";this.domNode.setAttribute("role","tablist");},startup:function(){if(this._started){return;}this.inherited(arguments);if(this.selectedChildWidget){var _e2=this.selectedChildWidget.containerNode.style;_e2.display="";_e2.overflow="auto";this.selectedChildWidget._wrapperWidget.set("selected",true);}},layout:function(){var _e3=this.selectedChildWidget;if(!_e3){return;}var _e4=_e3._wrapperWidget.domNode,_e5=_c0.getMarginExtents(_e4),_e6=_c0.getPadBorderExtents(_e4),_e7=_e3._wrapperWidget.containerNode,_e8=_c0.getMarginExtents(_e7),_e9=_c0.getPadBorderExtents(_e7),_ea=this._contentBox;var _eb=0;_ba.forEach(this.getChildren(),function(_ec){if(_ec!=_e3){_eb+=_c0.getMarginSize(_ec._wrapperWidget.domNode).h;}});this._verticalSpace=_ea.h-_eb-_e5.h-_e6.h-_e8.h-_e9.h-_e3._buttonWidget.getTitleHeight();this._containerContentBox={h:this._verticalSpace,w:this._contentBox.w-_e5.w-_e6.w-_e8.w-_e9.w};if(_e3){_e3.resize(this._containerContentBox);}},_setupChild:function(_ed){_ed._wrapperWidget=_d3({contentWidget:_ed,buttonWidget:this.buttonWidget,id:_ed.id+"_wrapper",dir:_ed.dir,lang:_ed.lang,textDir:_ed.textDir,parent:this});this.inherited(arguments);},addChild:function(_ee,_ef){if(this._started){var _f0=this.containerNode;if(_ef&&typeof _ef=="number"){var _f1=_c8.prototype.getChildren.call(this);if(_f1&&_f1.length>=_ef){_f0=_f1[_ef-1].domNode;_ef="after";}}_bf.place(_ee.domNode,_f0,_ef);if(!_ee._started){_ee.startup();}this._setupChild(_ee);_c4.publish(this.id+"-addChild",_ee,_ef);this.layout();if(!this.selectedChildWidget){this.selectChild(_ee);}}else{this.inherited(arguments);}},removeChild:function(_f2){if(_f2._wrapperWidget){_bf.place(_f2.domNode,_f2._wrapperWidget.domNode,"after");_f2._wrapperWidget.destroy();delete _f2._wrapperWidget;}_be.remove(_f2.domNode,"dijitHidden");this.inherited(arguments);},getChildren:function(){return _ba.map(this.inherited(arguments),function(_f3){return _f3.declaredClass=="dijit.layout._AccordionInnerContainer"?_f3.contentWidget:_f3;},this);},destroy:function(){if(this._animation){this._animation.stop();}_ba.forEach(this.getChildren(),function(_f4){if(_f4._wrapperWidget){_f4._wrapperWidget.destroy();}else{_f4.destroyRecursive();}});this.inherited(arguments);},_showChild:function(_f5){_f5._wrapperWidget.containerNode.style.display="block";return this.inherited(arguments);},_hideChild:function(_f6){_f6._wrapperWidget.containerNode.style.display="none";this.inherited(arguments);},_transition:function(_f7,_f8,_f9){if(has("ie")<8){_f9=false;}if(this._animation){this._animation.stop(true);delete this._animation;}var _fa=this;if(_f7){_f7._wrapperWidget.set("selected",true);var d=this._showChild(_f7);if(this.doLayout&&_f7.resize){_f7.resize(this._containerContentBox);}}if(_f8){_f8._wrapperWidget.set("selected",false);if(!_f9){this._hideChild(_f8);}}if(_f9){var _fb=_f7._wrapperWidget.containerNode,_fc=_f8._wrapperWidget.containerNode;var _fd=_f7._wrapperWidget.containerNode,_fe=_c0.getMarginExtents(_fd),_ff=_c0.getPadBorderExtents(_fd),_100=_fe.h+_ff.h;_fc.style.height=(_fa._verticalSpace-_100)+"px";this._animation=new fx.Animation({node:_fb,duration:this.duration,curve:[1,this._verticalSpace-_100-1],onAnimate:function(_101){_101=Math.floor(_101);_fb.style.height=_101+"px";_fc.style.height=(_fa._verticalSpace-_100-_101)+"px";},onEnd:function(){delete _fa._animation;_fb.style.height="auto";_f8._wrapperWidget.containerNode.style.display="none";_fc.style.height="auto";_fa._hideChild(_f8);}});this._animation.onStop=this._animation.onEnd;this._animation.play();}return d;},_onKeyPress:function(e,_102){if(this.disabled||e.altKey||!(_102||e.ctrlKey)){return;}var c=e.charOrCode;if((_102&&(c==_c2.LEFT_ARROW||c==_c2.UP_ARROW))||(e.ctrlKey&&c==_c2.PAGE_UP)){this._adjacent(false)._buttonWidget._onTitleClick();_bc.stop(e);}else{if((_102&&(c==_c2.RIGHT_ARROW||c==_c2.DOWN_ARROW))||(e.ctrlKey&&(c==_c2.PAGE_DOWN||c==_c2.TAB))){this._adjacent(true)._buttonWidget._onTitleClick();_bc.stop(e);}}}});if(!_c1.isAsync){_c7(0,function(){var _103=["dijit/layout/AccordionPane"];_b9(_103);});}_e1._InnerContainer=_d3;_e1._Button=_cf;return _e1;});},"dijit/form/_ToggleButtonMixin":function(){define("dijit/form/_ToggleButtonMixin",["dojo/_base/declare","dojo/dom-attr"],function(_104,_105){return _104("dijit.form._ToggleButtonMixin",null,{checked:false,_aria_attr:"aria-pressed",_onClick:function(evt){var _106=this.checked;this._set("checked",!_106);var ret=this.inherited(arguments);this.set("checked",ret?this.checked:_106);return ret;},_setCheckedAttr:function(_107,_108){this._set("checked",_107);_105.set(this.focusNode||this.domNode,"checked",_107);(this.focusNode||this.domNode).setAttribute(this._aria_attr,_107?"true":"false");this._handleOnChange(_107,_108);},reset:function(){this._hasBeenBlurred=false;this.set("checked",this.params.checked||false);}});});},"dijit/form/_ButtonMixin":function(){define("dijit/form/_ButtonMixin",["dojo/_base/declare","dojo/dom","dojo/_base/event","../registry"],function(_109,dom,_10a,_10b){return _109("dijit.form._ButtonMixin",null,{label:"",type:"button",_onClick:function(e){if(this.disabled){_10a.stop(e);return false;}var _10c=this.onClick(e)===false;if(!_10c&&this.type=="submit"&&!(this.valueNode||this.focusNode).form){for(var node=this.domNode;node.parentNode;node=node.parentNode){var _10d=_10b.byNode(node);if(_10d&&typeof _10d._onSubmit=="function"){_10d._onSubmit(e);_10c=true;break;}}}if(_10c){e.preventDefault();}return !_10c;},postCreate:function(){this.inherited(arguments);dom.setSelectable(this.focusNode,false);},onClick:function(){return true;},_setLabelAttr:function(_10e){this._set("label",_10e);(this.containerNode||this.focusNode).innerHTML=_10e;}});});},"url:dijit/layout/templates/ScrollingTabController.html":"
","dijit/layout/ScrollingTabController":function(){require({cache:{"url:dijit/layout/templates/ScrollingTabController.html":"
","url:dijit/layout/templates/_ScrollingTabControllerButton.html":"
\n\t
\n\t\t
\n\t\t\t
\n\t\t\t
\n\t\t
\n\t
\n
"}});define("dijit/layout/ScrollingTabController",["dojo/_base/array","dojo/_base/declare","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/fx","dojo/_base/lang","dojo/query","dojo/_base/sniff","../registry","dojo/text!./templates/ScrollingTabController.html","dojo/text!./templates/_ScrollingTabControllerButton.html","./TabController","./utils","../_WidgetsInTemplateMixin","../Menu","../MenuItem","../form/Button","../_HasDropDown","dojo/NodeList-dom"],function(_10f,_110,_111,_112,_113,fx,lang,_114,has,_115,_116,_117,_118,_119,_11a,Menu,_11b,_11c,_11d){var _11e=_110("dijit.layout.ScrollingTabController",[_118,_11a],{baseClass:"dijitTabController dijitScrollingTabController",templateString:_116,useMenu:true,useSlider:true,tabStripClass:"",widgetsInTemplate:true,_minScroll:5,_setClassAttr:{node:"containerNode",type:"class"},buildRendering:function(){this.inherited(arguments);var n=this.domNode;this.scrollNode=this.tablistWrapper;this._initButtons();if(!this.tabStripClass){this.tabStripClass="dijitTabContainer"+this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/,"")+"None";_111.add(n,"tabStrip-disabled");}_111.add(this.tablistWrapper,this.tabStripClass);},onStartup:function(){this.inherited(arguments);_113.set(this.domNode,"visibility","");this._postStartup=true;},onAddChild:function(page,_11f){this.inherited(arguments);_10f.forEach(["label","iconClass"],function(attr){this.pane2watches[page.id].push(this.pane2button[page.id].watch(attr,lang.hitch(this,function(){if(this._postStartup&&this._dim){this.resize(this._dim);}})));},this);_113.set(this.containerNode,"width",(_113.get(this.containerNode,"width")+200)+"px");},onRemoveChild:function(page,_120){var _121=this.pane2button[page.id];if(this._selectedTab===_121.domNode){this._selectedTab=null;}this.inherited(arguments);},_initButtons:function(){this._btnWidth=0;this._buttons=_114("> .tabStripButton",this.domNode).filter(function(btn){if((this.useMenu&&btn==this._menuBtn.domNode)||(this.useSlider&&(btn==this._rightBtn.domNode||btn==this._leftBtn.domNode))){this._btnWidth+=_112.getMarginSize(btn).w;return true;}else{_113.set(btn,"display","none");return false;}},this);},_getTabsWidth:function(){var _122=this.getChildren();if(_122.length){var _123=_122[this.isLeftToRight()?0:_122.length-1].domNode,_124=_122[this.isLeftToRight()?_122.length-1:0].domNode;return _124.offsetLeft+_113.get(_124,"width")-_123.offsetLeft;}else{return 0;}},_enableBtn:function(_125){var _126=this._getTabsWidth();_125=_125||_113.get(this.scrollNode,"width");return _126>0&&_125<_126;},resize:function(dim){this._dim=dim;this.scrollNode.style.height="auto";var cb=this._contentBox=_119.marginBox2contentBox(this.domNode,{h:0,w:dim.w});cb.h=this.scrollNode.offsetHeight;_112.setContentSize(this.domNode,cb);var _127=this._enableBtn(this._contentBox.w);this._buttons.style("display",_127?"":"none");this._leftBtn.layoutAlign="left";this._rightBtn.layoutAlign="right";this._menuBtn.layoutAlign=this.isLeftToRight()?"right":"left";_119.layoutChildren(this.domNode,this._contentBox,[this._menuBtn,this._leftBtn,this._rightBtn,{domNode:this.scrollNode,layoutAlign:"client"}]);if(this._selectedTab){if(this._anim&&this._anim.status()=="playing"){this._anim.stop();}this.scrollNode.scrollLeft=this._convertToScrollLeft(this._getScrollForSelectedTab());}this._setButtonClass(this._getScroll());this._postResize=true;return {h:this._contentBox.h,w:dim.w};},_getScroll:function(){return (this.isLeftToRight()||has("ie")<8||(has("ie")&&has("quirks"))||has("webkit"))?this.scrollNode.scrollLeft:_113.get(this.containerNode,"width")-_113.get(this.scrollNode,"width")+(has("ie")==8?-1:1)*this.scrollNode.scrollLeft;},_convertToScrollLeft:function(val){if(this.isLeftToRight()||has("ie")<8||(has("ie")&&has("quirks"))||has("webkit")){return val;}else{var _128=_113.get(this.containerNode,"width")-_113.get(this.scrollNode,"width");return (has("ie")==8?-1:1)*(val-_128);}},onSelectChild:function(page){var tab=this.pane2button[page.id];if(!tab||!page){return;}var node=tab.domNode;if(node!=this._selectedTab){this._selectedTab=node;if(this._postResize){var sl=this._getScroll();if(sl>node.offsetLeft||sl+_113.get(this.scrollNode,"width")
_12a){return {min:this.isLeftToRight()?0:_129[_129.length-1].domNode.offsetLeft,max:this.isLeftToRight()?(_129[_129.length-1].domNode.offsetLeft+_113.get(_129[_129.length-1].domNode,"width"))-_12a:_12c};}else{var _12e=this.isLeftToRight()?0:_12c;return {min:_12e,max:_12e};}},_getScrollForSelectedTab:function(){var w=this.scrollNode,n=this._selectedTab,_12f=_113.get(this.scrollNode,"width"),_130=this._getScrollBounds();var pos=(n.offsetLeft+_113.get(n,"width")/2)-_12f/2;pos=Math.min(Math.max(pos,_130.min),_130.max);return pos;},createSmoothScroll:function(x){if(arguments.length>0){var _131=this._getScrollBounds();x=Math.min(Math.max(x,_131.min),_131.max);}else{x=this._getScrollForSelectedTab();}if(this._anim&&this._anim.status()=="playing"){this._anim.stop();}var self=this,w=this.scrollNode,anim=new fx.Animation({beforeBegin:function(){if(this.curve){delete this.curve;}var oldS=w.scrollLeft,newS=self._convertToScrollLeft(x);anim.curve=new fx._Line(oldS,newS);},onAnimate:function(val){w.scrollLeft=val;}});this._anim=anim;this._setButtonClass(x);return anim;},_getBtnNode:function(e){var n=e.target;while(n&&!_111.contains(n,"tabStripButton")){n=n.parentNode;}return n;},doSlideRight:function(e){this.doSlide(1,this._getBtnNode(e));},doSlideLeft:function(e){this.doSlide(-1,this._getBtnNode(e));},doSlide:function(_132,node){if(node&&_111.contains(node,"dijitTabDisabled")){return;}var _133=_113.get(this.scrollNode,"width");var d=(_133*0.75)*_132;var to=this._getScroll()+d;this._setButtonClass(to);this.createSmoothScroll(to).play();},_setButtonClass:function(_134){var _135=this._getScrollBounds();this._leftBtn.set("disabled",_134<=_135.min);this._rightBtn.set("disabled",_134>=_135.max);}});var _136=_110("dijit.layout._ScrollingTabControllerButtonMixin",null,{baseClass:"dijitTab tabStripButton",templateString:_117,tabIndex:"",isFocusable:function(){return false;}});_110("dijit.layout._ScrollingTabControllerButton",[_11c,_136]);_110("dijit.layout._ScrollingTabControllerMenuButton",[_11c,_11d,_136],{containerId:"",tabIndex:"-1",isLoaded:function(){return false;},loadDropDown:function(_137){this.dropDown=new Menu({id:this.containerId+"_menu",dir:this.dir,lang:this.lang,textDir:this.textDir});var _138=_115.byId(this.containerId);_10f.forEach(_138.getChildren(),function(page){var _139=new _11b({id:page.id+"_stcMi",label:page.title,iconClass:page.iconClass,dir:page.dir,lang:page.lang,textDir:page.textDir,onClick:function(){_138.selectChild(page);}});this.dropDown.addChild(_139);},this);_137();},closeDropDown:function(_13a){this.inherited(arguments);if(this.dropDown){this.dropDown.destroyRecursive();delete this.dropDown;}}});return _11e;});},"dijit/layout/TabContainer":function(){define("dijit/layout/TabContainer",["dojo/_base/lang","dojo/_base/declare","./_TabContainerBase","./TabController","./ScrollingTabController"],function(lang,_13b,_13c,_13d,_13e){return _13b("dijit.layout.TabContainer",_13c,{useMenu:true,useSlider:true,controllerWidget:"",_makeController:function(_13f){var cls=this.baseClass+"-tabs"+(this.doLayout?"":" dijitTabNoLayout"),_13d=lang.getObject(this.controllerWidget);return new _13d({id:this.id+"_tablist",dir:this.dir,lang:this.lang,textDir:this.textDir,tabPosition:this.tabPosition,doLayout:this.doLayout,containerId:this.id,"class":cls,nested:this.nested,useMenu:this.useMenu,useSlider:this.useSlider,tabStripClass:this.tabStrip?this.baseClass+(this.tabStrip?"":"No")+"Strip":null},_13f);},postMixInProperties:function(){this.inherited(arguments);if(!this.controllerWidget){this.controllerWidget=(this.tabPosition=="top"||this.tabPosition=="bottom")&&!this.nested?"dijit.layout.ScrollingTabController":"dijit.layout.TabController";}}});});},"dijit/_HasDropDown":function(){define("dijit/_HasDropDown",["dojo/_base/declare","dojo/_base/Deferred","dojo/_base/event","dojo/dom","dojo/dom-attr","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/has","dojo/keys","dojo/_base/lang","dojo/touch","dojo/_base/window","./registry","./focus","./popup","./_FocusMixin","./Viewport"],function(_140,_141,_142,dom,_143,_144,_145,_146,has,keys,lang,_147,win,_148,_149,_14a,_14b,_14c){return _140("dijit._HasDropDown",_14b,{_buttonNode:null,_arrowWrapperNode:null,_popupStateNode:null,_aroundNode:null,dropDown:null,autoWidth:true,forceWidth:false,maxHeight:0,dropDownPosition:["below","above"],_stopClickEvents:true,_onDropDownMouseDown:function(e){if(this.disabled||this.readOnly){return;}e.preventDefault();this._docHandler=this.connect(win.doc,_147.release,"_onDropDownMouseUp");this.toggleDropDown();},_onDropDownMouseUp:function(e){if(e&&this._docHandler){this.disconnect(this._docHandler);}var _14d=this.dropDown,_14e=false;if(e&&this._opened){var c=_145.position(this._buttonNode,true);if(!(e.pageX>=c.x&&e.pageX<=c.x+c.w)||!(e.pageY>=c.y&&e.pageY<=c.y+c.h)){var t=e.target;while(t&&!_14e){if(_144.contains(t,"dijitPopup")){_14e=true;}else{t=t.parentNode;}}if(_14e){t=e.target;if(_14d.onItemClick){var _14f;while(t&&!(_14f=_148.byNode(t))){t=t.parentNode;}if(_14f&&_14f.onClick&&_14f.getParent){_14f.getParent().onItemClick(_14f,e);}}return;}}}if(this._opened){if(_14d.focus&&_14d.autoFocus!==false){window.setTimeout(lang.hitch(_14d,"focus"),1);}}else{setTimeout(lang.hitch(this,"focus"),0);}if(has("ios")){this._justGotMouseUp=true;setTimeout(lang.hitch(this,function(){this._justGotMouseUp=false;}),0);}},_onDropDownClick:function(e){if(has("ios")&&!this._justGotMouseUp){this._onDropDownMouseDown(e);this._onDropDownMouseUp(e);}if(this._stopClickEvents){_142.stop(e);}},buildRendering:function(){this.inherited(arguments);this._buttonNode=this._buttonNode||this.focusNode||this.domNode;this._popupStateNode=this._popupStateNode||this.focusNode||this._buttonNode;var _150={"after":this.isLeftToRight()?"Right":"Left","before":this.isLeftToRight()?"Left":"Right","above":"Up","below":"Down","left":"Left","right":"Right"}[this.dropDownPosition[0]]||this.dropDownPosition[0]||"Down";_144.add(this._arrowWrapperNode||this._buttonNode,"dijit"+_150+"ArrowButton");},postCreate:function(){this.inherited(arguments);this.connect(this._buttonNode,_147.press,"_onDropDownMouseDown");this.connect(this._buttonNode,"onclick","_onDropDownClick");this.connect(this.focusNode,"onkeypress","_onKey");this.connect(this.focusNode,"onkeyup","_onKeyUp");},destroy:function(){if(this.dropDown){if(!this.dropDown._destroyed){this.dropDown.destroyRecursive();}delete this.dropDown;}this.inherited(arguments);},_onKey:function(e){if(this.disabled||this.readOnly){return;}var d=this.dropDown,_151=e.target;if(d&&this._opened&&d.handleKey){if(d.handleKey(e)===false){_142.stop(e);return;}}if(d&&this._opened&&e.charOrCode==keys.ESCAPE){this.closeDropDown();_142.stop(e);}else{if(!this._opened&&(e.charOrCode==keys.DOWN_ARROW||((e.charOrCode==keys.ENTER||e.charOrCode==" ")&&((_151.tagName||"").toLowerCase()!=="input"||(_151.type&&_151.type.toLowerCase()!=="text"))))){this._toggleOnKeyUp=true;_142.stop(e);}}},_onKeyUp:function(){if(this._toggleOnKeyUp){delete this._toggleOnKeyUp;this.toggleDropDown();var d=this.dropDown;if(d&&d.focus){setTimeout(lang.hitch(d,"focus"),1);}}},_onBlur:function(){var _152=_149.curNode&&this.dropDown&&dom.isDescendant(_149.curNode,this.dropDown.domNode);this.closeDropDown(_152);this.inherited(arguments);},isLoaded:function(){return true;},loadDropDown:function(_153){_153();},loadAndOpenDropDown:function(){var d=new _141(),_154=lang.hitch(this,function(){this.openDropDown();d.resolve(this.dropDown);});if(!this.isLoaded()){this.loadDropDown(_154);}else{_154();}return d;},toggleDropDown:function(){if(this.disabled||this.readOnly){return;}if(!this._opened){this.loadAndOpenDropDown();}else{this.closeDropDown();}},openDropDown:function(){var _155=this.dropDown,_156=_155.domNode,_157=this._aroundNode||this.domNode,self=this;if(!this._preparedNode){this._preparedNode=true;if(_156.style.width){this._explicitDDWidth=true;}if(_156.style.height){this._explicitDDHeight=true;}}if(this.maxHeight||this.forceWidth||this.autoWidth){var _158={display:"",visibility:"hidden"};if(!this._explicitDDWidth){_158.width="";}if(!this._explicitDDHeight){_158.height="";}_146.set(_156,_158);var _159=this.maxHeight;if(_159==-1){var _15a=_14c.getEffectiveBox(this.ownerDocument),_15b=_145.position(_157,false);_159=Math.floor(Math.max(_15b.y,_15a.h-(_15b.y+_15b.h)));}_14a.moveOffScreen(_155);if(_155.startup&&!_155._started){_155.startup();}var mb=_145.getMarginSize(_156);var _15c=(_159&&mb.h>_159);_146.set(_156,{overflow:_15c?"auto":"visible"});if(_15c){mb.h=_159;if("w" in mb){mb.w+=16;}}else{delete mb.h;}if(this.forceWidth){mb.w=_157.offsetWidth;}else{if(this.autoWidth){mb.w=Math.max(mb.w,_157.offsetWidth);}else{delete mb.w;}}if(lang.isFunction(_155.resize)){_155.resize(mb);}else{_145.setMarginBox(_156,mb);}}var _15d=_14a.open({parent:this,popup:_155,around:_157,orient:this.dropDownPosition,onExecute:function(){self.closeDropDown(true);},onCancel:function(){self.closeDropDown(true);},onClose:function(){_143.set(self._popupStateNode,"popupActive",false);_144.remove(self._popupStateNode,"dijitHasDropDownOpen");self._opened=false;}});_143.set(this._popupStateNode,"popupActive","true");_144.add(self._popupStateNode,"dijitHasDropDownOpen");this._opened=true;return _15d;},closeDropDown:function(_15e){if(this._opened){if(_15e){this.focus();}_14a.close(this.dropDown);this._opened=false;}}});});},"dijit/layout/_TabContainerBase":function(){require({cache:{"url:dijit/layout/templates/TabContainer.html":"\n"}});define("dijit/layout/_TabContainerBase",["dojo/text!./templates/TabContainer.html","./StackContainer","./utils","../_TemplatedMixin","dojo/_base/declare","dojo/dom-class","dojo/dom-geometry","dojo/dom-style"],function(_15f,_160,_161,_162,_163,_164,_165,_166){return _163("dijit.layout._TabContainerBase",[_160,_162],{tabPosition:"top",baseClass:"dijitTabContainer",tabStrip:false,nested:false,templateString:_15f,postMixInProperties:function(){this.baseClass+=this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/,"");this.srcNodeRef&&_166.set(this.srcNodeRef,"visibility","hidden");this.inherited(arguments);},buildRendering:function(){this.inherited(arguments);this.tablist=this._makeController(this.tablistNode);if(!this.doLayout){_164.add(this.domNode,"dijitTabContainerNoLayout");}if(this.nested){_164.add(this.domNode,"dijitTabContainerNested");_164.add(this.tablist.containerNode,"dijitTabContainerTabListNested");_164.add(this.tablistSpacer,"dijitTabContainerSpacerNested");_164.add(this.containerNode,"dijitTabPaneWrapperNested");}else{_164.add(this.domNode,"tabStrip-"+(this.tabStrip?"enabled":"disabled"));}},_setupChild:function(tab){_164.add(tab.domNode,"dijitTabPane");this.inherited(arguments);},startup:function(){if(this._started){return;}this.tablist.startup();this.inherited(arguments);},layout:function(){if(!this._contentBox||typeof (this._contentBox.l)=="undefined"){return;}var sc=this.selectedChildWidget;if(this.doLayout){var _167=this.tabPosition.replace(/-h/,"");this.tablist.layoutAlign=_167;var _168=[this.tablist,{domNode:this.tablistSpacer,layoutAlign:_167},{domNode:this.containerNode,layoutAlign:"client"}];_161.layoutChildren(this.domNode,this._contentBox,_168);this._containerContentBox=_161.marginBox2contentBox(this.containerNode,_168[2]);if(sc&&sc.resize){sc.resize(this._containerContentBox);}}else{if(this.tablist.resize){var s=this.tablist.domNode.style;s.width="0";var _169=_165.getContentBox(this.domNode).w;s.width="";this.tablist.resize({w:_169});}if(sc&&sc.resize){sc.resize();}}},destroy:function(){if(this.tablist){this.tablist.destroy();}this.inherited(arguments);}});});},"*noref":1}});define("dijit/_dijit_layout_ext",[],1);require(["dijit/layout/BorderContainer","dijit/layout/AccordionContainer","dijit/layout/AccordionPane","dijit/layout/TabContainer"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojox/data/dom":function(){define("dojox/data/dom",["dojo/_base/kernel","dojo/_base/lang","dojox/xml/parser"],function(_1,_2,_3){dojo.deprecated("dojox.data.dom","Use dojox.xml.parser instead.","2.0");var _4=_2.getObject("dojox.data.dom",true);_4.createDocument=function(_5,_6){dojo.deprecated("dojox.data.dom.createDocument()","Use dojox.xml.parser.parse() instead.","2.0");try{return _3.parse(_5,_6);}catch(e){return null;}};_4.textContent=function(_7,_8){dojo.deprecated("dojox.data.dom.textContent()","Use dojox.xml.parser.textContent() instead.","2.0");if(arguments.length>1){return _3.textContent(_7,_8);}else{return _3.textContent(_7);}};_4.replaceChildren=function(_9,_a){dojo.deprecated("dojox.data.dom.replaceChildren()","Use dojox.xml.parser.replaceChildren() instead.","2.0");_3.replaceChildren(_9,_a);};_4.removeChildren=function(_b){dojo.deprecated("dojox.data.dom.removeChildren()","Use dojox.xml.parser.removeChildren() instead.","2.0");return dojox.xml.parser.removeChildren(_b);};_4.innerXML=function(_c){dojo.deprecated("dojox.data.dom.innerXML()","Use dojox.xml.parser.innerXML() instead.","2.0");return _3.innerXML(_c);};return _4;});},"dojox/xml/parser":function(){define("dojox/xml/parser",["dojo/_base/kernel","dojo/_base/lang","dojo/_base/array","dojo/_base/window","dojo/_base/sniff"],function(_d){_d.getObject("xml.parser",true,dojox);dojox.xml.parser.parse=function(_e,_f){var _10=_d.doc;var doc;_f=_f||"text/xml";if(_e&&_d.trim(_e)&&"DOMParser" in _d.global){var _11=new DOMParser();doc=_11.parseFromString(_e,_f);var de=doc.documentElement;var _12="http://www.mozilla.org/newlayout/xml/parsererror.xml";if(de.nodeName=="parsererror"&&de.namespaceURI==_12){var _13=de.getElementsByTagNameNS(_12,"sourcetext")[0];if(_13){_13=_13.firstChild.data;}throw new Error("Error parsing text "+de.firstChild.data+" \n"+_13);}return doc;}else{if("ActiveXObject" in _d.global){var ms=function(n){return "MSXML"+n+".DOMDocument";};var dp=["Microsoft.XMLDOM",ms(6),ms(4),ms(3),ms(2)];_d.some(dp,function(p){try{doc=new ActiveXObject(p);}catch(e){return false;}return true;});if(_e&&doc){doc.async=false;doc.loadXML(_e);var pe=doc.parseError;if(pe.errorCode!==0){throw new Error("Line: "+pe.line+"\n"+"Col: "+pe.linepos+"\n"+"Reason: "+pe.reason+"\n"+"Error Code: "+pe.errorCode+"\n"+"Source: "+pe.srcText);}}if(doc){return doc;}}else{if(_10.implementation&&_10.implementation.createDocument){if(_e&&_d.trim(_e)&&_10.createElement){var tmp=_10.createElement("xml");tmp.innerHTML=_e;var _14=_10.implementation.createDocument("foo","",null);_d.forEach(tmp.childNodes,function(_15){_14.importNode(_15,true);});return _14;}else{return _10.implementation.createDocument("","",null);}}}}return null;};dojox.xml.parser.textContent=function(_16,_17){if(arguments.length>1){var _18=_16.ownerDocument||_d.doc;dojox.xml.parser.replaceChildren(_16,_18.createTextNode(_17));return _17;}else{if(_16.textContent!==undefined){return _16.textContent;}var _19="";if(_16){_d.forEach(_16.childNodes,function(_1a){switch(_1a.nodeType){case 1:case 5:_19+=dojox.xml.parser.textContent(_1a);break;case 3:case 2:case 4:_19+=_1a.nodeValue;}});}return _19;}};dojox.xml.parser.replaceChildren=function(_1b,_1c){var _1d=[];if(_d.isIE){_d.forEach(_1b.childNodes,function(_1e){_1d.push(_1e);});}dojox.xml.parser.removeChildren(_1b);_d.forEach(_1d,_d.destroy);if(!_d.isArray(_1c)){_1b.appendChild(_1c);}else{_d.forEach(_1c,function(_1f){_1b.appendChild(_1f);});}};dojox.xml.parser.removeChildren=function(_20){var _21=_20.childNodes.length;while(_20.hasChildNodes()){_20.removeChild(_20.firstChild);}return _21;};dojox.xml.parser.innerXML=function(_22){if(_22.innerXML){return _22.innerXML;}else{if(_22.xml){return _22.xml;}else{if(typeof XMLSerializer!="undefined"){return (new XMLSerializer()).serializeToString(_22);}}}return null;};return dojox.xml.parser;});},"*noref":1}});define("dojox/_dojox_xml",[],1);require(["dojox/data/dom","dojox/xml/parser"]);/*
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
/*
This is an optimized version of Dojo, built for deployment and not for
development. To get sources and documentation, please visit:
http://dojotoolkit.org
*/
//>>built
require({cache:{"dojox/atom/io/Connection":function(){define("dojox/atom/io/Connection",["dojo/_base/kernel","dojo/_base/xhr","dojo/_base/window","./model","dojo/_base/declare"],function(_1,_2,_3,_4){return _1.declare("dojox.atom.io.Connection",null,{constructor:function(_5,_6){this.sync=_5;this.preventCache=_6;},preventCache:false,alertsEnabled:false,getFeed:function(_7,_8,_9,_a){this._getXmlDoc(_7,"feed",new _4.Feed(),_4._Constants.ATOM_NS,_8,_9,_a);},getService:function(_b,_c,_d,_e){this._getXmlDoc(_b,"service",new _4.Service(_b),_4._Constants.APP_NS,_c,_d,_e);},getEntry:function(_f,_10,_11,_12){this._getXmlDoc(_f,"entry",new _4.Entry(),_4._Constants.ATOM_NS,_10,_11,_12);},_getXmlDoc:function(url,_13,_14,_15,_16,_17,_18){if(!_18){_18=_3.global;}var ae=this.alertsEnabled;var _19={url:url,handleAs:"xml",sync:this.sync,preventCache:this.preventCache,load:function(_1a,_1b){var _1c=null;var _1d=_1a;var _1e;if(_1d){if(typeof (_1d.getElementsByTagNameNS)!="undefined"){_1e=_1d.getElementsByTagNameNS(_15,_13);if(_1e&&_1e.length>0){_1c=_1e.item(0);}else{if(_1d.lastChild){_1c=_1d.lastChild;}}}else{if(typeof (_1d.getElementsByTagName)!="undefined"){_1e=_1d.getElementsByTagName(_13);if(_1e&&_1e.length>0){for(var i=0;i<_1e.length;i++){if(_1e[i].namespaceURI==_15){_1c=_1e[i];break;}}}else{if(_1d.lastChild){_1c=_1d.lastChild;}}}else{if(_1d.lastChild){_1c=_1d.lastChild;}else{_16.call(_18,null,null,_1b);return;}}}_14.buildFromDom(_1c);if(_16){_16.call(_18,_14,_1d,_1b);}else{if(ae){throw new Error("The callback value does not exist.");}}}else{_16.call(_18,null,null,_1b);}}};if(this.user&&this.user!==null){_19.user=this.user;}if(this.password&&this.password!==null){_19.password=this.password;}if(_17){_19.error=function(_1f,_20){_17.call(_18,_1f,_20);};}else{_19.error=function(){throw new Error("The URL requested cannot be accessed");};}_2.get(_19);},updateEntry:function(_21,_22,_23,_24,_25,_26){if(!_26){_26=_3.global;}_21.updated=new Date();var url=_21.getEditHref();if(!url){throw new Error("A URL has not been specified for editing this entry.");}var _27=this;var ae=this.alertsEnabled;var _28={url:url,handleAs:"text",contentType:"text/xml",sync:this.sync,preventCache:this.preventCache,load:function(_29,_2a){var _2b=null;if(_24){_2b=_2a.xhr.getResponseHeader("Location");if(!_2b){_2b=url;}var _2c=function(_2d,dom,_2e){if(_22){_22.call(_26,_2d,_2b,_2e);}else{if(ae){throw new Error("The callback value does not exist.");}}};_27.getEntry(_2b,_2c);}else{if(_22){_22.call(_26,_21,_2a.xhr.getResponseHeader("Location"),_2a);}else{if(ae){throw new Error("The callback value does not exist.");}}}return _29;}};if(this.user&&this.user!==null){_28.user=this.user;}if(this.password&&this.password!==null){_28.password=this.password;}if(_23){_28.error=function(_2f,_30){_23.call(_26,_2f,_30);};}else{_28.error=function(){throw new Error("The URL requested cannot be accessed");};}if(_25){_28.postData=_21.toString(true);_28.headers={"X-Method-Override":"PUT"};_2.post(_28);}else{_28.putData=_21.toString(true);var xhr=_2.put(_28);}},addEntry:function(_31,url,_32,_33,_34,_35){if(!_35){_35=_3.global;}_31.published=new Date();_31.updated=new Date();var _36=_31.feedUrl;var ae=this.alertsEnabled;if(!url&&_36){url=_36;}if(!url){if(ae){throw new Error("The request cannot be processed because the URL parameter is missing.");}return;}var _37=this;var _38={url:url,handleAs:"text",contentType:"text/xml",sync:this.sync,preventCache:this.preventCache,postData:_31.toString(true),load:function(_39,_3a){var _3b=_3a.xhr.getResponseHeader("Location");if(!_3b){_3b=url;}if(!_3a.retrieveEntry){if(_32){_32.call(_35,_31,_3b,_3a);}else{if(ae){throw new Error("The callback value does not exist.");}}}else{var _3c=function(_3d,dom,_3e){if(_32){_32.call(_35,_3d,_3b,_3e);}else{if(ae){throw new Error("The callback value does not exist.");}}};_37.getEntry(_3b,_3c);}return _39;}};if(this.user&&this.user!==null){_38.user=this.user;}if(this.password&&this.password!==null){_38.password=this.password;}if(_33){_38.error=function(_3f,_40){_33.call(_35,_3f,_40);};}else{_38.error=function(){throw new Error("The URL requested cannot be accessed");};}_2.post(_38);},deleteEntry:function(_41,_42,_43,_44,_45){if(!_45){_45=_3.global;}var url=null;if(typeof (_41)=="string"){url=_41;}else{url=_41.getEditHref();}if(!url){_42.call(_45,false,null);throw new Error("The request cannot be processed because the URL parameter is missing.");}var _46={url:url,handleAs:"text",sync:this.sync,preventCache:this.preventCache,load:function(_47,_48){_42.call(_45,_48);return _47;}};if(this.user&&this.user!==null){_46.user=this.user;}if(this.password&&this.password!==null){_46.password=this.password;}if(_43){_46.error=function(_49,_4a){_43.call(_45,_49,_4a);};}else{_46.error=function(){throw new Error("The URL requested cannot be accessed");};}if(_44){_46.headers={"X-Method-Override":"DELETE"};dhxr.post(_46);}else{_2.del(_46);}}});});},"dojox/atom/io/model":function(){define("dojox/atom/io/model",["dojo/_base/kernel","dojo/_base/declare","dojo/_base/lang","dojo/date/stamp","dojox/xml/parser"],function(_4b,_4c,_4d,_4e,_4f){var _50=_4b.getObject("dojox.atom.io.model",true);_50._Constants={"ATOM_URI":"http://www.w3.org/2005/Atom","ATOM_NS":"http://www.w3.org/2005/Atom","PURL_NS":"http://purl.org/atom/app#","APP_NS":"http://www.w3.org/2007/app"};_50._actions={"link":function(obj,_51){if(obj.links===null){obj.links=[];}var _52=new _50.Link();_52.buildFromDom(_51);obj.links.push(_52);},"author":function(obj,_53){if(obj.authors===null){obj.authors=[];}var _54=new _50.Person("author");_54.buildFromDom(_53);obj.authors.push(_54);},"contributor":function(obj,_55){if(obj.contributors===null){obj.contributors=[];}var _56=new _50.Person("contributor");_56.buildFromDom(_55);obj.contributors.push(_56);},"category":function(obj,_57){if(obj.categories===null){obj.categories=[];}var cat=new _50.Category();cat.buildFromDom(_57);obj.categories.push(cat);},"icon":function(obj,_58){obj.icon=_4f.textContent(_58);},"id":function(obj,_59){obj.id=_4f.textContent(_59);},"rights":function(obj,_5a){obj.rights=_4f.textContent(_5a);},"subtitle":function(obj,_5b){var cnt=new _50.Content("subtitle");cnt.buildFromDom(_5b);obj.subtitle=cnt;},"title":function(obj,_5c){var cnt=new _50.Content("title");cnt.buildFromDom(_5c);obj.title=cnt;},"updated":function(obj,_5d){obj.updated=_50.util.createDate(_5d);},"issued":function(obj,_5e){obj.issued=_50.util.createDate(_5e);},"modified":function(obj,_5f){obj.modified=_50.util.createDate(_5f);},"published":function(obj,_60){obj.published=_50.util.createDate(_60);},"entry":function(obj,_61){if(obj.entries===null){obj.entries=[];}var _62=obj.createEntry?obj.createEntry():new _50.Entry();_62.buildFromDom(_61);obj.entries.push(_62);},"content":function(obj,_63){var cnt=new _50.Content("content");cnt.buildFromDom(_63);obj.content=cnt;},"summary":function(obj,_64){var _65=new _50.Content("summary");_65.buildFromDom(_64);obj.summary=_65;},"name":function(obj,_66){obj.name=_4f.textContent(_66);},"email":function(obj,_67){obj.email=_4f.textContent(_67);},"uri":function(obj,_68){obj.uri=_4f.textContent(_68);},"generator":function(obj,_69){obj.generator=new _50.Generator();obj.generator.buildFromDom(_69);}};_50.util={createDate:function(_6a){var _6b=_4f.textContent(_6a);if(_6b){return _4e.fromISOString(_4d.trim(_6b));}return null;},escapeHtml:function(str){return str.replace(/&/gm,"&").replace(//gm,">").replace(/"/gm,""").replace(/'/gm,"'");},unEscapeHtml:function(str){return str.replace(/</gm,"<").replace(/>/gm,">").replace(/"/gm,"\"").replace(/'/gm,"'").replace(/&/gm,"&");},getNodename:function(_6c){var _6d=null;if(_6c!==null){_6d=_6c.localName?_6c.localName:_6c.nodeName;if(_6d!==null){var _6e=_6d.indexOf(":");if(_6e!==-1){_6d=_6d.substring((_6e+1),_6d.length);}}}return _6d;}};_50.Node=_4b.declare(null,{constructor:function(_6f,_70,_71,_72,_73){this.name_space=_6f;this.name=_70;this.attributes=[];if(_71){this.attributes=_71;}this.content=[];this.rawNodes=[];this.textContent=null;if(_72){this.content.push(_72);}this.shortNs=_73;this._objName="Node";this.nodeType="Node";},buildFromDom:function(_74){this._saveAttributes(_74);this.name_space=_74.namespaceURI;this.shortNs=_74.prefix;this.name=_50.util.getNodename(_74);for(var x=0;x<_74.childNodes.length;x++){var c=_74.childNodes[x];if(_50.util.getNodename(c)!="#text"){this.rawNodes.push(c);var n=new _50.Node();n.buildFromDom(c,true);this.content.push(n);}else{this.content.push(c.nodeValue);}}this.textContent=_4f.textContent(_74);},_saveAttributes:function(_75){if(!this.attributes){this.attributes=[];}var _76=function(_77){var _78=_77.attributes;if(_78===null){return false;}return (_78.length!==0);};if(_76(_75)&&this._getAttributeNames){var _79=this._getAttributeNames(_75);if(_79&&_79.length>0){for(var x in _79){var _7a=_75.getAttribute(_79[x]);if(_7a){this.attributes[_79[x]]=_7a;}}}}},addAttribute:function(_7b,_7c){this.attributes[_7b]=_7c;},getAttribute:function(_7d){return this.attributes[_7d];},_getAttributeNames:function(_7e){var _7f=[];for(var i=0;i<_7e.attributes.length;i++){_7f.push(_7e.attributes[i].nodeName);}return _7f;},toString:function(){var xml=[];var x;var _80=(this.shortNs?this.shortNs+":":"")+this.name;var _81=(this.name=="#cdata-section");if(_81){xml.push("");}else{xml.push("<");xml.push(_80);if(this.name_space){xml.push(" xmlns='"+this.name_space+"'");}if(this.attributes){for(x in this.attributes){xml.push(" "+x+"='"+this.attributes[x]+"'");}}if(this.content){xml.push(">");for(x in this.content){xml.push(this.content[x]);}xml.push(""+_80+">\n");}else{xml.push("/>\n");}}return xml.join("");},addContent:function(_82){this.content.push(_82);}});_50.AtomItem=_4b.declare(_50.Node,{constructor:function(_83){this.ATOM_URI=_50._Constants.ATOM_URI;this.links=null;this.authors=null;this.categories=null;this.contributors=null;this.icon=this.id=this.logo=this.xmlBase=this.rights=null;this.subtitle=this.title=null;this.updated=this.published=null;this.issued=this.modified=null;this.content=null;this.extensions=null;this.entries=null;this.name_spaces={};this._objName="AtomItem";this.nodeType="AtomItem";},_getAttributeNames:function(){return null;},_accepts:{},accept:function(tag){return Boolean(this._accepts[tag]);},_postBuild:function(){},buildFromDom:function(_84){var i,c,n;for(i=0;i<_84.attributes.length;i++){c=_84.attributes.item(i);n=_50.util.getNodename(c);if(c.prefix=="xmlns"&&c.prefix!=n){this.addNamespace(c.nodeValue,n);}}c=_84.childNodes;for(i=0;i \n");return s.join("");},buildFromDom:function(_a8){this._saveAttributes(_a8);this.label=this.attributes.label;this.scheme=this.attributes.scheme;this.term=this.attributes.term;if(this._postBuild){this._postBuild();}}});_50.Content=_4b.declare(_50.Node,{constructor:function(_a9,_aa,src,_ab,_ac){this.tagName=_a9;this.value=_aa;this.src=src;this.type=_ab;this.xmlLang=_ac;this.HTML="html";this.TEXT="text";this.XHTML="xhtml";this.XML="xml";this._useTextContent="true";this.nodeType="Content";},_getAttributeNames:function(){return ["type","src"];},_postBuild:function(){},buildFromDom:function(_ad){var _ae=_ad.getAttribute("type");if(_ae){_ae=_ae.toLowerCase();if(_ae=="xml"||"text/xml"){_ae=this.XML;}}else{_ae="text";}if(_ae===this.XML){if(_ad.firstChild){var i;this.value="";for(i=0;i<_ad.childNodes.length;i++){var c=_ad.childNodes[i];if(c){this.value+=_4f.innerXML(c);}}}}else{if(_ad.innerHTML){this.value=_ad.innerHTML;}else{this.value=_4f.textContent(_ad);}}this._saveAttributes(_ad);if(this.attributes){this.type=this.attributes.type;this.scheme=this.attributes.scheme;this.term=this.attributes.term;}if(!this.type){this.type="text";}var _af=this.type.toLowerCase();if(_af==="html"||_af==="text/html"||_af==="xhtml"||_af==="text/xhtml"){this.value=this.value?_50.util.unEscapeHtml(this.value):"";}if(this._postBuild){this._postBuild();}},toString:function(){var s=[];s.push("<"+this.tagName+" ");if(!this.type){this.type="text";}if(this.type){s.push(" type=\""+this.type+"\" ");}if(this.xmlLang){s.push(" xml:lang=\""+this.xmlLang+"\" ");}if(this.xmlBase){s.push(" xml:base=\""+this.xmlBase+"\" ");}if(this.type.toLowerCase()==this.HTML){s.push(">"+_50.util.escapeHtml(this.value)+""+this.tagName+">\n");}else{s.push(">"+this.value+""+this.tagName+">\n");}var ret=s.join("");return ret;}});_50.Link=_4b.declare(_50.Node,{constructor:function(_b0,rel,_b1,_b2,_b3){this.href=_b0;this.hrefLang=_b1;this.rel=rel;this.title=_b2;this.type=_b3;this.nodeType="Link";},_getAttributeNames:function(){return ["href","jrefLang","rel","title","type"];},_postBuild:function(){},buildFromDom:function(_b4){this._saveAttributes(_b4);this.href=this.attributes.href;this.hrefLang=this.attributes.hreflang;this.rel=this.attributes.rel;this.title=this.attributes.title;this.type=this.attributes.type;if(this._postBuild){this._postBuild();}},toString:function(){var s=[];s.push(" \n");return s.join("");}});_50.Person=_4b.declare(_50.Node,{constructor:function(_b5,_b6,_b7,uri){this.author="author";this.contributor="contributor";if(!_b5){_b5=this.author;}this.personType=_b5;this.name=_b6||"";this.email=_b7||"";this.uri=uri||"";this._objName="Person";this.nodeType="Person";},_getAttributeNames:function(){return null;},_postBuild:function(){},accept:function(tag){return Boolean(this._accepts[tag]);},buildFromDom:function(_b8){var c=_b8.childNodes;for(var i=0;i\n");if(this.name){s.push("\t"+this.name+" \n");}if(this.email){s.push("\t"+this.email+" \n");}if(this.uri){s.push("\t"+this.uri+" \n");}s.push(""+this.personType+">\n");return s.join("");}});_50.Generator=_4b.declare(_50.Node,{constructor:function(uri,_bb,_bc){this.uri=uri;this.version=_bb;this.value=_bc;},_postBuild:function(){},buildFromDom:function(_bd){this.value=_4f.textContent(_bd);this._saveAttributes(_bd);this.uri=this.attributes.uri;this.version=this.attributes.version;if(this._postBuild){this._postBuild();}},toString:function(){var s=[];s.push(""+this.value+" \n");var ret=s.join("");return ret;}});_50.Entry=_4b.declare(_50.AtomItem,{constructor:function(id){this.id=id;this._objName="Entry";this.feedUrl=null;},_getAttributeNames:function(){return null;},_accepts:{"author":true,"content":true,"category":true,"contributor":true,"created":true,"id":true,"link":true,"published":true,"rights":true,"summary":true,"title":true,"updated":true,"xmlbase":true,"issued":true,"modified":true},toString:function(_be){var s=[];var i;if(_be){s.push("");s.push("\n");s.push(""+(this.id?this.id:"")+" \n");if(this.issued&&!this.published){this.published=this.issued;}if(this.published){s.push(""+_4e.toISOString(this.published)+" \n");}if(this.created){s.push(""+_4e.toISOString(this.created)+" \n");}if(this.issued){s.push(""+_4e.toISOString(this.issued)+" \n");}if(this.modified){s.push(""+_4e.toISOString(this.modified)+" \n");}if(this.modified&&!this.updated){this.updated=this.modified;}if(this.updated){s.push(""+_4e.toISOString(this.updated)+" \n");}if(this.rights){s.push(""+this.rights+" \n");}if(this.title){s.push(this.title.toString());}if(this.summary){s.push(this.summary.toString());}var _bf=[this.authors,this.categories,this.links,this.contributors,this.extensions];for(var x in _bf){if(_bf[x]){for(var y in _bf[x]){s.push(_bf[x][y]);}}}if(this.content){s.push(this.content.toString());}s.push(" \n");return s.join("");},getEditHref:function(){if(this.links===null||this.links.length===0){return null;}for(var x in this.links){if(this.links[x].rel&&this.links[x].rel=="edit"){return this.links[x].href;}}return null;},setEditHref:function(url){if(this.links===null){this.links=[];}for(var x in this.links){if(this.links[x].rel&&this.links[x].rel=="edit"){this.links[x].href=url;return;}}this.addLink(url,"edit");}});_50.Feed=_4b.declare(_50.AtomItem,{_accepts:{"author":true,"content":true,"category":true,"contributor":true,"created":true,"id":true,"link":true,"published":true,"rights":true,"summary":true,"title":true,"updated":true,"xmlbase":true,"entry":true,"logo":true,"issued":true,"modified":true,"icon":true,"subtitle":true},addEntry:function(_c0){if(!_c0.id){throw new Error("The entry object must be assigned an ID attribute.");}if(!this.entries){this.entries=[];}_c0.feedUrl=this.getSelfHref();this.entries.push(_c0);},getFirstEntry:function(){if(!this.entries||this.entries.length===0){return null;}return this.entries[0];},getEntry:function(_c1){if(!this.entries){return null;}for(var x in this.entries){if(this.entries[x].id==_c1){return this.entries[x];}}return null;},removeEntry:function(_c2){if(!this.entries){return;}var _c3=0;for(var i=0;i\n");s.push("\n");s.push(""+(this.id?this.id:"")+" \n");if(this.title){s.push(this.title);}if(this.copyright&&!this.rights){this.rights=this.copyright;}if(this.rights){s.push(""+this.rights+" \n");}if(this.issued){s.push(""+_4e.toISOString(this.issued)+" \n");}if(this.modified){s.push(""+_4e.toISOString(this.modified)+" \n");}if(this.modified&&!this.updated){this.updated=this.modified;}if(this.updated){s.push(""+_4e.toISOString(this.updated)+" \n");}if(this.published){s.push(""+_4e.toISOString(this.published)+" \n");}if(this.icon){s.push(""+this.icon+" \n");}if(this.language){s.push(""+this.language+" \n");}if(this.logo){s.push(""+this.logo+" \n");}if(this.subtitle){s.push(this.subtitle.toString());}if(this.tagline){s.push(this.tagline.toString());}var _c5=[this.alternateLinks,this.authors,this.categories,this.contributors,this.otherLinks,this.extensions,this.entries];for(i in _c5){if(_c5[i]){for(var x in _c5[i]){s.push(_c5[i][x]);}}}s.push(" ");return s.join("");},createEntry:function(){var _c6=new _50.Entry();_c6.feedUrl=this.getSelfHref();return _c6;},getSelfHref:function(){if(this.links===null||this.links.length===0){return null;}for(var x in this.links){if(this.links[x].rel&&this.links[x].rel=="self"){return this.links[x].href;}}return null;}});_50.Service=_4b.declare(_50.AtomItem,{constructor:function(_c7){this.href=_c7;},buildFromDom:function(_c8){var i;this.workspaces=[];if(_c8.tagName!="service"){return;}if(_c8.namespaceURI!=_50._Constants.PURL_NS&&_c8.namespaceURI!=_50._Constants.APP_NS){return;}var ns=_c8.namespaceURI;this.name_space=_c8.namespaceURI;var _c9;if(typeof (_c8.getElementsByTagNameNS)!="undefined"){_c9=_c8.getElementsByTagNameNS(ns,"workspace");}else{_c9=[];var _ca=_c8.getElementsByTagName("workspace");for(i=0;i<_ca.length;i++){if(_ca[i].namespaceURI==ns){_c9.push(_ca[i]);}}}if(_c9&&_c9.length>0){var _cb=0;var _cc;for(i=0;i<_c9.length;i++){_cc=(typeof (_c9.item)==="undefined"?_c9[i]:_c9.item(i));var _cd=new _50.Workspace();_cd.buildFromDom(_cc);this.workspaces[_cb++]=_cd;}}},getCollection:function(url){for(var i=0;i=0)?_7:0;i<_6.length;i++){
f(_6[i],i,_6);
}
};
i$.forIn=function(o,f){
for(var i in o){
f(o[i],i,o);
}
};
i$.each=function(o,f,s){
if(s){
f=i$.scope(s,f);
}
if(o){
if(o instanceof Array||typeof o.length==="number"){
i$.forEach(o,f);
}else{
i$.forIn(o,f);
}
}
};
i$.some=function(a,f,s){
if(s){
f=i$.scope(s,f);
}
for(var i=0;i1){
i$["is"+_1c[0]]=_19(m[1]);
}
});
})(navigator.userAgent);
var _1d=document.documentMode;
if(_1d&&_1d!=5&&Math.floor(i$.isIE)!=_1d){
i$.isIE=_1d;
}
i$.isNode=function(o){
return typeof o==="object"&&typeof o.nodeType==="number"&&typeof o.nodeName==="string";
};
i$.isFunction=function(o){
return typeof o==="function"||o instanceof Function;
};
i$.isObject=function(o){
return typeof o==="object";
};
i$.isArray=function(o){
return o instanceof Array;
};
i$.isString=function(o){
return typeof o==="string";
};
i$.isNumber=function(o){
return typeof o==="number";
};
i$.isBoolean=function(o){
return typeof o==="boolean";
};
i$.isLikeArray=function(o){
return o instanceof Array||typeof o.length==="number";
};
i$.toArray=function(o){
return Array.prototype.slice.call(o);
};
if(i$.isIE){
var _1e=i$.toArray;
i$.toArray=function(o){
try{
return _1e(o);
}
catch(err){
var a=new Array(o.length);
for(var i=0;i0){
if(fn=_20.shift()){
try{
fn();
}
catch(err){
console.log(err);
}
}
}
};
i$._exitPage=function(){
var fn;
while(_21.length>0){
if(fn=_21.shift()){
try{
fn();
}
catch(err){
console.log(err);
}
}
}
};
i$._addEvent=function(e,f,o){
var w=o?o:window;
var s=w.attachEvent?e:e.substring(2);
var a=w.attachEvent||w.addEventListener;
a(s,function(){
f.apply(w,arguments);
},false);
};
if(!_1f){
i$._addEvent("onload",i$._initPage);
if(document.addEventListener){
document.addEventListener("DOMContentLoaded",i$._initPage,false);
}
}
i$._addEvent("onunload",i$._exitPage);
i$.addOnLoad=function(f,o){
if(o){
f=i$.scope(o,f);
}
if(_1f){
f();
}else{
_20.push(f);
}
};
i$.addOnUnload=function(f,o){
if(o){
f=i$.scope(o,f);
}
_21.push(f);
};
var mx=function(o,m){
for(var p in m){
if(m.hasOwnProperty(p)){
o[p]=m[p];
}
}
},mxn=function(o,m,_22){
i$.forEach(_22,function(p){
if(m.hasOwnProperty(p)){
o[p]=m[p];
}
});
};
i$.mash=function(o){
i$.forEach(arguments,function(v){
mx(o,v);
},1);
return o;
};
i$.mashSpec=function(n,o){
i$.forEach(arguments,function(v){
mxn(o,v,n);
},2);
return o;
};
i$.augment=function(f){
var r=f;
if(f&&f.prototype){
f=f.prototype;
i$.mash.apply(i$,arguments);
}
return r;
};
i$.make=(function(){
var l=function(){
};
return function(o){
l.prototype=o;
o=new l();
return i$.mash.apply(i$,arguments);
};
})();
var _23=/^\s+/g;
i$.trim=function(str){
str=str.replace(_23,"");
var i=str.length-1;
while(str.charAt(i)==" "||str.charAt(i)=="\t"||str.charAt(i)=="\n"||str.charAt(i)=="\r"){
i--;
}
return str.substring(0,i+1);
};
var _24=i$.isArray,_25=i$.isObject;
i$.merge=function(_26,_27,_28){
var _28=_28||[],v,c;
_27=_27||i$.global;
if(_24(_26)&&_24(_27)){
_27.push.apply(_27,_26);
}else{
for(var x in _26){
if(_26.hasOwnProperty(x)){
v=_26[x],c=_27[x];
if(c!=null&&((_24(v)&&_24(c))||(_25(v)&&_25(c)))){
_27[x]=i$.merge(v,c,_28.concat(x));
}else{
_27[x]=v;
}
}
}
}
return _27;
};
var _29;
i$.isRTL=function(_2a){
if(!_29){
_29=i$.fromPath("ibmCfg.themeConfig.RTLMap");
}
var _2b=_29||{"iw":1,"he":1,"ar":1};
return (_2a.substring(0,2) in _2b);
};
})();
/** Licensed Materials - Property of IBM, 5724-E76 and 5724-E77, (C) Copyright IBM Corp. 2011, 2012 - All Rights reserved. **/
(function(){
i$.Promise=function(){
this._cbs=[];
this._stat=-1;
};
i$.promise={};
i$.promise.Promise=i$.Promise;
i$.mash(i$.promise,{isPromise:function(o){
return o&&i$.isFunction(o.then);
},resolved:function(o){
var p=new i$.Promise();
p.resolve(o);
return p;
},rejected:function(_1){
var p=new i$.Promise();
p.reject(_1);
return p;
},join:function(_2){
var _3=new i$.Promise(),_4=new Array(_2.length),_5=0,_6=false,_7=function(){
if(++_5>=_4.length){
_3[_6?"reject":"resolve"](_4);
}
};
if(_2.length>0){
i$.each(_2,function(p,i){
p.then(function(v){
_4[i]=v;
_7();
},function(e){
_6=true;
_4[i]=e;
_7();
});
});
}else{
_3.resolve([]);
}
return _3;
}});
i$.mash(i$,{when:function(o){
return i$.promise.isPromise(o)?o:i$.promise.resolved(o);
},whenAll:function(o){
var a=[];
i$.each(arguments,function(p){
a.push(i$.when(p));
});
return i$.promise.join(a);
}});
i$.promise.when=i$.when;
i$.promise.whenAll=i$.whenAll;
i$.Promise.prototype={_fin:function(v,s){
if(this._stat!==-1){
throw new Error("Promise already resolved");
}
this._v=v;
this._stat=s;
this._cbk();
return this;
},_cbk:function(){
var st=this._stat,_8=this._cbs,v=this._v,f;
if(st===0){
if(i$.promise.isPromise(v)){
while(_8.length>0){
v.then.apply(v,_8.shift());
}
}
}
while(_8.length>0){
f=_8.shift()[st];
if(f){
try{
f(v);
}
catch(err){
}
}
}
},_delegate:function(fn){
var p=new i$.Promise();
this.then(i$.partial(fn,p),i$.scope(p,"reject"));
return p;
},resolve:function(v){
return this._fin(v,0);
},reject:function(e){
return this._fin(e,1);
},progress:function(p){
i$.each(this._cbs,function(_9){
if(_9[2]){
_9[2](p);
}
});
return this;
},then:function(_a,_b,_c){
var p=new i$.Promise();
this._cbs.push([function(v){
try{
if(_a){
var rv=_a(v);
if(rv!==undefined){
v=rv;
}
}
p.resolve(v);
}
catch(exc){
p.reject(exc);
}
},function(e){
var rv=e;
try{
if(_b){
rv=_b(e);
if(rv===undefined){
rv=e;
}
}
}
catch(exc){
rv=exc;
}
p.reject(rv);
},_c]);
if(this._stat!==-1){
this._cbk();
}
return p;
},call:function(_d,_e){
return this._delegate(function(p,_f){
if(_f&&i$.isFunction(_f[_d])){
p.resolve(_f[_d].apply(_f,_e));
}else{
p.reject(new Error(_d+" is not a function on "+o));
}
});
},get:function(_10){
return this._delegate(function(p,_11){
if(_11){
p.resolve(_11[_10]);
}else{
p.reject(new Error(_11+" is null or undefined"));
}
});
}};
})();
(function(){
i$.getXHR=typeof XMLHttpRequest!=="undefined"?function(){
return new XMLHttpRequest();
}:function(){
return new ActiveXObject("MSXML2.XMLHTTP.3.0");
};
i$.toQuery=function(o){
var q=[];
i$.each(o,function(v,k){
if(i$.isString(v)){
q.push(k+"="+v);
}else{
if(i$.isArray(v)){
i$.each(v,function(av,i){
q.push(k+"="+av);
});
}
}
});
return q.join("&");
};
i$.fromQuery=function(q){
var o={};
i$.each(q.split("&"),function(av,i){
var p=av.split("="),k=p[0],v=p[1],cv=o[k];
if(cv){
if(!i$.isArray(cv)){
cv=o[k]=[cv];
}
cv.push(v);
}else{
o[k]=v;
}
});
return o;
};
i$.xhr=function(_12,_13){
var _12=_12||"GET",_14=new i$.Promise(),url=_13.url||"",_15=_13.sync||false,cb=_13.callback||function(){
},_16=_13.responseType||"text",_17=_13.postData||null,xhr=i$.getXHR();
var _18=function(){
if(xhr.readyState===4){
try{
xhr.onreadystatechange=i$.isIE<=8?new Function():null;
}
catch(xhrERR){
}
if(xhr.status>=400){
var err=new Error(xhr.status+": "+xhr.responseText);
try{
cb(err,xhr);
}
finally{
_14.reject({data:err,xhr:xhr});
}
}else{
try{
var ret="";
if(i$.xhrFmts[_16]){
ret=i$.xhrFmts[_16](xhr);
}
}
catch(err){
cb(err,xhr);
return;
}
try{
cb(ret,xhr);
}
finally{
_14.resolve({data:ret,xhr:xhr});
}
}
}
};
if(!_15){
xhr.onreadystatechange=_18;
}
xhr.open(_12,url,!_15);
i$.each(_13.headers,function(v,k){
xhr.setRequestHeader(k,v);
});
xhr.send(_17);
if(_15){
_18();
}
return _14;
};
i$.each(["Get","Put","Post","Delete"],function(m){
i$["xhr"+m]=i$.partial(i$.xhr,m.toUpperCase());
});
i$.loadScript=function(_19){
var _1a=document.getElementsByTagName("head")[0],_1b=document.createElement("script"),_1c=new i$.Promise(),_1d=false,_1e=function(_1f,_20){
_1b.onreadystatechange=_1b.onload=null;
_1d=true;
_1c[_1f?"resolve":"reject"](_20);
if(_19.callback){
_19.callback(_1f,_20);
}
_1a.removeChild(_1b);
_1b=null;
};
_1b.type="text/javascript";
_1b.onreadystatechange=function(){
if(this.readyState==="loaded"||this.readyState==="complete"){
_1e(true);
}
};
_1b.onload=function(){
_1e(true);
};
i$.each(_19.scriptAttrs,function(v,k){
if(v!=null){
_1b.setAttribute(k,v);
}
});
_1b.src=_19.url;
_1a.appendChild(_1b);
if(_19.timeout){
setTimeout(function(){
if(!_1d){
_1e(false,new Error("Timeout exceeded"));
}
},_19.timeout);
}
return _1c;
};
})();
(function(){
if(typeof (JSON)!="undefined"&&JSON.parse){
i$.fromJson=function(str){
return JSON.parse(str);
};
i$.toJson=function(obj,_21){
return JSON.stringify(obj,null,_21?"\t":"");
};
}else{
i$.fromJson=function(str){
return eval(["(",str,")"].join(""));
};
var _22=function(str){
return ["\"",str.replace(/[\\]/g,"\\\\").replace(/["]/g,"\\\"").replace(/[\r]/g,"\\r").replace(/[\n]/g,"\\n").replace(/[\b]/g,"\\b").replace(/[\t]/g,"\\t").replace(/[\f]/g,"\\f"),"\""].join("");
},_23=function(obj,p,_24,_25){
var ap,_26;
if(_24){
_25=_25||"";
_26=_25+"\t";
}
if(obj===null){
p.push("null");
}else{
if(obj===undefined){
p.push("undefined");
}else{
if(i$.isBoolean(obj)||i$.isNumber(obj)){
p.push(obj);
}else{
if(i$.isString(obj)){
p.push(_22(obj));
}else{
if(i$.isFunction(obj.toJson)){
p.push(obj.toJson());
}else{
if(i$.isArray(obj)){
p.push("[");
ap=[];
i$.each(obj,function(el){
var _27=[];
_23(el,_27,_24,_26);
ap.push(_27.join(""));
});
if(ap.length>0){
if(_24){
p.push("\n"+_26);
}
p.push(ap.join(_24?",\n"+_26:","));
if(_24){
p.push("\n"+_25);
}
}
p.push("]");
}else{
if(i$.isObject(obj)){
p.push("{");
ap=[];
i$.each(obj,function(el,key){
var _28=[_22(key),": "];
_23(el,_28,_24,_26);
ap.push(_28.join(""));
});
if(ap.length>0){
if(_24){
p.push("\n"+_26);
}
p.push(ap.join(_24?",\n"+_26:","));
if(_24){
p.push("\n"+_25);
}
}
p.push("}");
}
}
}
}
}
}
}
};
i$.toJson=function(obj,_29){
var p=[];
_23(obj,p,_29);
return p.join("");
};
}
i$.xhrFmts.json=function(xhr){
return i$.fromJson(xhr.responseText);
};
})();
(function(){
var _2a=function(){
this._evts={};
},_2b=function(_2c,_2d){
return _2c._evts[_2d]||(_2c._evts[_2d]={l:[],b:[]});
},add=function(_2e,_2f,_30,fn){
var e=_2b(_2e,_2f),c=e[_30].push(fn);
return [_2f,_30,c-1];
},_31=function(_32,_33){
var e=_2b(_32,_33[0]);
delete e[_33[1]][_33[2]];
},_34=function(evt,_35,_36){
var _37=evt.b,_36=_36||0,b,r;
for(var i=_36;i<_37.length;i++){
b=_37[i];
if(b){
_35=typeof _35==="undefined"?[]:_35;
r=b.apply(null,_35||[]);
if(i$.promise.isPromise(r)){
return r.then(function(_38){
if(_38!==false){
return _34(evt,_35,i+1);
}
return _38;
});
}
}
}
},_39=function(evt,_3a){
var _3b=evt.l,l;
for(var i=0;i<_3b.length;i++){
l=_3b[i];
if(l){
l.apply(null,_3a||[]);
}
}
},_3c=function(_3d,_3e,_3f){
var e=_2b(_3d,_3e);
return i$.when(_34(e,_3f)).then(function(_40){
if(_40!==false){
_39(e,_3f);
}
return _40;
});
};
i$.augment(_2a,{addListener:function(_41,fn){
return add(this,_41,"l",fn);
},removeListener:function(_42){
return _31(this,_42);
},addBroker:function(_43,fn){
return add(this,_43,"b",fn);
},removeBroker:function(_44){
return _31(this,_44);
},fireEvent:function(_45,_46){
return _3c(this,_45,_46);
}});
var _47=new _2a();
i$.each(["addListener","removeListener","addBroker","removeBroker","fireEvent"],function(n){
i$[n]=i$.scope(_47,n);
});
})();
(function(){
var _48=document.createElement("div");
i$.byId=function(id){
if(i$.isNode(id)){
return id;
}else{
return document.getElementById(id);
}
};
i$.createDom=function(_49,_4a,_4b){
var el=document.createElement(_49);
i$.each(_4a,function(v,k){
el.setAttribute(k,v);
});
if(_4b){
_4b.appendChild(el);
}
return el;
};
var _4c=_48.addEventListener?function(n){
return n.indexOf("on")==0?n.substr(2):n;
}:function(n){
return n.indexOf("on")!=0?"on"+n:n;
},add=_48.addEventListener?function(_4d,_4e,f){
_4d.addEventListener(_4e,f,false);
}:function(_4f,_50,f){
_4f.attachEvent(_50,f);
},_51=_48.removeEventListener?function(_52,_53,f){
_52.removeEventListener(_53,f,false);
}:function(_54,_55,f){
_54.detachEvent(_55,f);
};
i$.isDescendant=function(_56,anc){
if(anc){
while(_56){
if(_56==anc){
return true;
}
_56=_56.parentNode;
}
}
return false;
};
i$.bindDomEvt=function(_57,_58,f){
_58=_4c(_58);
if((_58=="mouseleave"||_58=="mouseenter")&&!i$.isIE){
var fp=f;
_58=_58=="mouseleave"?"mouseout":"mouseover";
f=function(e){
if(!i$.isDescendant(e.relatedTarget,_57)){
return fp.call(this,e);
}
};
}
add(_57,_58,f);
return [_57,_58,f];
};
i$.unbindDomEvt=function(_59){
if(_59[0]){
_51(_59[0],_59[1],_59[2]);
}
_59.splice(0,3);
};
if("classList" in _48){
i$.mash(i$,{addClass:function(_5a,_5b){
_5a&&_5a.classList&&_5a.classList.add(_5b);
},removeClass:function(_5c,_5d){
_5c&&_5c.classList&&_5c.classList.remove(_5d);
},hasClass:function(_5e,_5f){
return _5e&&_5e.classList&&_5e.classList.contains(_5f);
},toggleClass:function(_60,_61){
_60&&_60.classList&&_60.classList.toggle(_61);
}});
}else{
var _62=function(str,_63){
if(!str){
return -1;
}
var len=_63.length,i=str.indexOf(_63),_64,_65;
while(i>-1){
_65=str.charAt(i+len);
_64=str.charAt(i-1);
if((!_65||_65==" ")&&(!_64||_64==" ")){
break;
}
i=str.indexOf(_63,i+1);
}
return i;
};
i$.mash(i$,{addClass:function(_66,_67){
if(!_66){
return;
}
if(_62(_66.className,_67)<0){
_66.className+=" "+_67;
}
},removeClass:function(_68,_69){
if(!_68){
return;
}
var str=_68.className,len=_69.length,i=_62(str,_69),val=[];
if(i>-1){
if(i>0){
val.push(str.substring(0,i));
}
if(str.length>i+len){
val.push(str.substr(i+len));
}
_68.className=i$.trim(val.join());
}
},hasClass:function(_6a,_6b){
if(!_6a){
return;
}
return _62(_6a.className,_6b)>-1;
},toggleClass:function(_6c,_6d){
if(!_6c){
return;
}
i$[i$.hasClass(_6c,_6d)?"removeClass":"addClass"](_6c,_6d);
}});
}
})();
(function(){
var _6e=/([^_]+)_([^_]+)_deferred_?([\d]+)?/,_6f=/alternate/i,_70=function(t){
return document.getElementsByTagName(t);
},_71=function(){
return _70("head")[0];
},_72=function(url){
i$.createDom("link",{rel:"stylesheet",type:"text/css",href:url},_71());
return i$.promise.resolved();
},_73=function(url){
return i$.loadScript({url:url});
},_74=function(mod){
return i$.xhrGet({url:mod.url,headers:{"X-IBM-XHR":"true"},responseType:"text"}).then(function(_75){
return {mod:mod,data:_75.data};
});
},_76=function(_77){
i$.each(_77,function(_78){
var m=_78.mod;
var _79=m.node.parentNode;
var _7a=m.p!="head"?m.node:null;
var _7b=document.createDocumentFragment(),tmp=i$.createDom("div");
tmp.innerHTML=_78.data;
while(tmp.firstChild){
_7b.appendChild(tmp.firstChild);
}
_79.insertBefore(_7b,_7a);
});
},_7c=function(_7d){
if(_6f.test(_7d.rel)){
var id=_7d.id,_7e=id.match(_6e);
if(_7e){
return {node:_7d,url:_7d.href,id:id,p:_7e[1],t:_7e[2],i:_7e[3]};
}
}
},_7f=function(){
var m={head:[],config:[]},_80={},_81={length:0},_82=_70("link"),_83=_70("a");
i$.each([_82,_83],function(_84){
i$.each(_84,function(_85){
var mod=_7c(_85);
if(mod&&!_80[mod.id]){
_80[mod.id]=mod;
if(!_81[mod.t]){
_81[mod.t]=[];
_81.length=_81.length+1;
}
_81[mod.t].push(mod);
}
});
});
return _81;
},_86=function(_87){
var _88=[];
var _89=[];
i$.each(_87["markup"],function(mod){
_89.push(_74(mod));
});
return i$.whenAll.apply(this,_89).then(function(_8a){
_88=_8a;
_89=[];
i$.each(_87["css"],function(mod){
_89.push(_72(mod.url));
});
return i$.whenAll.apply(this,_89);
},function(err){
console.log("Error: ",err);
}).then(function(_8b){
return _8c(_87["js"]);
}).then(function(){
_76(_88);
});
},_8c=function(_8d){
var m=_8d.shift(),p;
if(m){
p=_73(m.url);
}
return i$.when(p).then(function(){
return _8d.length>0?_8c(_8d):true;
},function(err){
console.log("Error: ",err);
});
},_8e=false,_8f=null,_90=false,_91=false,_92=new i$.Promise(),_93=function(cbk){
i$.addOnLoad(function(){
if(!_8e){
_8f=_7f();
_90=_8f.length>0?false:true;
if(_90){
_92.resolve();
}
_8e=true;
}
if(cbk){
cbk();
}
});
};
i$.modules={};
i$.mash(i$.modules,{areLoaded:function(){
return _90;
},areLoading:function(){
return _91;
},loadDeferred:function(){
if(_91){
return _92;
}
var cbk=function(){
if(!_90){
_91=true;
_86(_8f).then(function(){
_90=true;
_91=false;
_92.resolve();
},function(e){
_92.reject(e);
});
}
};
_93(cbk);
return _92;
},addAfterLoaded:function(f){
var cbk=function(){
_92.then(f);
};
_93(cbk);
}});
var _94=i$.addOnLoad,_95=[];
i$.addOnLoad=function(f,o){
if(_91){
if(o){
f=i$.scope(o,f);
}
_95.push(f);
}else{
_94(f,o);
}
};
i$.modules.addAfterLoaded(function(){
while(_95.length>0){
if(fn=_95.shift()){
fn();
}
}
});
})();
(function(){
i$.getCookie=function(n){
var cs=document.cookie.split(";"),c="",cn="",cv=null;
for(var i=0;i1){
cv=i$.trim(c[1]);
}
return cv;
}
}
return null;
};
i$.setCookie=function(n,v,e,p,d,s){
if(!e){
var m=new Date().getTime();
m+=(1000*60*60*24*365*100);
e=new Date(m);
}
var c=n+"="+v+((e)?"; e="+e.toGMTString():"")+((p)?"; path="+p:"; path=/")+((d)?"; domain="+d:"")+((s)?"; secure":"");
document.cookie=c;
};
i$.deleteCookie=function(n,p,d){
if(i$.getCookie(n)){
document.cookie=n+"="+((p)?"; path="+p:"; path=/")+((d)?"; domain="+d:"")+"; expires=Thu, 01-Jan-70 00:00:01 GMT";
}
};
})();
(function(){
var _1=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,_2=0,_3=Object.prototype.toString,_4=false,_5=true,_6=/\\/g,_7=/\W/;
[0,0].sort(function(){
_5=false;
return 0;
});
var _8=function(_9,_a,_b,_c){
_b=_b||[];
_a=_a||document;
var _d=_a;
if(_a.nodeType!==1&&_a.nodeType!==9){
return [];
}
if(!_9||typeof _9!=="string"){
return _b;
}
var m,_e,_f,_10,ret,cur,pop,i,_11=true,_12=_8.isXML(_a),_13=[],_14=_9;
do{
_1.exec("");
m=_1.exec(_14);
if(m){
_14=m[3];
_13.push(m[1]);
if(m[2]){
_10=m[3];
break;
}
}
}while(m);
if(_13.length>1&&_15.exec(_9)){
if(_13.length===2&&_16.relative[_13[0]]){
_e=_17(_13[0]+_13[1],_a);
}else{
_e=_16.relative[_13[0]]?[_a]:_8(_13.shift(),_a);
while(_13.length){
_9=_13.shift();
if(_16.relative[_9]){
_9+=_13.shift();
}
_e=_17(_9,_e);
}
}
}else{
if(!_c&&_13.length>1&&_a.nodeType===9&&!_12&&_16.match.ID.test(_13[0])&&!_16.match.ID.test(_13[_13.length-1])){
ret=_8.find(_13.shift(),_a,_12);
_a=ret.expr?_8.filter(ret.expr,ret.set)[0]:ret.set[0];
}
if(_a){
ret=_c?{expr:_13.pop(),set:_18(_c)}:_8.find(_13.pop(),_13.length===1&&(_13[0]==="~"||_13[0]==="+")&&_a.parentNode?_a.parentNode:_a,_12);
_e=ret.expr?_8.filter(ret.expr,ret.set):ret.set;
if(_13.length>0){
_f=_18(_e);
}else{
_11=false;
}
while(_13.length){
cur=_13.pop();
pop=cur;
if(!_16.relative[cur]){
cur="";
}else{
pop=_13.pop();
}
if(pop==null){
pop=_a;
}
_16.relative[cur](_f,pop,_12);
}
}else{
_f=_13=[];
}
}
if(!_f){
_f=_e;
}
if(!_f){
_8.error(cur||_9);
}
if(_3.call(_f)==="[object Array]"){
if(!_11){
_b.push.apply(_b,_f);
}else{
if(_a&&_a.nodeType===1){
for(i=0;_f[i]!=null;i++){
if(_f[i]&&(_f[i]===true||_f[i].nodeType===1&&_8.contains(_a,_f[i]))){
_b.push(_e[i]);
}
}
}else{
for(i=0;_f[i]!=null;i++){
if(_f[i]&&_f[i].nodeType===1){
_b.push(_e[i]);
}
}
}
}
}else{
_18(_f,_b);
}
if(_10){
_8(_10,_d,_b,_c);
_8.uniqueSort(_b);
}
return _b;
};
_8.uniqueSort=function(_19){
if(_1a){
_4=_5;
_19.sort(_1a);
if(_4){
for(var i=1;i<_19.length;i++){
if(_19[i]===_19[i-1]){
_19.splice(i--,1);
}
}
}
}
return _19;
};
_8.matches=function(_1b,set){
return _8(_1b,null,null,set);
};
_8.matchesSelector=function(_1c,_1d){
return _8(_1d,null,null,[_1c]).length>0;
};
_8.find=function(_1e,_1f,_20){
var set;
if(!_1e){
return [];
}
for(var i=0,l=_16.order.length;i":function(_39,_3a){
var _3b,_3c=typeof _3a==="string",i=0,l=_39.length;
if(_3c&&!_7.test(_3a)){
_3a=_3a.toLowerCase();
for(;i=0)){
if(!_56){
_57.push(_59);
}
}else{
if(_56){
_55[i]=false;
}
}
}
}
return false;
},ID:function(_5a){
return _5a[1].replace(_6,"");
},TAG:function(_5b,_5c){
return _5b[1].replace(_6,"").toLowerCase();
},CHILD:function(_5d){
if(_5d[1]==="nth"){
if(!_5d[2]){
_8.error(_5d[0]);
}
_5d[2]=_5d[2].replace(/^\+|\s*/g,"");
var _5e=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(_5d[2]==="even"&&"2n"||_5d[2]==="odd"&&"2n+1"||!/\D/.test(_5d[2])&&"0n+"+_5d[2]||_5d[2]);
_5d[2]=(_5e[1]+(_5e[2]||1))-0;
_5d[3]=_5e[3]-0;
}else{
if(_5d[2]){
_8.error(_5d[0]);
}
}
_5d[0]=_2++;
return _5d;
},ATTR:function(_5f,_60,_61,_62,not,_63){
var _64=_5f[1]=_5f[1].replace(_6,"");
if(!_63&&_16.attrMap[_64]){
_5f[1]=_16.attrMap[_64];
}
_5f[4]=(_5f[4]||_5f[5]||"").replace(_6,"");
if(_5f[2]==="~="){
_5f[4]=" "+_5f[4]+" ";
}
return _5f;
},PSEUDO:function(_65,_66,_67,_68,not){
if(_65[1]==="not"){
if((_1.exec(_65[3])||"").length>1||/^\w/.test(_65[3])){
_65[3]=_8(_65[3],null,null,_66);
}else{
var ret=_8.filter(_65[3],_66,_67,true^not);
if(!_67){
_68.push.apply(_68,ret);
}
return false;
}
}else{
if(_16.match.POS.test(_65[0])||_16.match.CHILD.test(_65[0])){
return true;
}
}
return _65;
},POS:function(_69){
_69.unshift(true);
return _69;
}},filters:{enabled:function(_6a){
return _6a.disabled===false&&_6a.type!=="hidden";
},disabled:function(_6b){
return _6b.disabled===true;
},checked:function(_6c){
return _6c.checked===true;
},selected:function(_6d){
if(_6d.parentNode){
_6d.parentNode.selectedIndex;
}
return _6d.selected===true;
},parent:function(_6e){
return !!_6e.firstChild;
},empty:function(_6f){
return !_6f.firstChild;
},has:function(_70,i,_71){
return !!_8(_71[3],_70).length;
},header:function(_72){
return (/h\d/i).test(_72.nodeName);
},text:function(_73){
return "text"===_73.getAttribute("type");
},radio:function(_74){
return "radio"===_74.type;
},checkbox:function(_75){
return "checkbox"===_75.type;
},file:function(_76){
return "file"===_76.type;
},password:function(_77){
return "password"===_77.type;
},submit:function(_78){
return "submit"===_78.type;
},image:function(_79){
return "image"===_79.type;
},reset:function(_7a){
return "reset"===_7a.type;
},button:function(_7b){
return "button"===_7b.type||_7b.nodeName.toLowerCase()==="button";
},input:function(_7c){
return (/input|select|textarea|button/i).test(_7c.nodeName);
}},setFilters:{first:function(_7d,i){
return i===0;
},last:function(_7e,i,_7f,_80){
return i===_80.length-1;
},even:function(_81,i){
return i%2===0;
},odd:function(_82,i){
return i%2===1;
},lt:function(_83,i,_84){
return i<_84[3]-0;
},gt:function(_85,i,_86){
return i>_86[3]-0;
},nth:function(_87,i,_88){
return _88[3]-0===i;
},eq:function(_89,i,_8a){
return _8a[3]-0===i;
}},filter:{PSEUDO:function(_8b,_8c,i,_8d){
var _8e=_8c[1],_8f=_16.filters[_8e];
if(_8f){
return _8f(_8b,i,_8c,_8d);
}else{
if(_8e==="contains"){
return (_8b.textContent||_8b.innerText||_8.getText([_8b])||"").indexOf(_8c[3])>=0;
}else{
if(_8e==="not"){
var not=_8c[3];
for(var j=0,l=not.length;j=0);
}
}
},ID:function(_9a,_9b){
return _9a.nodeType===1&&_9a.getAttribute("id")===_9b;
},TAG:function(_9c,_9d){
return (_9d==="*"&&_9c.nodeType===1)||_9c.nodeName.toLowerCase()===_9d;
},CLASS:function(_9e,_9f){
return (" "+(_9e.className||_9e.getAttribute("class"))+" ").indexOf(_9f)>-1;
},ATTR:function(_a0,_a1){
var _a2=_a1[1],_a3=_16.attrHandle[_a2]?_16.attrHandle[_a2](_a0):_a0[_a2]!=null?_a0[_a2]:_a0.getAttribute(_a2),_a4=_a3+"",_a5=_a1[2],_a6=_a1[4];
return _a3==null?_a5==="!=":_a5==="="?_a4===_a6:_a5==="*="?_a4.indexOf(_a6)>=0:_a5==="~="?(" "+_a4+" ").indexOf(_a6)>=0:!_a6?_a4&&_a3!==false:_a5==="!="?_a4!==_a6:_a5==="^="?_a4.indexOf(_a6)===0:_a5==="$="?_a4.substr(_a4.length-_a6.length)===_a6:_a5==="|="?_a4===_a6||_a4.substr(0,_a6.length+1)===_a6+"-":false;
},POS:function(_a7,_a8,i,_a9){
var _aa=_a8[2],_ab=_16.setFilters[_aa];
if(_ab){
return _ab(_a7,i,_a8,_a9);
}
}}};
var _15=_16.match.POS,_ac=function(all,num){
return "\\"+(num-0+1);
};
for(var _ad in _16.match){
_16.match[_ad]=new RegExp(_16.match[_ad].source+(/(?![^\[]*\])(?![^\(]*\))/.source));
_16.leftMatch[_ad]=new RegExp(/(^(?:.|\r|\n)*?)/.source+_16.match[_ad].source.replace(/\\(\d+)/g,_ac));
}
var _18=function(_ae,_af){
_ae=Array.prototype.slice.call(_ae,0);
if(_af){
_af.push.apply(_af,_ae);
return _af;
}
return _ae;
};
try{
Array.prototype.slice.call(document.documentElement.childNodes,0)[0].nodeType;
}
catch(e){
_18=function(_b0,_b1){
var i=0,ret=_b1||[];
if(_3.call(_b0)==="[object Array]"){
Array.prototype.push.apply(ret,_b0);
}else{
if(typeof _b0.length==="number"){
for(var l=_b0.length;i ";
_b6.insertBefore(_b5,_b6.firstChild);
if(document.getElementById(id)){
_16.find.ID=function(_b7,_b8,_b9){
if(typeof _b8.getElementById!=="undefined"&&!_b9){
var m=_b8.getElementById(_b7[1]);
return m?m.id===_b7[1]||typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id").nodeValue===_b7[1]?[m]:undefined:[];
}
};
_16.filter.ID=function(_ba,_bb){
var _bc=typeof _ba.getAttributeNode!=="undefined"&&_ba.getAttributeNode("id");
return _ba.nodeType===1&&_bc&&_bc.nodeValue===_bb;
};
}
_b6.removeChild(_b5);
_b6=_b5=null;
})();
(function(){
var div=document.createElement("div");
div.appendChild(document.createComment(""));
if(div.getElementsByTagName("*").length>0){
_16.find.TAG=function(_bd,_be){
var _bf=_be.getElementsByTagName(_bd[1]);
if(_bd[1]==="*"){
var tmp=[];
for(var i=0;_bf[i];i++){
if(_bf[i].nodeType===1){
tmp.push(_bf[i]);
}
}
_bf=tmp;
}
return _bf;
};
}
div.innerHTML=" ";
if(div.firstChild&&typeof div.firstChild.getAttribute!=="undefined"&&div.firstChild.getAttribute("href")!=="#"){
_16.attrHandle.href=function(_c0){
return _c0.getAttribute("href",2);
};
}
div=null;
})();
if(document.querySelectorAll){
(function(){
var _c1=_8,div=document.createElement("div"),id="__sizzle__";
div.innerHTML="
";
if(div.querySelectorAll&&div.querySelectorAll(".TEST").length===0){
return;
}
_8=function(_c2,_c3,_c4,_c5){
_c3=_c3||document;
if(!_c5&&!_8.isXML(_c3)){
var _c6=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(_c2);
if(_c6&&(_c3.nodeType===1||_c3.nodeType===9)){
if(_c6[1]){
return _18(_c3.getElementsByTagName(_c2),_c4);
}else{
if(_c6[2]&&_16.find.CLASS&&_c3.getElementsByClassName){
return _18(_c3.getElementsByClassName(_c6[2]),_c4);
}
}
}
if(_c3.nodeType===9){
if(_c2==="body"&&_c3.body){
return _18([_c3.body],_c4);
}else{
if(_c6&&_c6[3]){
var _c7=_c3.getElementById(_c6[3]);
if(_c7&&_c7.parentNode){
if(_c7.id===_c6[3]){
return _18([_c7],_c4);
}
}else{
return _18([],_c4);
}
}
}
try{
return _18(_c3.querySelectorAll(_c2),_c4);
}
catch(qsaError){
}
}else{
if(_c3.nodeType===1&&_c3.nodeName.toLowerCase()!=="object"){
var _c8=_c3,old=_c3.getAttribute("id"),nid=old||id,_c9=_c3.parentNode,_ca=/^\s*[+~]/.test(_c2);
if(!old){
_c3.setAttribute("id",nid);
}else{
nid=nid.replace(/'/g,"\\$&");
}
if(_ca&&_c9){
_c3=_c3.parentNode;
}
try{
if(!_ca||_c9){
return _18(_c3.querySelectorAll("[id='"+nid+"'] "+_c2),_c4);
}
}
catch(pseudoError){
}
finally{
if(!old){
_c8.removeAttribute("id");
}
}
}
}
}
return _c1(_c2,_c3,_c4,_c5);
};
for(var _cb in _c1){
_8[_cb]=_c1[_cb];
}
div=null;
})();
}
(function(){
var _cc=document.documentElement,_cd=_cc.matchesSelector||_cc.mozMatchesSelector||_cc.webkitMatchesSelector||_cc.msMatchesSelector,_ce=false;
try{
_cd.call(document.documentElement,"[test!='']:sizzle");
}
catch(pseudoError){
_ce=true;
}
if(_cd){
_8.matchesSelector=function(_cf,_d0){
_d0=_d0.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");
if(!_8.isXML(_cf)){
try{
if(_ce||!_16.match.PSEUDO.test(_d0)&&!/!=/.test(_d0)){
return _cd.call(_cf,_d0);
}
}
catch(e){
}
}
return _8(_d0,null,null,[_cf]).length>0;
};
}
})();
(function(){
var div=document.createElement("div");
div.innerHTML="
";
if(!div.getElementsByClassName||div.getElementsByClassName("e").length===0){
return;
}
div.lastChild.className="e";
if(div.getElementsByClassName("e").length===1){
return;
}
_16.order.splice(1,0,"CLASS");
_16.find.CLASS=function(_d1,_d2,_d3){
if(typeof _d2.getElementsByClassName!=="undefined"&&!_d3){
return _d2.getElementsByClassName(_d1[1]);
}
};
div=null;
})();
function _45(dir,cur,_d4,_d5,_d6,_d7){
for(var i=0,l=_d5.length;i0){
_df=_de;
break;
}
}
}
_de=_de[dir];
}
_db[i]=_df;
}
}
};
if(document.documentElement.contains){
_8.contains=function(a,b){
return a!==b&&(a.contains?a.contains(b):true);
};
}else{
if(document.documentElement.compareDocumentPosition){
_8.contains=function(a,b){
return !!(a.compareDocumentPosition(b)&16);
};
}else{
_8.contains=function(){
return false;
};
}
}
_8.isXML=function(_e0){
var _e1=(_e0?_e0.ownerDocument||_e0:0).documentElement;
return _e1?_e1.nodeName!=="HTML":false;
};
var _17=function(_e2,_e3){
var _e4,_e5=[],_e6="",_e7=_e3.nodeType?[_e3]:_e3;
while((_e4=_16.match.PSEUDO.exec(_e2))){
_e6+=_e4[0];
_e2=_e2.replace(_16.match.PSEUDO,"");
}
_e2=_16.relative[_e2]?_e2+"*":_e2;
for(var i=0,l=_e7.length;i_27||_25<_27):_25>_27||_26<_27;
_21=_1d(_1f,_20,_24,_28,_1b);
}else{
var h=_19.height||_20.height,w=_19.width||_20.width;
_21={top:Math.min(_19.top||(_1f.height-h)/2,_1f.height-_20.height-_1b),left:Math.min(_19.left||(_1f.width-w)/2,_1f.width-_20.width-_1b)};
}
if(!i$.isIE||i$.isIE!==7){
_21.top+=_22;
_21.left+=_23;
}
_e(_1c||_17,_21);
if(_18&&_1e){
var _29=i$.query(".pointer",_17).pop();
if(_29){
_e(_29,_1e(_9(_17),_24,_9(_29),_29,_28));
}
}
},registerHandler:function(_2a){
if(_2a.nodeHandler){
_13.nodeHandler[_2a.name]=_2a.nodeHandler;
}
if(_2a.pointerHandler){
_13.pointerHandler[_2a.name]=_2a.pointerHandler;
}
}};
i$.toPath("wpModules.util.Positioning",_13);
})(window);
(function(){
var _2b={name:"horizontallyCenteredBelow",nodeHandler:function(_2c,_2d,_2e,_2f,_30){
var pos={};
pos.top=_2e.top+_2e.height;
if(pos.top<0){
pos.top=0;
}
if(pos.top+_2d.height>_2c.height){
pos.top=_2c.height-_2d.height-_30;
}
pos.left=Math.max(_2e.left+(_2e.width-_2d.width)/2,_30);
return pos;
},pointerHandler:function(_31,_32,_33,_34,_35){
var _36=_33.height,_37=_33.width,_38=Math.min(_32.left+_32.width,_31.left+_31.width),_39=Math.max(_32.left,_31.left),_3a=(_38+_39)/2-_31.left;
return {top:-(_36-2),left:_3a-_37/2};
}};
wpModules.util.Positioning.registerHandler(_2b);
})();
(function(){
var _3b={name:"verticallyCenteredRightHand",nodeHandler:function(_3c,_3d,_3e,_3f,_40){
var pos={};
pos.top=Math.max(_3e.top+(_3e.height-_3d.height)/2,_40);
pos.top=Math.min(pos.top,_3c.height-_3d.height-_40);
if(_3f){
pos.left=Math.min(_3e.left+_3e.width,_3c.width-_3d.width-_40);
}else{
pos.left=Math.max(_3e.left-_3d.width,_40);
}
return pos;
},pointerHandler:function(_41,_42,_43,_44,_45){
var _46=_43.height,_47=_46/2+6,_48=Math.min(_42.top+_42.height,_41.top+_41.height-_47),_49=Math.max(_42.top,_41.top+_47),_4a=_45?_41.left-_43.width:_41.left+_41.width+_43.width;
i$.removeClass(_44,"right");
i$.removeClass(_44,"left");
if(_48-_49>0&&_42.left<_4a&&_4a<_42.right){
i$.addClass(_44,_45?"left":"right");
}
return {top:(_49+_48-_46)/2-_41.top};
}};
wpModules.util.Positioning.registerHandler(_3b);
})();
/** Licensed Materials - Property of IBM, 5724-E76 and 5724-E77, (C) Copyright IBM Corp. 2012 - All Rights reserved. **/
if(!i$.fromPath("wpModules.dialog.Dialog")){
i$.toPath("wpModules.dialog.Dialog",function(_1,_2){
var _3=[];
function _4(_5,_6){
i$.each(_6,function(v,k){
_5=_5.replace(new RegExp("\\${"+k+"}","g"),v);
});
return _5;
};
function _7(_8,_9){
var s="data-attach-point";
i$.each(i$.query("["+s+"]",_8),function(e){
_9[e.getAttribute(s)]=e;
});
};
function _a(){
return Math.round(Math.random()*1000000000)+"";
};
function _b(_c){
var v=_c.documentElement;
return {width:v.clientWidth,height:v.clientHeight};
};
function _d(_e){
var b={};
i$.forIn(_e.getBoundingClientRect(),function(v,n){
b[n]=v;
});
if(i$.isIE){
b.height=b.bottom-b.top;
b.width=b.right-b.left;
}
return b;
};
function _f(p,_10,box){
wpModules.util.Positioning.handle({name:p.posHandler,targetWindow:p.window,targetBox:box,node:_10,refNode:p.autoPosition,maxOverLay:p.maxOverlay,viewMargin:p.viewMargin});
};
function _11(_12){
return _12.window.document.getElementById(_12.id+"-iframe");
};
function _13(_14,_15){
i$.forIn(_15,function(v,n){
_14.style[n]=Math.round(v)+"px";
});
};
var _16=i$.augment((function(_17){
this._init(_17);
}),{_init:function(_18){
var doc=_18.window.document,_19=doc.body,div=doc.createElement("div"),_1a=this._overlayNode=doc.createElement("div"),os=_1a.style,_1b=this.rootNode=doc.createElement("div");
i$.addClass(_1a,"lotusOverlay");
i$.addClass(_1b,"lotusui30");
os.display="block";
os.height="100%";
os.top="0px";
os.position="fixed";
this.id=_a();
this.window=_18.window;
div.innerHTML=_4(_18.template,{title:_18.title,itemClose:_18.itemClose,z_index:_18.z_index,id:this.id});
_7(div,this);
this.domNode=div.firstChild;
this.domNode.id=this.id;
if(!_18.modal){
os.opacity="0";
os.filter="Alpha(opacity=0)";
}
_19.appendChild(_1b);
_1b.appendChild(_1a);
_1b.appendChild(this.domNode);
i$.bindDomEvt(this.domNode,"onkeydown",i$.scope(this,function(e){
if(e.keyCode===9){
if(!e){
var e=_1.event;
}
var t=e.target||e.srcElement;
if(t.nodeType===3){
t=t.parentNode;
}
var f1=e.shiftKey?"-firstFocus":"-lastFocus",f2=e.shiftKey?"-lastFocus":"-firstFocus";
if(this.id+f1===t.getAttribute("id")){
_18.window.document.getElementById(this.id+f2).focus();
}
}
}));
if(!_18.autoPosition){
i$.query(".pointer",this.domNode).pop().style.display="none";
}
},show:function(){
this.domNode.style.display="block";
},hide:function(){
this.domNode.style.display="none";
}});
return i$.augment((function(_1c){
this.blankImgSrc="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7";
if(i$.isIE===7){
var b=ibmConfig&&ibmConfig["loadingHTML.imageURL"];
if(b){
this.blankImgSrc=b.replace("loading.gif","blank.gif");
}
}
this.z_index=_3.length===0?1000:_3[_3.length-1].z_index+500;
var prm=this.prm=i$.mash({window:_1,posHandler:"verticallyCenteredRightHand",maxOverlay:0.5,viewMargin:15,autoResize:false,autoClose:!_1c.modal,modal:false,template:""},_1c);
this.widget=new _16({window:prm.window,title:prm.title,autoPosition:prm.autoPosition,modal:prm.modal,itemClose:"Close",template:prm.template,z_index:this.z_index});
var cb=this.widget.closeButtonNode;
cb&&i$.bindDomEvt(cb,"onclick",i$.scope(this,"_close"));
if(prm.autoClose){
i$.bindDomEvt(this.widget._overlayNode,"onclick",i$.scope(this,"_close"));
}
_3.push(this);
}),{open:function(){
var w=this.widget,p=this.prm,wd=w.domNode,m=p.metrics,tb=p.targetBox={};
if(p.url){
w.containerNode.innerHTML=_4(""+"
"+" "+" "+"
"+" ",{id:w.id,url:i$.isIE?"":p.url,title:p.title||p.description||"dialog contents",blank:this.blankImgSrc,loading:"loading...",border:i$.isIE?"border='0'":"",visibility:i$.isIE?"visibility:hidden;":"opacity:0;filter:Alpha(opacity=0)"});
var f=_11(w);
if(i$.isIE){
f.src=p.url;
this._initCallbacksOnloadIE();
this._ieRefreshListener=i$.addListener("wpModules/dialog/Dialog/ieRefresh",i$.scope(this,this._handleIeRefreshEvent));
}else{
f.onload=i$.scope(this,this._initCallbacks);
}
}
wd.style.visibility="hidden";
w.show();
if(m){
if(!p.autoPosition){
m.top&&(tb.top=m.top);
m.left&&(tb.left=m.left);
}
m.width&&(tb.width=m.width);
m.height&&(tb.height=m.height);
}
_f(p,wd,tb);
setTimeout(function(){
wd.style.visibility="visible";
},100);
return false;
},_initCallbacks:function(){
var w=this.widget;
var p=this.prm;
var f=_11(w);
var _1d=i$.scope(this,function(){
var fw=f.contentWindow,_1e=fw.contentDocument||fw.document,_1f=i$.scope(this,function(){
this.onLoadFrame();
p.onLoadCallbackFn&&p.onLoadCallbackFn(_1e);
});
fw.onunload=function(){
p.onUnloadCallbackFn&&p.onUnloadCallbackFn(_1e);
};
fw.onload=_1f;
fw.resize=i$.scope(this,"resize");
fw.close=fw.closeDialog=f.onCloseModalDialog=i$.scope(this,"close");
_1f();
});
_1d();
},_initCallbacksOnloadIE:function(){
var _20=this;
var w=this.widget;
var p=this.prm;
var f=_11(w);
var fn=function(i){
p.window.setTimeout(function(){
if((f.contentDocument.readyState&&f.contentDocument.readyState==="complete")||(f.readyState&&f.readyState==="complete")){
_20._initCallbacks();
}else{
if(i<300){
fn(i+1);
}
}
},200+10);
};
fn(0);
},_handleIeRefreshEvent:function(_21){
var w=this.widget;
var f=_11(w);
var cw=f.contentWindow;
if(_21==cw){
this._initCallbacksOnloadIE();
}
},isActive:function(){
return _3.length>0&&this.widget.id===_3[_3.length-1].widget.id;
},onLoadFrame:function(){
var w=this.widget,wd=w.domNode,p=this.prm,_22=p.targetBox,_23=p.autoResize,_24=_b(p.window.document),_25=_11(w),bs=wd.style;
bs.maxWidth="none";
bs.maxHeight="none";
bs.minWidth="0";
bs.minHeight="0";
var _26=p.window.document.getElementById(w.id+"-progressLoading");
if(_26){
_26.style.display="none";
}
var cs=w.containerNode.style,fs=_25.style;
cs.paddingBottom="0px";
cs.marginBottom="0px";
if(i$.isIE){
fs.visibility="visible";
}else{
fs.opacity="100";
fs.filter="Alpha(opacity=100)";
}
var fw=_25.contentWindow,_27=fw.contentDocument||fw.document,fde=_27.documentElement,_28=_27.body;
if(i$.isWebKit){
_28.style.overflow="auto";
}
_13(_25,{width:300,height:150});
var _29=Math.max(_28.scrollHeight,fde.scrollHeight,_28.offsetHeight,fde.offsetHeight,fde.clientHeight),_2a=Math.max(_28.scrollWidth,fde.scrollWidth,_28.offsetWidth,fde.offsetWidth,fde.clientWidth),_2b=_d(wd),_2c=_d(_25),_2d=_2b.width-_2c.width,_2e=_2b.height-_2c.height,_2f=_24.width-2*p.viewMargin-_2d,_30=_24.height-2*p.viewMargin-_2e,_31=_22.height||(_23?_29:_24.height/3),_32=_22.width||(_23?_2a:_24.width/3);
_2a=Math.min(_32,_2f);
_29=Math.min(_31,_30);
_13(wd,{top:0,left:0});
_13(_25,{width:_2a,height:_29});
if(_23&&!_22.width){
if(i$.isIE>=11){
_2a+=2;
_13(_25,{width:_2a});
}
if(i$.isFF){
if(fde.clientWidth_30){
var _33=Math.max(_28.scrollWidth,fde.scrollWidth),_34=Math.max(_28.clientWidth,fde.clientWidth);
if(_34<_33){
var _35=_33-_34;
if(_2a+_35<=_2f){
_2a+=_35;
_13(_25,{width:_2a});
}
}
}
}
_f(p,wd,{top:p.targetBox.top,left:p.targetBox.left,width:_2a+_2d,height:_29+_2e});
i$.bindDomEvt(_28,"onkeydown",i$.scope(this,function(e){
if(e.keyCode===27){
this._close();
}
}));
p.window.setTimeout(function(){
_25.focus();
},100);
},resize:function(_36){
var is=_36&&(_36.width||_36.height);
if(is){
i$.mash(this.prm.targetBox,_36);
}
this.prm.autoResize=!is;
this.onLoadFrame();
},setFocus:function(){
},setMarkup:function(_37){
this.widget.containerNode.innerHTML=_37;
},_close:function(){
this.close();
},close:function(_38){
var w=this.widget,r=w.rootNode,p=this.prm,_39=_11(w),fw=_39&&_39.contentWindow;
if(fw&&fw.onbeforeunload){
var _3a=fw.onbeforeunload();
if(_3a&&!confirm(_3a)){
return;
}
}
w.hide();
for(var da=_3,i=da.length;i>0;i--){
if(da[i-1].widget.id===w.id){
da.splice(i-1,1);
break;
}
}
p.callbackFn&&p.callbackFn(_38);
r&&r.parentNode.removeChild(r);
if(i$.isIE){
i$.removeListener(this._ieRefreshListener);
}
}});
}(window));
}
/** Licensed Materials - Property of IBM, 5724-E76 and 5724-E77, (C) Copyright IBM Corp. 2012 - All Rights reserved. **/
(function(_1){
var _2=_1.document;
var _3=false;
var _4=function(){
return !!(i$.query);
};
function _5(){
return Math.round(Math.random()*1000000000);
};
var _6={cache:{},triggerRegisterHandlers:{},triggerUnregisterHandlers:{},positioningHandlers:{},defaultCss:{focus:"wpthemeMenuFocus",disabled:"wpthemeMenuDisabled",show:"wpthemeMenuShow",error:"wpthemeMenuError",menuTemplate:"wpthemeTemplateMenu",submenuTemplate:"wpthemeTemplateSubmenu",loadingTemplate:"wpthemeTemplateLoading",firstItem:"wpthemeFirst",lastItem:"wpthemeLast"},init:function(_7){
var _8=_7.refNode;
var _9=_8||_7.node;
var _a=_9._contextMenu=_9._contextMenu||{};
var _b=(_8?_a.menuId:_7.menuId);
var _c=_6._sticky;
if(_9._contextMenu.preventOpen||_c){
delete _9._contextMenu.preventOpen;
return;
}
_a.id=_a.id||_9.getAttribute("id")||_5();
_9.setAttribute("id",_a.id);
_a.menuId=_b;
_a.closeFn=_7.onClose||null;
_a.params=_a.params||{};
if(_7.params){
_7.params.sticky&&(_6._sticky=true);
i$.mash(_a.params,_7.params);
}
_a.jsonQuery=_a.jsonQuery||{};
_a.jsonQuery=i$.mash(_a.jsonQuery,_7.jsonQuery);
_a.css=_8?_a.css:_6._getCssClasses(_9);
_a.defaultTemplateId=_a.defaultTemplateId||(_b+"Template");
_a.templateId=_a.templateId||_a.params.templateId||null;
var _d=function(_e){
if(!_e.displayMenu){
return;
}
i$.fireEvent("wptheme/contextMenu/close/all");
if(_a.params._executeDefaultAction){
delete _a.params._executeDefaultAction;
delete _7.params._executeDefaultAction;
_6._hideLoadingAnimation(_a);
_6._registerEventHandlers(_a);
i$.fireEvent("wpModules/contextMenu/close/id/"+_a.id);
_6._executeDefaultAction(_a);
return;
}
if(_a._loading||!i$.hasClass((_a.shadowNode)?_a.shadowNode:i$.byId(_a.id),_6.defaultCss.show)){
var _f=_a.menuNode;
i$.when(_6._updateVisibility(_f,_a)).then(function(_10){
if(_a._loading){
_a.loadingNode.style.display="none";
_a._loading=false;
}
if(!_10){
return;
}
_6._updateAbsolutePosition(i$.byId(_a.id));
var _11=_6._adjustScreenPositionStart();
if(!_a._hoverEventRegistered){
_6._addHoverEventListeners(_7);
}
i$.addClass((_a.shadowNode)?_a.shadowNode:i$.byId(_a.id),_6.defaultCss.show);
_6._adjustScreenPositionEnd(_11);
if(_a.params._setFocus){
delete _a.params._setFocus;
delete _7.params._setFocus;
var n=i$.byId(_a.id),_12=n&&n._firstSelectable;
if(_12){
_12.focus();
n._currentSelected=_12;
}
}
_6._registerEventHandlers(_a);
});
}
};
_6._initialize(_9).then(_d,_d);
_9=null;
return function(_13){
if(_a._preventClose||_a._closing){
delete _a._preventClose;
delete _7._preventClose;
return;
}
_a._closing=true;
_6._executeMenuAction(_13,_a);
_1.setTimeout(function(){
i$.fireEvent("wpModules/contextMenu/close/id/"+_a.id,[true]);
},1);
delete _a._closing;
};
},lock:function(_14){
var cm=_14._contextMenu=_14._contextMenu||{};
cm._lockMenu=true;
},unlock:function(_15){
var cm=_15._contextMenu||{};
cm._lockMenu=false;
},reposition:function(_16){
var _17=_16._contextMenu;
_6._updateAbsolutePosition(_16);
var _18=_6._adjustScreenPositionStart();
i$.addClass((_17.shadowNode)?_17.shadowNode:i$.byId(_17.id),_6.defaultCss.show);
_6._adjustScreenPositionEnd(_18);
},_hideLoadingAnimation:function(_19){
if(_19._loading){
_19.loadingNode.style.display="none";
_19._loading=false;
}
},_executeDefaultAction:function(_1a){
var _1b=_1a.menuNode;
var _1c=_6._findNodes(_1b),_1d=_1c.menu,_1e=_1d.children;
var _1f,_20;
for(var i=0,l=_1e.length;i=0;i--){
_42=_46.childNodes[i];
if(i$.hasClass(_42,_43.menuTemplate)){
_3f=_42;
continue;
}
if(i$.hasClass(_42,_43.submenuTemplate)){
_40=_42;
continue;
}
if(i$.hasClass(_42,_43.loadingTemplate)){
_41=_42;
continue;
}
if(_42.childNodes){
i=_45(_42,i);
}
}
return _47;
};
_45(_44);
return {"menu":_3f,"submenu":_40,"loading":_41};
},_findMenuNode:function(_48){
var _49,cm=_48._contextMenu,_4a=cm.templateId,_4b=cm.defaultTemplateId;
if(_4a){
_49=_2.getElementById(_4a);
}
_49=_49||(_4()?_6._findMenuNodeSelector(_48):_6._findMenuNodeRecursive(_48));
_49=_49||_2.getElementById(_4b);
return _49;
},_findMenuNodeSelector:function(_4c){
return i$.query([".wpthemeMenu",", .wpthemeMenuRight",", .wpthemeMenuLeft"].join(""),_4c).shift();
},_findMenuNodeRecursive:function(_4d){
var _4e,i,_4f;
var _50=function(_51,_52){
for(i=_51.childNodes.length-1;i>=0;i--){
_4f=_51.childNodes[i];
if(i$.hasClass(_4f,"wpthemeMenu")||i$.hasClass(_4f,"wpthemeMenuRight")||i$.hasClass(_4f,"wpthemeMenuLeft")){
_4e=_4f;
break;
}
if(_4f.childNodes){
i=_50(_4f,i);
}
}
return _52;
};
_50(_4d);
return _4e;
},_invalidateCallback:function(){
_6.cache={};
},_initialize:function(_53){
var _54=true;
var _55=_53._contextMenu,_56=_55.css;
if(_6.cache[_55.id]||_55._inProgress){
return i$.promise.resolved({displayMenu:_54});
}
if(!_55._menuTemplateNode){
_55._menuTemplateNode=_6._findMenuNode(_53);
if(_55._menuTemplateNode.parentNode!=_53){
_55._menuTemplateNode=_55._menuTemplateNode.cloneNode(true);
_55._menuTemplateNode.removeAttribute("id");
_53.appendChild(_55._menuTemplateNode);
}
}
_55._inProgress=true;
i$.addListener("wptheme/contextMenu/invalidate/all",_6._invalidateCallback);
var _57,_58,tmp=i$.createDom("div");
if(_55._submenu){
tmp.innerHTML=_55._subMenuTemplate.replace(/\$\{submenu-id\}/g,_55.id+"_menu");
_53.appendChild(tmp.firstChild);
_57=i$.byId(_55.id+"_menu");
_58=i$.createDom("div");
_58.innerHTML=_55._loadingTemplate;
}else{
var _59=_6._findNodes((_55.shadowNode)?_55.shadowNode:_53);
_57=_59.menu;
if(!_55._menuitemTemplate){
_55._menuitemTemplate=i$.trim(_57.innerHTML);
}
if(!_55._loadingTemplate&&_59.loading){
_58=i$.createDom("div");
_58.appendChild(_59.loading);
_58.innerHTML=_58.innerHTML.replace(/\$\{loading\}/g,_6.nls.LOADING_0);
_55._loadingTemplate=i$.trim(_58.innerHTML);
_58=null;
}
_58=i$.createDom("div");
_58.innerHTML=_55._loadingTemplate||"";
if(_59.submenu){
tmp.appendChild(_59.submenu.cloneNode(true));
if(!_55._subMenuTemplate){
_55._subMenuTemplate=i$.trim(tmp.innerHTML);
}
}
}
while(_57.firstChild){
_57.removeChild(_57.firstChild);
}
_57.appendChild(_58);
_55.loadingNode=_58;
var _5a;
if(_55.shadowNode){
_5a=_55.shadowNode;
}else{
_5a=_6._transformIntoAbsolutePosition(_53);
}
i$.addClass((_5a)?_5a:_53,_56.show);
return _6._load(_55).then(function(_5b){
var _5c=_6._parseData(_5b).then(function(_5d){
_5d=_6._filterMenu(_5d);
if(!_5d||_5d.length==0){
var tmp=i$.createDom("div");
tmp.innerHTML=_6._fromTemplate(_55._menuitemTemplate,_56.error,_6.nls.NO_ITEMS_0);
while(_57.firstChild){
_57.removeChild(_57.firstChild);
}
_57.appendChild(tmp);
}else{
_6._buildMenu(_55,_57,_5d);
}
_55._inProgress=false;
_55._loading=true;
_6.cache[_55.id]=true;
return {displayMenu:_54};
});
return _5c;
},function(){
var tmp=i$.createDom("div");
tmp.innerHTML=_6._fromTemplate(_55._menuitemTemplate,_56.error,_6.nls.ERROR_LOADING_0);
while(_57.firstChild){
_57.removeChild(_57.firstChild);
}
_57.appendChild(tmp);
_55._inProgress=false;
_6.cache[_55.id]=true;
return {displayMenu:_54};
});
},_updateVisibility:function(_5e,_5f){
var _60=_6._findNodes(_5e),_61=_60.menu,_62=_61.children,_63=[];
var _64,_65;
for(var i=0,l=_62.length;i-1){
var n=i$.byId(_5f.id);
n._firstSelectable=_70;
n._currentSelected=null;
i$.addClass(_62[_68],_5f.css.firstItem);
}
(_69>-1)&&i$.addClass(_62[_69],_5f.css.lastItem);
_6a.resolve(_6b);
});
return _6a;
},_filterMenu:function(_72){
var _73=[],_74,_75={"type":"Separator"};
for(var i=_72.length-1;i>=0;i--){
_74=_72[i];
if(_74.type=="Separator"){
if(_75.type=="Separator"){
continue;
}
}else{
if(_74.type=="Header"){
if((_75.type=="Separator")||(_75.type=="Header")){
continue;
}
}
}
_75=_74;
_73.unshift(_74);
}
while(_73.length>0&&_73[0].type=="Separator"){
_73=_73.slice(1);
}
return _73;
},_buildMenu:function(_76,_77,_78){
var _79=_2.createDocumentFragment(),tmp=i$.createDom("div"),_7a,_7b,_7c=_76.id,_7d,_7e=i$.byId(_76.id);
for(var i=0,l=_78.length;i