From bf2a4978224d83bcd48dd380784bcbed1ba2b8ab Mon Sep 17 00:00:00 2001 From: Tom Vigh Date: Thu, 5 Jan 2017 00:40:39 +0100 Subject: [PATCH 1/9] setup feature video support --- Gruntfile.js | 2 +- dist/js/lightbox-plus-jquery.js | 4559 +++++++++++++++----------- dist/js/lightbox-plus-jquery.min.js | 24 +- dist/js/lightbox-plus-jquery.min.map | 2 +- dist/js/lightbox.js | 45 +- dist/js/lightbox.min.js | 4 +- dist/js/lightbox.min.map | 2 +- examples/video.html | 50 + src/js/lightbox.js | 40 +- 9 files changed, 2744 insertions(+), 1984 deletions(-) create mode 100644 examples/video.html diff --git a/Gruntfile.js b/Gruntfile.js index 6eea00c4..559664ba 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -57,7 +57,7 @@ module.exports = function(grunt) { watch: { jshint: { files: ['src/js/lightbox.js'], - tasks: ['jshint', 'jscs'] + tasks: ['jshint', 'jscs', 'build'] } }, cssmin: { diff --git a/dist/js/lightbox-plus-jquery.js b/dist/js/lightbox-plus-jquery.js index b5b06ea5..8a75d2ee 100644 --- a/dist/js/lightbox-plus-jquery.js +++ b/dist/js/lightbox-plus-jquery.js @@ -1,15 +1,15 @@ /*! - * jQuery JavaScript Library v2.1.4 + * jQuery JavaScript Library v2.2.4 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2015-04-28T16:01Z + * Date: 2016-05-20T17:23Z */ (function( global, factory ) { @@ -41,10 +41,11 @@ // Can't be in strict mode, several libs including ASP.NET trace // the stack via arguments.caller.callee and Firefox dies if // you try to trace through "use strict" call chains. (#13335) -// - +//"use strict"; var arr = []; +var document = window.document; + var slice = arr.slice; var concat = arr.concat; @@ -64,13 +65,11 @@ var support = {}; var - // Use the correct document accordingly with window argument (sandbox) - document = window.document, - - version = "2.1.4", + version = "2.2.4", // 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 ); @@ -90,6 +89,7 @@ var }; jQuery.fn = jQuery.prototype = { + // The current version of jQuery being used jquery: version, @@ -133,16 +133,14 @@ jQuery.fn = jQuery.prototype = { }, // 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 ); + each: function( callback ) { + return jQuery.each( this, callback ); }, map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { + return this.pushStack( jQuery.map( this, function( elem, i ) { return callback.call( elem, i, elem ); - })); + } ) ); }, slice: function() { @@ -160,11 +158,11 @@ jQuery.fn = jQuery.prototype = { eq: function( i ) { var len = this.length, j = +i + ( i < 0 ? len : 0 ); - return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] ); + return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] ); }, end: function() { - return this.prevObject || this.constructor(null); + return this.prevObject || this.constructor(); }, // For internal use only. @@ -176,7 +174,7 @@ jQuery.fn = jQuery.prototype = { jQuery.extend = jQuery.fn.extend = function() { var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, + target = arguments[ 0 ] || {}, i = 1, length = arguments.length, deep = false; @@ -191,7 +189,7 @@ jQuery.extend = jQuery.fn.extend = function() { } // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + if ( typeof target !== "object" && !jQuery.isFunction( target ) ) { target = {}; } @@ -202,8 +200,10 @@ jQuery.extend = jQuery.fn.extend = function() { } for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { + if ( ( options = arguments[ i ] ) != null ) { + // Extend the base object for ( name in options ) { src = target[ name ]; @@ -215,13 +215,15 @@ jQuery.extend = jQuery.fn.extend = function() { } // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( deep && copy && ( jQuery.isPlainObject( copy ) || + ( copyIsArray = jQuery.isArray( copy ) ) ) ) { + if ( copyIsArray ) { copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; + clone = src && jQuery.isArray( src ) ? src : []; } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; + clone = src && jQuery.isPlainObject( src ) ? src : {}; } // Never move original objects, clone them @@ -239,7 +241,8 @@ jQuery.extend = jQuery.fn.extend = function() { return target; }; -jQuery.extend({ +jQuery.extend( { + // Unique for each copy of jQuery on the page expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ), @@ -253,7 +256,7 @@ jQuery.extend({ noop: function() {}, isFunction: function( obj ) { - return jQuery.type(obj) === "function"; + return jQuery.type( obj ) === "function"; }, isArray: Array.isArray, @@ -263,14 +266,18 @@ jQuery.extend({ }, 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 // adding 1 corrects loss of precision from parseFloat (#15100) - return !jQuery.isArray( obj ) && (obj - parseFloat( obj ) + 1) >= 0; + var realStringObj = obj && obj.toString(); + return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( realStringObj ) + 1 ) >= 0; }, isPlainObject: function( obj ) { + var key; + // Not plain objects: // - Any object or value whose internal [[Class]] property is not "[object Object]" // - DOM nodes @@ -279,14 +286,18 @@ jQuery.extend({ return false; } + // Not own constructor property must be Object if ( obj.constructor && - !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) { + !hasOwn.call( obj, "constructor" ) && + !hasOwn.call( obj.constructor.prototype || {}, "isPrototypeOf" ) ) { return false; } - // If the function hasn't returned already, we're confident that - // |obj| is a plain object, created by {} or constructed with new Object - return true; + // 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 ); }, isEmptyObject: function( obj ) { @@ -301,9 +312,10 @@ jQuery.extend({ if ( obj == null ) { return obj + ""; } + // Support: Android<4.0, iOS<6 (functionish RegExp) return typeof obj === "object" || typeof obj === "function" ? - class2type[ toString.call(obj) ] || "object" : + class2type[ toString.call( obj ) ] || "object" : typeof obj; }, @@ -315,16 +327,19 @@ jQuery.extend({ code = jQuery.trim( code ); if ( code ) { + // If the code includes a valid, prologue position // strict mode pragma, execute code by injecting a // script tag into the document. - if ( code.indexOf("use strict") === 1 ) { - script = document.createElement("script"); + if ( code.indexOf( "use strict" ) === 1 ) { + script = document.createElement( "script" ); script.text = code; document.head.appendChild( script ).parentNode.removeChild( script ); } else { - // Otherwise, avoid the DOM node creation, insertion - // and removal by using an indirect global eval + + // Otherwise, avoid the DOM node creation, insertion + // and removal by using an indirect global eval + indirect( code ); } } @@ -341,49 +356,20 @@ jQuery.extend({ 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 ); + each: function( obj, callback ) { + var length, i = 0; - if ( value === false ) { - break; - } + if ( isArrayLike( obj ) ) { + length = obj.length; + for ( ; i < length; i++ ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === 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; - } + for ( i in obj ) { + if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) { + break; } } } @@ -403,7 +389,7 @@ jQuery.extend({ var ret = results || []; if ( arr != null ) { - if ( isArraylike( Object(arr) ) ) { + if ( isArrayLike( Object( arr ) ) ) { jQuery.merge( ret, typeof arr === "string" ? [ arr ] : arr @@ -455,14 +441,13 @@ jQuery.extend({ // arg is for internal usage only map: function( elems, callback, arg ) { - var value, + var length, 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 ) { + if ( isArrayLike( elems ) ) { + length = elems.length; for ( ; i < length; i++ ) { value = callback( elems[ i ], i, arg ); @@ -523,43 +508,50 @@ jQuery.extend({ // jQuery.support is not used in Core but other projects attach their // properties to it so it needs to exist. support: support -}); +} ); + +// JSHint would error on this code due to the Symbol not being defined in ES5. +// Defining this global in .jshintrc would create a danger of using the global +// unguarded in another place, it seems safer to just disable JSHint for these +// three lines. +/* jshint ignore: start */ +if ( typeof Symbol === "function" ) { + jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ]; +} +/* jshint ignore: end */ // Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) { +jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), +function( i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); +} ); -function isArraylike( obj ) { +function isArrayLike( obj ) { // Support: iOS 8.2 (not reproducible in simulator) // `in` check used to prevent JIT error (gh-2145) // hasOwn isn't used here due to false negatives // regarding Nodelist length in IE - var length = "length" in obj && obj.length, + var length = !!obj && "length" in obj && 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 v2.2.0-pre + * Sizzle CSS Selector Engine v2.2.1 * http://sizzlejs.com/ * - * Copyright 2008, 2014 jQuery Foundation, Inc. and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2014-12-16 + * Date: 2015-10-17 */ (function( window ) { @@ -627,25 +619,21 @@ var i, // Regular expressions - // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + // 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#" ), + // http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors - attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace + + attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + // Operator (capture 2) "*([*^$|!~]?=)" + whitespace + // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]" "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", - pseudos = ":(" + characterEncoding + ")(?:\\((" + + pseudos = ":(" + identifier + ")(?:\\((" + // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments: // 1. quoted (capture 3; capture 4 or capture 5) "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" + @@ -668,9 +656,9 @@ var i, ridentifier = new RegExp( "^" + identifier + "$" ), matchExpr = { - "ID": new RegExp( "^#(" + characterEncoding + ")" ), - "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), - "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ID": new RegExp( "^#(" + identifier + ")" ), + "CLASS": new RegExp( "^\\.(" + identifier + ")" ), + "TAG": new RegExp( "^(" + identifier + "|[*])" ), "ATTR": new RegExp( "^" + attributes ), "PSEUDO": new RegExp( "^" + pseudos ), "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + @@ -748,103 +736,129 @@ try { } function Sizzle( selector, context, results, seed ) { - var match, elem, m, nodeType, - // QSA vars - i, groups, old, nid, newContext, newSelector; + var m, i, elem, nid, nidselect, match, groups, newSelector, + newContext = context && context.ownerDocument, - if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { - setDocument( context ); - } + // nodeType defaults to 9, since context defaults to document + nodeType = context ? context.nodeType : 9; - context = context || document; results = results || []; - nodeType = context.nodeType; + // Return early from calls with invalid selector or context if ( typeof selector !== "string" || !selector || nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) { return results; } - if ( !seed && documentIsHTML ) { + // Try to shortcut find operations (as opposed to filters) in HTML documents + if ( !seed ) { - // Try to shortcut find operations when possible (e.g., not under DocumentFragment) - if ( nodeType !== 11 && (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 ); + if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) { + setDocument( context ); + } + context = context || document; + + if ( documentIsHTML ) { + + // If the selector is sufficiently simple, try using a "get*By*" DOM method + // (excepting DocumentFragment context, where the methods don't exist) + if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) { + + // ID selector + if ( (m = match[1]) ) { + + // Document context + if ( nodeType === 9 ) { + if ( (elem = context.getElementById( m )) ) { + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { return results; } + + // Element context } 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; + + // Support: IE, Opera, Webkit + // TODO: identify versions + // getElementById can match elements by name instead of ID + if ( newContext && (elem = newContext.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; + // Type selector + } else if ( match[2] ) { + push.apply( results, context.getElementsByTagName( selector ) ); + return results; - // Speed-up: Sizzle(".CLASS") - } else if ( (m = match[3]) && support.getElementsByClassName ) { - push.apply( results, context.getElementsByClassName( m ) ); - return results; + // Class selector + } 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 !== 1 && selector; + // Take advantage of querySelectorAll + if ( support.qsa && + !compilerCache[ selector + " " ] && + (!rbuggyQSA || !rbuggyQSA.test( 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 ( nodeType !== 1 ) { + newContext = context; + newSelector = selector; - if ( (old = context.getAttribute("id")) ) { - nid = old.replace( rescape, "\\$&" ); - } else { - context.setAttribute( "id", nid ); - } - nid = "[id='" + nid + "'] "; + // qSA looks outside Element context, which is not what we want + // Thanks to Andrew Dupont for this workaround technique + // Support: IE <=8 + // Exclude object elements + } else if ( context.nodeName.toLowerCase() !== "object" ) { - i = groups.length; - while ( i-- ) { - groups[i] = nid + toSelector( groups[i] ); + // Capture the context ID, setting it first if necessary + if ( (nid = context.getAttribute( "id" )) ) { + nid = nid.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", (nid = expando) ); + } + + // Prefix every selector in the list + groups = tokenize( selector ); + i = groups.length; + nidselect = ridentifier.test( nid ) ? "#" + nid : "[id='" + nid + "']"; + while ( i-- ) { + groups[i] = nidselect + " " + toSelector( groups[i] ); + } + newSelector = groups.join( "," ); + + // Expand context for sibling selectors + newContext = rsibling.test( selector ) && testContext( context.parentNode ) || + context; } - 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"); + if ( newSelector ) { + try { + push.apply( results, + newContext.querySelectorAll( newSelector ) + ); + return results; + } catch ( qsaError ) { + } finally { + if ( nid === expando ) { + context.removeAttribute( "id" ); + } } } } @@ -857,7 +871,7 @@ function Sizzle( selector, context, results, seed ) { /** * Create key-value caches of limited size - * @returns {Function(string, Object)} Returns the Object data after storing it on itself with + * @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 */ @@ -912,7 +926,7 @@ function assert( fn ) { */ function addHandle( attrs, handler ) { var arr = attrs.split("|"), - i = attrs.length; + i = arr.length; while ( i-- ) { Expr.attrHandle[ arr[i] ] = handler; @@ -1025,33 +1039,29 @@ setDocument = Sizzle.setDocument = function( node ) { var hasCompare, parent, doc = node ? node.ownerDocument || node : preferredDoc; - // If no document and documentElement is available, return + // Return early if doc is invalid or already selected if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) { return document; } - // Set our document + // Update global variables document = doc; - docElem = doc.documentElement; - parent = doc.defaultView; - - // 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 + docElem = document.documentElement; + documentIsHTML = !isXML( document ); + + // Support: IE 9-11, Edge + // Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936) + if ( (parent = document.defaultView) && parent.top !== parent ) { + // Support: IE 11 if ( parent.addEventListener ) { parent.addEventListener( "unload", unloadHandler, false ); + + // Support: IE 9 - 10 only } else if ( parent.attachEvent ) { parent.attachEvent( "onunload", unloadHandler ); } } - /* Support tests - ---------------------------------------------------------------------- */ - documentIsHTML = !isXML( doc ); - /* Attributes ---------------------------------------------------------------------- */ @@ -1068,12 +1078,12 @@ setDocument = Sizzle.setDocument = function( node ) { // Check if getElementsByTagName("*") returns only elements support.getElementsByTagName = assert(function( div ) { - div.appendChild( doc.createComment("") ); + div.appendChild( document.createComment("") ); return !div.getElementsByTagName("*").length; }); // Support: IE<9 - support.getElementsByClassName = rnative.test( doc.getElementsByClassName ); + support.getElementsByClassName = rnative.test( document.getElementsByClassName ); // Support: IE<10 // Check if getElementById returns elements by name @@ -1081,7 +1091,7 @@ setDocument = Sizzle.setDocument = function( node ) { // so use a roundabout getElementsByName test support.getById = assert(function( div ) { docElem.appendChild( div ).id = expando; - return !doc.getElementsByName || !doc.getElementsByName( expando ).length; + return !document.getElementsByName || !document.getElementsByName( expando ).length; }); // ID find and filter @@ -1089,9 +1099,7 @@ setDocument = Sizzle.setDocument = function( node ) { Expr.find["ID"] = function( id, context ) { if ( typeof context.getElementById !== "undefined" && 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 ] : []; + return m ? [ m ] : []; } }; Expr.filter["ID"] = function( id ) { @@ -1108,7 +1116,8 @@ setDocument = Sizzle.setDocument = function( node ) { Expr.filter["ID"] = function( id ) { var attrId = id.replace( runescape, funescape ); return function( elem ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + var node = typeof elem.getAttributeNode !== "undefined" && + elem.getAttributeNode("id"); return node && node.value === attrId; }; }; @@ -1148,7 +1157,7 @@ setDocument = Sizzle.setDocument = function( node ) { // Class Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) { - if ( documentIsHTML ) { + if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) { return context.getElementsByClassName( className ); } }; @@ -1168,7 +1177,7 @@ setDocument = Sizzle.setDocument = function( node ) { // See http://bugs.jquery.com/ticket/13378 rbuggyQSA = []; - if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) { + if ( (support.qsa = rnative.test( document.querySelectorAll )) ) { // Build QSA regex // Regex strategy adopted from Diego Perini assert(function( div ) { @@ -1178,7 +1187,7 @@ setDocument = Sizzle.setDocument = function( node ) { // since its presence should be enough // http://bugs.jquery.com/ticket/12359 docElem.appendChild( div ).innerHTML = "" + - "" + ""; // Support: IE8, Opera 11-12.16 @@ -1195,7 +1204,7 @@ setDocument = Sizzle.setDocument = function( node ) { rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" ); } - // Support: Chrome<29, Android<4.2+, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.7+ + // Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+ if ( !div.querySelectorAll( "[id~=" + expando + "-]" ).length ) { rbuggyQSA.push("~="); } @@ -1218,7 +1227,7 @@ setDocument = Sizzle.setDocument = function( node ) { assert(function( div ) { // Support: Windows 8 Native Apps // The type and name attributes are restricted during .innerHTML assignment - var input = doc.createElement("input"); + var input = document.createElement("input"); input.setAttribute( "type", "hidden" ); div.appendChild( input ).setAttribute( "name", "D" ); @@ -1266,7 +1275,7 @@ setDocument = Sizzle.setDocument = function( node ) { hasCompare = rnative.test( docElem.compareDocumentPosition ); // Element contains another - // Purposefully does not implement inclusive descendent + // Purposefully self-exclusive // As in, an element does not contain itself contains = hasCompare || rnative.test( docElem.contains ) ? function( a, b ) { @@ -1320,10 +1329,10 @@ setDocument = Sizzle.setDocument = function( node ) { (!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) ) { + if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) { return -1; } - if ( b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { + if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) { return 1; } @@ -1351,8 +1360,8 @@ setDocument = Sizzle.setDocument = function( node ) { // Parentless nodes are either documents or disconnected if ( !aup || !bup ) { - return a === doc ? -1 : - b === doc ? 1 : + return a === document ? -1 : + b === document ? 1 : aup ? -1 : bup ? 1 : sortInput ? @@ -1389,7 +1398,7 @@ setDocument = Sizzle.setDocument = function( node ) { 0; }; - return doc; + return document; }; Sizzle.matches = function( expr, elements ) { @@ -1406,6 +1415,7 @@ Sizzle.matchesSelector = function( elem, expr ) { expr = expr.replace( rattributeQuotes, "='$1']" ); if ( support.matchesSelector && documentIsHTML && + !compilerCache[ expr + " " ] && ( !rbuggyMatches || !rbuggyMatches.test( expr ) ) && ( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) { @@ -1679,11 +1689,12 @@ Expr = Sizzle.selectors = { } : function( elem, context, xml ) { - var cache, outerCache, node, diff, nodeIndex, start, + var cache, uniqueCache, outerCache, node, nodeIndex, start, dir = simple !== forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), - useCache = !xml && !ofType; + useCache = !xml && !ofType, + diff = false; if ( parent ) { @@ -1692,7 +1703,10 @@ Expr = Sizzle.selectors = { while ( dir ) { node = elem; while ( (node = node[ dir ]) ) { - if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) { + if ( ofType ? + node.nodeName.toLowerCase() === name : + node.nodeType === 1 ) { + return false; } } @@ -1706,11 +1720,21 @@ Expr = Sizzle.selectors = { // 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]; + + // ...in a gzip-friendly way + node = parent; + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex && cache[ 2 ]; node = nodeIndex && parent.childNodes[ nodeIndex ]; while ( (node = ++nodeIndex && node && node[ dir ] || @@ -1720,29 +1744,55 @@ Expr = Sizzle.selectors = { // When found, cache indexes on `parent` and break if ( node.nodeType === 1 && ++diff && node === elem ) { - outerCache[ type ] = [ dirruns, nodeIndex, diff ]; + uniqueCache[ 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()) ) { + // Use previously-cached element index if available + if ( useCache ) { + // ...in a gzip-friendly way + node = elem; + outerCache = node[ expando ] || (node[ expando ] = {}); - 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 ]; - } + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); - if ( node === elem ) { - break; + cache = uniqueCache[ type ] || []; + nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ]; + diff = nodeIndex; + } + + // xml :nth-child(...) + // or :nth-last-child(...) or :nth(-last)?-of-type(...) + if ( diff === false ) { + // 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 ) { + outerCache = node[ expando ] || (node[ expando ] = {}); + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ node.uniqueID ] || + (outerCache[ node.uniqueID ] = {}); + + uniqueCache[ type ] = [ dirruns, diff ]; + } + + if ( node === elem ) { + break; + } } } } @@ -2104,10 +2154,10 @@ function addCombinator( matcher, combinator, base ) { // Check against all ancestor/preceding elements function( elem, context, xml ) { - var oldCache, outerCache, + var oldCache, uniqueCache, outerCache, newCache = [ dirruns, doneName ]; - // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + // We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching if ( xml ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { @@ -2120,14 +2170,19 @@ function addCombinator( matcher, combinator, base ) { while ( (elem = elem[ dir ]) ) { if ( elem.nodeType === 1 || checkNonElements ) { outerCache = elem[ expando ] || (elem[ expando ] = {}); - if ( (oldCache = outerCache[ dir ]) && + + // Support: IE <9 only + // Defend against cloned attroperties (jQuery gh-1709) + uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {}); + + if ( (oldCache = uniqueCache[ 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; + uniqueCache[ dir ] = newCache; // A match means we're done; a fail means we have to keep checking if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) { @@ -2352,18 +2407,21 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { len = elems.length; if ( outermost ) { - outermostContext = context !== document && context; + outermostContext = context === document || context || outermost; } // 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; + if ( !context && elem.ownerDocument !== document ) { + setDocument( elem ); + xml = !documentIsHTML; + } while ( (matcher = elementMatchers[j++]) ) { - if ( matcher( elem, context, xml ) ) { + if ( matcher( elem, context || document, xml) ) { results.push( elem ); break; } @@ -2387,8 +2445,17 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) { } } - // Apply set filters to unmatched elements + // `i` is now the count of elements visited above, and adding it to `matchedCount` + // makes the latter nonnegative. matchedCount += i; + + // Apply set filters to unmatched elements + // NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount` + // equals `i`), unless we didn't visit _any_ elements in the above loop because we have + // no element matchers and no seed. + // Incrementing an initially-string "0" `i` allows `i` to remain a string only in that + // case, which will result in a "00" `matchedCount` that differs from `i` but is also + // numerically zero. if ( bySet && i !== matchedCount ) { j = 0; while ( (matcher = setMatchers[j++]) ) { @@ -2480,10 +2547,11 @@ select = Sizzle.select = function( selector, context, results, seed ) { results = results || []; - // Try to minimize operations if there is no seed and only one group + // Try to minimize operations if there is only one selector in the list and no seed + // (the latter of which guarantees us context) if ( match.length === 1 ) { - // Take a shortcut and set the context if the root selector is an ID + // Reduce context if the leading compound 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 && @@ -2538,7 +2606,7 @@ select = Sizzle.select = function( selector, context, results, seed ) { context, !documentIsHTML, results, - rsibling.test( selector ) && testContext( context.parentNode ) || context + !context || rsibling.test( selector ) && testContext( context.parentNode ) || context ); return results; }; @@ -2614,17 +2682,46 @@ return Sizzle; jQuery.find = Sizzle; jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.pseudos; -jQuery.unique = Sizzle.uniqueSort; +jQuery.expr[ ":" ] = jQuery.expr.pseudos; +jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort; jQuery.text = Sizzle.getText; jQuery.isXMLDoc = Sizzle.isXML; jQuery.contains = Sizzle.contains; +var dir = function( elem, dir, until ) { + var matched = [], + truncate = until !== undefined; + + while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) { + if ( elem.nodeType === 1 ) { + if ( truncate && jQuery( elem ).is( until ) ) { + break; + } + matched.push( elem ); + } + } + return matched; +}; + + +var siblings = function( n, elem ) { + var matched = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + matched.push( n ); + } + } + + return matched; +}; + + var rneedsContext = jQuery.expr.match.needsContext; -var rsingleTag = (/^<(\w+)\s*\/?>(?:<\/\1>|)$/); +var rsingleTag = ( /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/ ); @@ -2636,14 +2733,14 @@ function winnow( elements, qualifier, not ) { 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; - }); + } ); } @@ -2656,8 +2753,8 @@ function winnow( elements, qualifier, not ) { } return jQuery.grep( elements, function( elem ) { - return ( indexOf.call( qualifier, elem ) >= 0 ) !== not; - }); + return ( indexOf.call( qualifier, elem ) > -1 ) !== not; + } ); } jQuery.filter = function( expr, elems, not ) { @@ -2671,10 +2768,10 @@ jQuery.filter = function( expr, elems, not ) { jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [] : jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) { return elem.nodeType === 1; - })); + } ) ); }; -jQuery.fn.extend({ +jQuery.fn.extend( { find: function( selector ) { var i, len = this.length, @@ -2682,13 +2779,13 @@ jQuery.fn.extend({ self = this; if ( typeof selector !== "string" ) { - return this.pushStack( jQuery( selector ).filter(function() { + 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++ ) { @@ -2701,10 +2798,10 @@ jQuery.fn.extend({ return ret; }, filter: function( selector ) { - return this.pushStack( winnow(this, selector || [], false) ); + return this.pushStack( winnow( this, selector || [], false ) ); }, not: function( selector ) { - return this.pushStack( winnow(this, selector || [], true) ); + return this.pushStack( winnow( this, selector || [], true ) ); }, is: function( selector ) { return !!winnow( @@ -2718,7 +2815,7 @@ jQuery.fn.extend({ false ).length; } -}); +} ); // Initialize a jQuery object @@ -2732,7 +2829,7 @@ var rootjQuery, // Strict HTML recognition (#11290: must start with <) rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/, - init = jQuery.fn.init = function( selector, context ) { + init = jQuery.fn.init = function( selector, context, root ) { var match, elem; // HANDLE: $(""), $(null), $(undefined), $(false) @@ -2740,9 +2837,16 @@ var rootjQuery, return this; } + // Method init() accepts an alternate rootjQuery + // so migrate can support jQuery.sub (gh-2101) + root = root || rootjQuery; + // Handle HTML strings if ( typeof selector === "string" ) { - if ( selector[0] === "<" && selector[ selector.length - 1 ] === ">" && selector.length >= 3 ) { + if ( selector[ 0 ] === "<" && + selector[ 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 ]; @@ -2751,23 +2855,24 @@ var rootjQuery, } // Match html or make sure no context is specified for #id - if ( match && (match[1] || !context) ) { + if ( match && ( match[ 1 ] || !context ) ) { // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; + if ( match[ 1 ] ) { + context = context instanceof jQuery ? context[ 0 ] : context; // Option to run scripts is true for back-compat // Intentionally let the error be thrown if parseHTML is not present jQuery.merge( this, jQuery.parseHTML( - match[1], + match[ 1 ], context && context.nodeType ? context.ownerDocument || context : document, true ) ); // HANDLE: $(html, props) - if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + 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 ] ); @@ -2783,14 +2888,15 @@ var rootjQuery, // HANDLE: $(#id) } else { - elem = document.getElementById( match[2] ); + elem = document.getElementById( match[ 2 ] ); // Support: Blackberry 4.6 // gEBID returns nodes no longer in the document (#6963) if ( elem && elem.parentNode ) { + // Inject the element directly into the jQuery object this.length = 1; - this[0] = elem; + this[ 0 ] = elem; } this.context = document; @@ -2800,7 +2906,7 @@ var rootjQuery, // HANDLE: $(expr, $(...)) } else if ( !context || context.jquery ) { - return ( context || rootjQuery ).find( selector ); + return ( context || root ).find( selector ); // HANDLE: $(expr, context) // (which is just equivalent to: $(context).find(expr) @@ -2810,15 +2916,16 @@ var rootjQuery, // HANDLE: $(DOMElement) } else if ( selector.nodeType ) { - this.context = this[0] = selector; + 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 ) : + return root.ready !== undefined ? + root.ready( selector ) : + // Execute immediately if ready is not present selector( jQuery ); } @@ -2839,6 +2946,7 @@ 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, @@ -2847,48 +2955,19 @@ var rparentsprev = /^(?:parents|prev(?:Until|All))/, prev: true }; -jQuery.extend({ - dir: function( elem, dir, until ) { - var matched = [], - truncate = until !== undefined; - - while ( (elem = elem[ dir ]) && elem.nodeType !== 9 ) { - if ( elem.nodeType === 1 ) { - if ( truncate && jQuery( elem ).is( until ) ) { - break; - } - matched.push( elem ); - } - } - return matched; - }, - - sibling: function( n, elem ) { - var matched = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - matched.push( n ); - } - } - - return matched; - } -}); - -jQuery.fn.extend({ +jQuery.fn.extend( { has: function( target ) { var targets = jQuery( target, this ), l = targets.length; - return this.filter(function() { + return this.filter( function() { var i = 0; for ( ; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { + if ( jQuery.contains( this, targets[ i ] ) ) { return true; } } - }); + } ); }, closest: function( selectors, context ) { @@ -2901,14 +2980,15 @@ jQuery.fn.extend({ 0; for ( ; i < l; i++ ) { - for ( cur = this[i]; cur && cur !== context; cur = cur.parentNode ) { + for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) { + // Always skip document fragments - if ( cur.nodeType < 11 && (pos ? - pos.index(cur) > -1 : + if ( cur.nodeType < 11 && ( pos ? + pos.index( cur ) > -1 : // Don't pass non-elements to Sizzle cur.nodeType === 1 && - jQuery.find.matchesSelector(cur, selectors)) ) { + jQuery.find.matchesSelector( cur, selectors ) ) ) { matched.push( cur ); break; @@ -2916,7 +2996,7 @@ jQuery.fn.extend({ } } - return this.pushStack( matched.length > 1 ? jQuery.unique( matched ) : matched ); + return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched ); }, // Determine the position of an element within the set @@ -2942,7 +3022,7 @@ jQuery.fn.extend({ add: function( selector, context ) { return this.pushStack( - jQuery.unique( + jQuery.uniqueSort( jQuery.merge( this.get(), jQuery( selector, context ) ) ) ); @@ -2950,26 +3030,26 @@ jQuery.fn.extend({ addBack: function( selector ) { return this.add( selector == null ? - this.prevObject : this.prevObject.filter(selector) + this.prevObject : this.prevObject.filter( selector ) ); } -}); +} ); function sibling( cur, dir ) { - while ( (cur = cur[dir]) && cur.nodeType !== 1 ) {} + while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {} return cur; } -jQuery.each({ +jQuery.each( { parent: function( elem ) { var parent = elem.parentNode; return parent && parent.nodeType !== 11 ? parent : null; }, parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); + return dir( elem, "parentNode" ); }, parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); + return dir( elem, "parentNode", until ); }, next: function( elem ) { return sibling( elem, "nextSibling" ); @@ -2978,22 +3058,22 @@ jQuery.each({ return sibling( elem, "previousSibling" ); }, nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); + return dir( elem, "nextSibling" ); }, prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); + return dir( elem, "previousSibling" ); }, nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); + return dir( elem, "nextSibling", until ); }, prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); + return dir( elem, "previousSibling", until ); }, siblings: function( elem ) { - return jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem ); + return siblings( ( elem.parentNode || {} ).firstChild, elem ); }, children: function( elem ) { - return jQuery.sibling( elem.firstChild ); + return siblings( elem.firstChild ); }, contents: function( elem ) { return elem.contentDocument || jQuery.merge( [], elem.childNodes ); @@ -3011,9 +3091,10 @@ jQuery.each({ } if ( this.length > 1 ) { + // Remove duplicates if ( !guaranteedUnique[ name ] ) { - jQuery.unique( matched ); + jQuery.uniqueSort( matched ); } // Reverse order for parents* and prev-derivatives @@ -3024,20 +3105,17 @@ jQuery.each({ return this.pushStack( matched ); }; -}); -var rnotwhite = (/\S+/g); +} ); +var rnotwhite = ( /\S+/g ); -// String to Object options format cache -var optionsCache = {}; - -// Convert String-formatted options into Object-formatted ones and store in cache +// Convert String-formatted options into Object-formatted ones function createOptions( options ) { - var object = optionsCache[ options ] = {}; + var object = {}; jQuery.each( options.match( rnotwhite ) || [], function( _, flag ) { object[ flag ] = true; - }); + } ); return object; } @@ -3068,156 +3146,186 @@ 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 ) ) : + createOptions( options ) : jQuery.extend( {}, options ); - var // Last fire value (for non-forgettable lists) + 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, - // Flag to know if list is currently firing - firing, - // First callback to fire (used internally by add and fireWith) - firingStart, - // End of the loop when firing - firingLength, - // Index of currently firing callback (modified by remove if needed) - firingIndex, + + // Flag to prevent firing + locked, + // Actual callback list list = [], - // Stack of fire calls for repeatable lists - stack = !options.once && [], + + // Queue of execution data for repeatable lists + queue = [], + + // Index of currently firing callback (modified by add/remove as needed) + firingIndex = -1, + // 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; + fire = function() { + + // Enforce single-firing + locked = options.once; + + // Execute callbacks for all pending executions, + // respecting firingIndex overrides and runtime changes + fired = firing = true; + for ( ; queue.length; firingIndex = -1 ) { + memory = queue.shift(); + while ( ++firingIndex < list.length ) { + + // Run callback and check for early termination + if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false && + options.stopOnFalse ) { + + // Jump to end and forget the data so .add doesn't re-fire + firingIndex = list.length; + memory = false; + } } } + + // Forget the data if we're done with it + if ( !options.memory ) { + memory = false; + } + firing = false; - if ( list ) { - if ( stack ) { - if ( stack.length ) { - fire( stack.shift() ); - } - } else if ( memory ) { + + // Clean up if we're done firing for good + if ( locked ) { + + // Keep an empty list if we have data for future add calls + if ( memory ) { list = []; + + // Otherwise, this object is spent } else { - self.disable(); + list = ""; } } }, + // 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 ) { + + // If we have memory from a past run, we should fire after adding + if ( memory && !firing ) { + firingIndex = list.length - 1; + queue.push( memory ); + } + + ( function add( args ) { jQuery.each( args, function( _, arg ) { - var type = jQuery.type( arg ); - if ( type === "function" ) { + if ( jQuery.isFunction( arg ) ) { if ( !options.unique || !self.has( arg ) ) { list.push( arg ); } - } else if ( arg && arg.length && type !== "string" ) { + } else if ( arg && arg.length && jQuery.type( arg ) !== "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 ); + } ); + } )( arguments ); + + if ( memory && !firing ) { + fire(); } } 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--; - } - } + jQuery.each( arguments, function( _, arg ) { + var index; + while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + + // Handle firing indexes + 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 ); + return fn ? + jQuery.inArray( fn, list ) > -1 : + list.length > 0; }, + // Remove all callbacks from the list empty: function() { - list = []; - firingLength = 0; + if ( list ) { + list = []; + } return this; }, - // Have the list do nothing anymore + + // Disable .fire and .add + // Abort any current/pending executions + // Clear all callbacks and values disable: function() { - list = stack = memory = undefined; + locked = queue = []; + list = memory = ""; return this; }, - // Is it disabled? disabled: function() { return !list; }, - // Lock the list in its current state + + // Disable .fire + // Also disable .add unless we have memory (since it would have no effect) + // Abort any pending executions lock: function() { - stack = undefined; + locked = queue = []; if ( !memory ) { - self.disable(); + list = memory = ""; } return this; }, - // Is it locked? locked: function() { - return !stack; + return !!locked; }, + // Call all callbacks with the given context and arguments fireWith: function( context, args ) { - if ( list && ( !fired || stack ) ) { + if ( !locked ) { args = args || []; args = [ context, args.slice ? args.slice() : args ]; - if ( firing ) { - stack.push( args ); - } else { - fire( args ); + queue.push( args ); + if ( !firing ) { + fire(); } } 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; @@ -3228,14 +3336,15 @@ jQuery.Callbacks = function( options ) { }; -jQuery.extend({ +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") ] + [ "resolve", "done", jQuery.Callbacks( "once memory" ), "resolved" ], + [ "reject", "fail", jQuery.Callbacks( "once memory" ), "rejected" ], + [ "notify", "progress", jQuery.Callbacks( "memory" ) ] ], state = "pending", promise = { @@ -3248,25 +3357,30 @@ jQuery.extend({ }, then: function( /* fnDone, fnFail, fnProgress */ ) { var fns = arguments; - return jQuery.Deferred(function( newDefer ) { + 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() { + deferred[ tuple[ 1 ] ]( function() { var returned = fn && fn.apply( this, arguments ); if ( returned && jQuery.isFunction( returned.promise ) ) { returned.promise() + .progress( newDefer.notify ) .done( newDefer.resolve ) - .fail( newDefer.reject ) - .progress( newDefer.notify ); + .fail( newDefer.reject ); } else { - newDefer[ tuple[ 0 ] + "With" ]( this === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments ); + newDefer[ tuple[ 0 ] + "With" ]( + this === promise ? newDefer.promise() : this, + fn ? [ returned ] : arguments + ); } - }); - }); + } ); + } ); fns = null; - }).promise(); + } ).promise(); }, + // Get a promise for this deferred // If obj is provided, the promise aspect is added to the object promise: function( obj ) { @@ -3284,11 +3398,12 @@ jQuery.extend({ stateString = tuple[ 3 ]; // promise[ done | fail | progress ] = list.add - promise[ tuple[1] ] = list.add; + promise[ tuple[ 1 ] ] = list.add; // Handle state if ( stateString ) { - list.add(function() { + list.add( function() { + // state = [ resolved | rejected ] state = stateString; @@ -3297,12 +3412,12 @@ jQuery.extend({ } // deferred[ resolve | reject | notify ] - deferred[ tuple[0] ] = function() { - deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments ); + deferred[ tuple[ 0 ] ] = function() { + deferred[ tuple[ 0 ] + "With" ]( this === deferred ? promise : this, arguments ); return this; }; - deferred[ tuple[0] + "With" ] = list.fireWith; - }); + deferred[ tuple[ 0 ] + "With" ] = list.fireWith; + } ); // Make the deferred a promise promise.promise( deferred ); @@ -3323,9 +3438,11 @@ jQuery.extend({ length = resolveValues.length, // the count of uncompleted subordinates - remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + remaining = length !== 1 || + ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, - // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + // 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 @@ -3351,9 +3468,9 @@ jQuery.extend({ for ( ; i < length; i++ ) { if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { resolveValues[ i ].promise() + .progress( updateFunc( i, progressContexts, progressValues ) ) .done( updateFunc( i, resolveContexts, resolveValues ) ) - .fail( deferred.reject ) - .progress( updateFunc( i, progressContexts, progressValues ) ); + .fail( deferred.reject ); } else { --remaining; } @@ -3367,20 +3484,22 @@ jQuery.extend({ 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({ +jQuery.extend( { + // Is the DOM ready to be used? Set to true once it occurs. isReady: false, @@ -3422,14 +3541,14 @@ jQuery.extend({ jQuery( document ).off( "ready" ); } } -}); +} ); /** * The ready event handler and self cleanup method */ function completed() { - document.removeEventListener( "DOMContentLoaded", completed, false ); - window.removeEventListener( "load", completed, false ); + document.removeEventListener( "DOMContentLoaded", completed ); + window.removeEventListener( "load", completed ); jQuery.ready(); } @@ -3438,20 +3557,23 @@ jQuery.ready.promise = function( obj ) { 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" ) { + // Catch cases where $(document).ready() is called + // after the browser event has already occurred. + // Support: IE9-10 only + // Older IE sometimes signals "interactive" too soon + if ( document.readyState === "complete" || + ( document.readyState !== "loading" && !document.documentElement.doScroll ) ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready - setTimeout( jQuery.ready ); + window.setTimeout( jQuery.ready ); } else { // Use the handy event callback - document.addEventListener( "DOMContentLoaded", completed, false ); + document.addEventListener( "DOMContentLoaded", completed ); // A fallback to window.onload, that will always work - window.addEventListener( "load", completed, false ); + window.addEventListener( "load", completed ); } } return readyList.promise( obj ); @@ -3465,7 +3587,7 @@ jQuery.ready.promise(); // 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 access = function( elems, fn, key, value, chainable, emptyGet, raw ) { var i = 0, len = elems.length, bulk = key == null; @@ -3474,7 +3596,7 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe if ( jQuery.type( key ) === "object" ) { chainable = true; for ( i in key ) { - jQuery.access( elems, fn, i, key[i], true, emptyGet, raw ); + access( elems, fn, i, key[ i ], true, emptyGet, raw ); } // Sets one value @@ -3486,6 +3608,7 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe } if ( bulk ) { + // Bulk operations run against the entire set if ( raw ) { fn.call( elems, value ); @@ -3502,7 +3625,11 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe if ( fn ) { for ( ; i < len; i++ ) { - fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) ); + fn( + elems[ i ], key, raw ? + value : + value.call( elems[ i ], i, fn( elems[ i ], key ) ) + ); } } } @@ -3513,14 +3640,10 @@ var access = jQuery.access = function( elems, fn, key, value, chainable, emptyGe // Gets bulk ? fn.call( elems ) : - len ? fn( elems[0], key ) : emptyGet; + len ? fn( elems[ 0 ], key ) : emptyGet; }; +var acceptData = function( owner ) { - -/** - * Determines whether an object can have data - */ -jQuery.acceptData = function( owner ) { // Accepts only: // - Node // - Node.ELEMENT_NODE @@ -3532,66 +3655,79 @@ jQuery.acceptData = function( owner ) { }; -function Data() { - // Support: Android<4, - // Old WebKit does not have Object.preventExtensions/freeze method, - // return new empty object instead with no [[set]] accessor - Object.defineProperty( this.cache = {}, 0, { - get: function() { - return {}; - } - }); + +function Data() { this.expando = jQuery.expando + Data.uid++; } Data.uid = 1; -Data.accepts = jQuery.acceptData; Data.prototype = { - key: function( owner ) { + + register: function( owner, initial ) { + var value = initial || {}; + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable, non-writable property + // configurability must be true to allow the property to be + // deleted with the delete operator + } else { + Object.defineProperty( owner, this.expando, { + value: value, + writable: true, + configurable: true + } ); + } + return owner[ this.expando ]; + }, + cache: function( owner ) { + // We can accept data for non-element nodes in modern browsers, // but we should not, see #8335. - // Always return the key for a frozen object. - if ( !Data.accepts( owner ) ) { - return 0; + // Always return an empty object. + if ( !acceptData( owner ) ) { + return {}; } - var descriptor = {}, - // Check if the owner object already has a cache key - unlock = owner[ this.expando ]; + // Check if the owner object already has a cache + var value = owner[ this.expando ]; // If not, create one - if ( !unlock ) { - unlock = Data.uid++; - - // Secure it in a non-enumerable, non-writable property - try { - descriptor[ this.expando ] = { value: unlock }; - Object.defineProperties( owner, descriptor ); - - // Support: Android<4 - // Fallback to a less secure definition - } catch ( e ) { - descriptor[ this.expando ] = unlock; - jQuery.extend( owner, descriptor ); + if ( !value ) { + value = {}; + + // We can accept data for non-element nodes in modern browsers, + // but we should not, see #8335. + // Always return an empty object. + if ( acceptData( owner ) ) { + + // If it is a node unlikely to be stringify-ed or looped over + // use plain assignment + if ( owner.nodeType ) { + owner[ this.expando ] = value; + + // Otherwise secure it in a non-enumerable property + // configurable must be true to allow the property to be + // deleted when data is removed + } else { + Object.defineProperty( owner, this.expando, { + value: value, + configurable: true + } ); + } } } - // Ensure the cache object - if ( !this.cache[ unlock ] ) { - this.cache[ unlock ] = {}; - } - - return unlock; + return value; }, set: function( owner, data, value ) { var prop, - // There may be an unlock assigned to this node, - // if there is no entry for this "owner", create one inline - // and set the unlock as though an owner entry had always existed - unlock = this.key( owner ), - cache = this.cache[ unlock ]; + cache = this.cache( owner ); // Handle: [ owner, key, value ] args if ( typeof data === "string" ) { @@ -3599,30 +3735,22 @@ Data.prototype = { // Handle: [ owner, { properties } ] args } else { - // Fresh assignments by object are shallow copied - if ( jQuery.isEmptyObject( cache ) ) { - jQuery.extend( this.cache[ unlock ], data ); - // Otherwise, copy the properties one-by-one to the cache object - } else { - for ( prop in data ) { - cache[ prop ] = data[ prop ]; - } + + // Copy the properties one-by-one to the cache object + for ( prop in data ) { + cache[ prop ] = data[ prop ]; } } return cache; }, get: function( owner, key ) { - // Either a valid cache is found, or will be created. - // New caches will be created and the unlock returned, - // allowing direct access to the newly created - // empty data object. A valid owner object must be provided. - var cache = this.cache[ this.key( owner ) ]; - return key === undefined ? - cache : cache[ key ]; + this.cache( owner ) : + owner[ this.expando ] && owner[ this.expando ][ key ]; }, access: function( owner, key, value ) { var stored; + // In cases where either: // // 1. No key was specified @@ -3635,15 +3763,15 @@ Data.prototype = { // 2. The data stored at the key // if ( key === undefined || - ((key && typeof key === "string") && value === undefined) ) { + ( ( key && typeof key === "string" ) && value === undefined ) ) { stored = this.get( owner, key ); return stored !== undefined ? - stored : this.get( owner, jQuery.camelCase(key) ); + stored : this.get( owner, jQuery.camelCase( key ) ); } - // [*]When the key is not a string, or both a key and value + // When the key is not a string, or both a key and value // are specified, set or extend (existing objects) with either: // // 1. An object of properties @@ -3657,15 +3785,20 @@ Data.prototype = { }, remove: function( owner, key ) { var i, name, camel, - unlock = this.key( owner ), - cache = this.cache[ unlock ]; + cache = owner[ this.expando ]; - if ( key === undefined ) { - this.cache[ unlock ] = {}; + if ( cache === undefined ) { + return; + } + + if ( key === undefined ) { + this.register( owner ); } else { + // Support array or space separated string of keys if ( jQuery.isArray( key ) ) { + // If "name" is an array of keys... // When data is initially created, via ("key", "val") signature, // keys will be converted to camelCase. @@ -3675,10 +3808,12 @@ Data.prototype = { name = key.concat( key.map( jQuery.camelCase ) ); } else { camel = jQuery.camelCase( key ); + // Try the string as a key before any manipulation if ( key in cache ) { name = [ key, camel ]; } else { + // If a key with the spaces exists, use it. // Otherwise, create an array by matching non-whitespace name = camel; @@ -3688,25 +3823,34 @@ Data.prototype = { } i = name.length; + while ( i-- ) { delete cache[ name[ i ] ]; } } + + // Remove the expando if there's no more data + if ( key === undefined || jQuery.isEmptyObject( cache ) ) { + + // Support: Chrome <= 35-45+ + // Webkit & Blink performance suffers when deleting properties + // from DOM nodes, so set to undefined instead + // https://code.google.com/p/chromium/issues/detail?id=378607 + if ( owner.nodeType ) { + owner[ this.expando ] = undefined; + } else { + delete owner[ this.expando ]; + } + } }, hasData: function( owner ) { - return !jQuery.isEmptyObject( - this.cache[ owner[ this.expando ] ] || {} - ); - }, - discard: function( owner ) { - if ( owner[ this.expando ] ) { - delete this.cache[ owner[ this.expando ] ]; - } + var cache = owner[ this.expando ]; + return cache !== undefined && !jQuery.isEmptyObject( cache ); } }; -var data_priv = new Data(); +var dataPriv = new Data(); -var data_user = new Data(); +var dataUser = new Data(); @@ -3721,7 +3865,7 @@ var data_user = new Data(); // 6. Provide a clear path for implementation upgrade to WeakMap in 2014 var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, - rmultiDash = /([A-Z])/g; + rmultiDash = /[A-Z]/g; function dataAttr( elem, key, data ) { var name; @@ -3729,7 +3873,7 @@ 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 ) { - name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase(); data = elem.getAttribute( name ); if ( typeof data === "string" ) { @@ -3737,14 +3881,15 @@ function dataAttr( elem, key, data ) { 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 ) {} + } catch ( e ) {} // Make sure we set the data so it isn't changed later - data_user.set( elem, key, data ); + dataUser.set( elem, key, data ); } else { data = undefined; } @@ -3752,31 +3897,31 @@ function dataAttr( elem, key, data ) { return data; } -jQuery.extend({ +jQuery.extend( { hasData: function( elem ) { - return data_user.hasData( elem ) || data_priv.hasData( elem ); + return dataUser.hasData( elem ) || dataPriv.hasData( elem ); }, data: function( elem, name, data ) { - return data_user.access( elem, name, data ); + return dataUser.access( elem, name, data ); }, removeData: function( elem, name ) { - data_user.remove( elem, name ); + dataUser.remove( elem, name ); }, // TODO: Now that all calls to _data and _removeData have been replaced - // with direct calls to data_priv methods, these can be deprecated. + // with direct calls to dataPriv methods, these can be deprecated. _data: function( elem, name, data ) { - return data_priv.access( elem, name, data ); + return dataPriv.access( elem, name, data ); }, _removeData: function( elem, name ) { - data_priv.remove( elem, name ); + dataPriv.remove( elem, name ); } -}); +} ); -jQuery.fn.extend({ +jQuery.fn.extend( { data: function( key, value ) { var i, name, data, elem = this[ 0 ], @@ -3785,9 +3930,9 @@ jQuery.fn.extend({ // Gets all values if ( key === undefined ) { if ( this.length ) { - data = data_user.get( elem ); + data = dataUser.get( elem ); - if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) { + if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) { i = attrs.length; while ( i-- ) { @@ -3796,12 +3941,12 @@ jQuery.fn.extend({ if ( attrs[ i ] ) { name = attrs[ i ].name; if ( name.indexOf( "data-" ) === 0 ) { - name = jQuery.camelCase( name.slice(5) ); + name = jQuery.camelCase( name.slice( 5 ) ); dataAttr( elem, name, data[ name ] ); } } } - data_priv.set( elem, "hasDataAttrs", true ); + dataPriv.set( elem, "hasDataAttrs", true ); } } @@ -3810,14 +3955,13 @@ jQuery.fn.extend({ // Sets multiple values if ( typeof key === "object" ) { - return this.each(function() { - data_user.set( this, key ); - }); + return this.each( function() { + dataUser.set( this, key ); + } ); } return access( this, function( value ) { - var data, - camelKey = jQuery.camelCase( key ); + var data, camelKey; // The calling jQuery object (element matches) is not empty // (and therefore has an element appears at this[ 0 ]) and the @@ -3825,16 +3969,24 @@ jQuery.fn.extend({ // will result in `undefined` for elem = this[ 0 ] which will // throw an exception if an attempt to read a data cache is made. if ( elem && value === undefined ) { + // Attempt to get data from the cache // with the key as-is - data = data_user.get( elem, key ); + data = dataUser.get( elem, key ) || + + // Try to find dashed key if it exists (gh-2779) + // This is for 2.2.x only + dataUser.get( elem, key.replace( rmultiDash, "-$&" ).toLowerCase() ); + if ( data !== undefined ) { return data; } + camelKey = jQuery.camelCase( key ); + // Attempt to get data from the cache // with the key camelized - data = data_user.get( elem, camelKey ); + data = dataUser.get( elem, camelKey ); if ( data !== undefined ) { return data; } @@ -3851,46 +4003,48 @@ jQuery.fn.extend({ } // Set the data... - this.each(function() { + camelKey = jQuery.camelCase( key ); + this.each( function() { + // First, attempt to store a copy or reference of any // data that might've been store with a camelCased key. - var data = data_user.get( this, camelKey ); + var data = dataUser.get( this, camelKey ); // For HTML5 data-* attribute interop, we have to // store property names with dashes in a camelCase form. // This might not apply to all properties...* - data_user.set( this, camelKey, value ); + dataUser.set( this, camelKey, value ); // *... In the case of properties that might _actually_ // have dashes, we need to also store a copy of that // unchanged property. - if ( key.indexOf("-") !== -1 && data !== undefined ) { - data_user.set( this, key, value ); + if ( key.indexOf( "-" ) > -1 && data !== undefined ) { + dataUser.set( this, key, value ); } - }); + } ); }, null, value, arguments.length > 1, null, true ); }, removeData: function( key ) { - return this.each(function() { - data_user.remove( this, key ); - }); + return this.each( function() { + dataUser.remove( this, key ); + } ); } -}); +} ); -jQuery.extend({ +jQuery.extend( { queue: function( elem, type, data ) { var queue; if ( elem ) { type = ( type || "fx" ) + "queue"; - queue = data_priv.get( elem, type ); + queue = dataPriv.get( elem, type ); // Speed up dequeue by getting out quickly if this is just a lookup if ( data ) { if ( !queue || jQuery.isArray( data ) ) { - queue = data_priv.access( elem, type, jQuery.makeArray(data) ); + queue = dataPriv.access( elem, type, jQuery.makeArray( data ) ); } else { queue.push( data ); } @@ -3937,15 +4091,15 @@ jQuery.extend({ // Not public - generate a queueHooks object, or return the current one _queueHooks: function( elem, type ) { var key = type + "queueHooks"; - return data_priv.get( elem, key ) || data_priv.access( elem, key, { - empty: jQuery.Callbacks("once memory").add(function() { - data_priv.remove( elem, [ type + "queue", key ] ); - }) - }); + return dataPriv.get( elem, key ) || dataPriv.access( elem, key, { + empty: jQuery.Callbacks( "once memory" ).add( function() { + dataPriv.remove( elem, [ type + "queue", key ] ); + } ) + } ); } -}); +} ); -jQuery.fn.extend({ +jQuery.fn.extend( { queue: function( type, data ) { var setter = 2; @@ -3956,30 +4110,31 @@ jQuery.fn.extend({ } if ( arguments.length < setter ) { - return jQuery.queue( this[0], type ); + return jQuery.queue( this[ 0 ], type ); } return data === undefined ? this : - this.each(function() { + 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" ) { + if ( type === "fx" && queue[ 0 ] !== "inprogress" ) { jQuery.dequeue( this, type ); } - }); + } ); }, dequeue: function( type ) { - return this.each(function() { + 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 ) { @@ -4001,7 +4156,7 @@ jQuery.fn.extend({ type = type || "fx"; while ( i-- ) { - tmp = data_priv.get( elements[ i ], type + "queueHooks" ); + tmp = dataPriv.get( elements[ i ], type + "queueHooks" ); if ( tmp && tmp.empty ) { count++; tmp.empty.add( resolve ); @@ -4010,28 +4165,243 @@ jQuery.fn.extend({ resolve(); return defer.promise( obj ); } -}); -var pnum = (/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source; +} ); +var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source; + +var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" ); + 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 ); + return jQuery.css( elem, "display" ) === "none" || + !jQuery.contains( elem.ownerDocument, elem ); }; -var rcheckableType = (/^(?:checkbox|radio)$/i); +function adjustCSS( elem, prop, valueParts, tween ) { + var adjusted, + scale = 1, + maxIterations = 20, + currentValue = tween ? + function() { return tween.cur(); } : + function() { return jQuery.css( elem, prop, "" ); }, + initial = currentValue(), + unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ), + + // Starting value computation is required for potential unit mismatches + initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) && + rcssNum.exec( jQuery.css( elem, prop ) ); + + if ( initialInUnit && initialInUnit[ 3 ] !== unit ) { + + // Trust units reported by jQuery.css + unit = unit || initialInUnit[ 3 ]; + + // Make sure we update the tween properties later on + valueParts = valueParts || []; + + // Iteratively approximate from a nonzero starting point + initialInUnit = +initial || 1; + + do { + + // If previous iteration zeroed out, double until we get *something*. + // Use string for doubling so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + initialInUnit = initialInUnit / scale; + jQuery.style( elem, prop, initialInUnit + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // Break the loop if scale is unchanged or perfect, or if we've just had enough. + } while ( + scale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations + ); + } + + if ( valueParts ) { + initialInUnit = +initialInUnit || +initial || 0; + + // Apply relative offset (+=/-=) if specified + adjusted = valueParts[ 1 ] ? + initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] : + +valueParts[ 2 ]; + if ( tween ) { + tween.unit = unit; + tween.start = initialInUnit; + tween.end = adjusted; + } + } + return adjusted; +} +var rcheckableType = ( /^(?:checkbox|radio)$/i ); + +var rtagName = ( /<([\w:-]+)/ ); + +var rscriptType = ( /^$|\/(?:java|ecma)script/i ); + + + +// We have to close these tags to support XHTML (#13200) +var wrapMap = { + + // Support: IE9 + option: [ 1, "" ], + + // XHTML parsers do not magically insert elements in the + // same way that tag soup parsers do. So we cannot shorten + // this by omitting or other required elements. + thead: [ 1, "", "
" ], + col: [ 2, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + + _default: [ 0, "", "" ] +}; + +// Support: IE9 +wrapMap.optgroup = wrapMap.option; + +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + + +function getAll( context, tag ) { + + // Support: IE9-11+ + // Use typeof to avoid zero-argument method invocation on host objects (#15151) + var ret = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( tag || "*" ) : + typeof context.querySelectorAll !== "undefined" ? + context.querySelectorAll( tag || "*" ) : + []; + + return tag === undefined || tag && jQuery.nodeName( context, tag ) ? + jQuery.merge( [ context ], ret ) : + ret; +} + + +// Mark scripts as having already been evaluated +function setGlobalEval( elems, refElements ) { + var i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + dataPriv.set( + elems[ i ], + "globalEval", + !refElements || dataPriv.get( refElements[ i ], "globalEval" ) + ); + } +} + + +var rhtml = /<|&#?\w+;/; + +function buildFragment( elems, context, scripts, selection, ignored ) { + var elem, tmp, tag, wrap, contains, j, + fragment = context.createDocumentFragment(), + nodes = [], + i = 0, + l = elems.length; + + for ( ; i < l; i++ ) { + elem = elems[ i ]; + + if ( elem || elem === 0 ) { + + // Add nodes directly + if ( jQuery.type( elem ) === "object" ) { + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + 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 || fragment.appendChild( context.createElement( "div" ) ); + + // Deserialize a standard representation + tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ]; + + // Descend through wrappers to the right content + j = wrap[ 0 ]; + while ( j-- ) { + tmp = tmp.lastChild; + } + + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( nodes, tmp.childNodes ); + + // Remember the top-level container + tmp = fragment.firstChild; + + // Ensure the created nodes are orphaned (#12392) + tmp.textContent = ""; + } + } + } + + // Remove wrapper from fragment + fragment.textContent = ""; + + i = 0; + while ( ( elem = nodes[ i++ ] ) ) { + + // Skip elements already in the context collection (trac-4087) + if ( selection && jQuery.inArray( elem, selection ) > -1 ) { + if ( ignored ) { + ignored.push( elem ); + } + continue; + } + + contains = jQuery.contains( elem.ownerDocument, elem ); + + // Append to fragment + tmp = getAll( fragment.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 ); + } + } + } + } + + return fragment; +} + -(function() { +( function() { var fragment = document.createDocumentFragment(), div = fragment.appendChild( document.createElement( "div" ) ), input = document.createElement( "input" ); - // Support: Safari<=5.1 + // Support: Android 4.0-4.3, Safari<=5.1 // Check state lost if the name is set (#11217) // Support: Windows Web Apps (WWA) // `name` and `type` must use .setAttribute for WWA (#14901) @@ -4049,19 +4419,13 @@ var rcheckableType = (/^(?:checkbox|radio)$/i); // Make sure textarea (and checkbox) defaultValue is properly cloned div.innerHTML = ""; support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -})(); -var strundefined = typeof undefined; - - - -support.focusinBubbles = "onfocusin" in window; +} )(); var rkeyEvent = /^key/, - rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/, - rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, - rtypenamespace = /^([^.]*)(?:\.(.+)|)$/; + rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + rtypenamespace = /^([^.]*)(?:\.(.+)|)/; function returnTrue() { return true; @@ -4071,12 +4435,75 @@ function returnFalse() { return false; } +// Support: IE9 +// See #13393 for more info function safeActiveElement() { try { return document.activeElement; } catch ( err ) { } } +function on( elem, types, selector, data, fn, one ) { + var origFn, type; + + // 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 ) { + on( elem, type, selector, data, types[ type ], one ); + } + return elem; + } + + 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 elem; + } + + 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 elem.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + } ); +} + /* * Helper functions for managing events -- not part of the public interface. * Props to Dean Edwards' addEvent library for many of the ideas. @@ -4090,7 +4517,7 @@ jQuery.event = { var handleObjIn, eventHandle, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, - elemData = data_priv.get( elem ); + elemData = dataPriv.get( elem ); // Don't attach events to noData or text/comment nodes (but allow plain objects) if ( !elemData ) { @@ -4110,14 +4537,15 @@ jQuery.event = { } // Init the element's event structure and main handler, if this is the first - if ( !(events = elemData.events) ) { + if ( !( events = elemData.events ) ) { events = elemData.events = {}; } - if ( !(eventHandle = elemData.handle) ) { + 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 && jQuery.event.triggered !== e.type ? + return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? jQuery.event.dispatch.apply( elem, arguments ) : undefined; }; } @@ -4126,9 +4554,9 @@ jQuery.event = { types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); + 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 ) { @@ -4145,7 +4573,7 @@ jQuery.event = { special = jQuery.event.special[ type ] || {}; // handleObj is passed to all event handlers - handleObj = jQuery.extend({ + handleObj = jQuery.extend( { type: type, origType: origType, data: data, @@ -4153,18 +4581,20 @@ jQuery.event = { guid: handler.guid, selector: selector, needsContext: selector && jQuery.expr.match.needsContext.test( selector ), - namespace: namespaces.join(".") + namespace: namespaces.join( "." ) }, handleObjIn ); // Init the event handler queue if we're the first - if ( !(handlers = events[ type ]) ) { + if ( !( handlers = events[ type ] ) ) { handlers = events[ type ] = []; handlers.delegateCount = 0; // Only use addEventListener if the special events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + if ( !special.setup || + special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); + elem.addEventListener( type, eventHandle ); } } } @@ -4196,9 +4626,9 @@ jQuery.event = { var j, origCount, tmp, events, t, handleObj, special, handlers, type, namespaces, origType, - elemData = data_priv.hasData( elem ) && data_priv.get( elem ); + elemData = dataPriv.hasData( elem ) && dataPriv.get( elem ); - if ( !elemData || !(events = elemData.events) ) { + if ( !elemData || !( events = elemData.events ) ) { return; } @@ -4206,9 +4636,9 @@ jQuery.event = { types = ( types || "" ).match( rnotwhite ) || [ "" ]; t = types.length; while ( t-- ) { - tmp = rtypenamespace.exec( types[t] ) || []; - type = origType = tmp[1]; - namespaces = ( tmp[2] || "" ).split( "." ).sort(); + 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 ) { @@ -4221,7 +4651,8 @@ jQuery.event = { special = jQuery.event.special[ type ] || {}; type = ( selector ? special.delegateType : special.bindType ) || type; handlers = events[ type ] || []; - tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ); + tmp = tmp[ 2 ] && + new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ); // Remove matching events origCount = j = handlers.length; @@ -4231,7 +4662,8 @@ jQuery.event = { if ( ( mappedTypes || origType === handleObj.origType ) && ( !handler || handler.guid === handleObj.guid ) && ( !tmp || tmp.test( handleObj.namespace ) ) && - ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + ( !selector || selector === handleObj.selector || + selector === "**" && handleObj.selector ) ) { handlers.splice( j, 1 ); if ( handleObj.selector ) { @@ -4246,7 +4678,9 @@ jQuery.event = { // 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 ) { + if ( !special.teardown || + special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); } @@ -4254,203 +4688,71 @@ jQuery.event = { } } - // Remove the expando if it's no longer used + // Remove data and the expando if it's no longer used if ( jQuery.isEmptyObject( events ) ) { - delete elemData.handle; - data_priv.remove( elem, "events" ); + dataPriv.remove( elem, "handle events" ); } }, - trigger: function( event, data, elem, onlyHandlers ) { + dispatch: function( event ) { - var i, cur, tmp, bubbleType, ontype, handle, special, - eventPath = [ elem || document ], - type = hasOwn.call( event, "type" ) ? event.type : event, - namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : []; + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event ); - cur = tmp = elem = elem || document; + var i, j, ret, matched, handleObj, + handlerQueue = [], + args = slice.call( arguments ), + handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [], + special = jQuery.event.special[ event.type ] || {}; - // Don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[ 0 ] = event; + event.delegateTarget = this; - // focus/blur morphs to focusin/out; ensure we're not firing them right now - if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { 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 ); + // Determine handlers + handlerQueue = jQuery.event.handlers.call( this, event, handlers ); - // 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; + // Run delegates first; they may want to stop propagation beneath us + i = 0; + while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) { + event.currentTarget = matched.elem; - // Clean up the event in case it is being reused - event.result = undefined; - if ( !event.target ) { - event.target = elem; - } + j = 0; + while ( ( handleObj = matched.handlers[ j++ ] ) && + !event.isImmediatePropagationStopped() ) { - // Clone any incoming data and prepend the event, creating the handler arg list - data = data == null ? - [ event ] : - jQuery.makeArray( data, [ event ] ); + // 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.rnamespace || event.rnamespace.test( handleObj.namespace ) ) { - // Allow special events to draw outside the lines - special = jQuery.event.special[ type ] || {}; - if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) { - return; - } + event.handleObj = handleObj; + event.data = handleObj.data; - // 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 ) ) { + ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle || + handleObj.handler ).apply( matched.elem, args ); - bubbleType = special.delegateType || type; - if ( !rfocusMorph.test( bubbleType + type ) ) { - cur = cur.parentNode; - } - for ( ; cur; cur = cur.parentNode ) { - eventPath.push( cur ); - tmp = cur; + if ( ret !== undefined ) { + if ( ( event.result = ret ) === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } } + } - // 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 ); - } + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); } - // 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 = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( 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. - // Don't do default actions on window, that's where global variables be (#6170) - if ( ontype && jQuery.isFunction( 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; - elem[ type ](); - 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, j, ret, matched, handleObj, - handlerQueue = [], - args = slice.call( arguments ), - handlers = ( data_priv.get( 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; - }, + return event.result; + }, handlers: function( event, handlers ) { var i, matches, sel, handleObj, @@ -4458,15 +4760,20 @@ jQuery.event = { delegateCount = handlers.delegateCount, cur = event.target; + // Support (at least): Chrome, IE9 // 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") ) { + // + // Support: Firefox<=42+ + // Avoid non-left-click in FF but don't block IE radio events (#3861, gh-2343) + if ( delegateCount && cur.nodeType && + ( event.type !== "click" || isNaN( event.button ) || event.button < 1 ) ) { for ( ; cur !== this; cur = cur.parentNode || this ) { + // Don't check non-elements (#13208) // Don't process clicks on disabled elements (#6911, #8165, #11382, #11764) - if ( cur.disabled !== true || event.type !== "click" ) { + if ( cur.nodeType === 1 && ( cur.disabled !== true || event.type !== "click" ) ) { matches = []; for ( i = 0; i < delegateCount; i++ ) { handleObj = handlers[ i ]; @@ -4476,7 +4783,7 @@ jQuery.event = { if ( matches[ sel ] === undefined ) { matches[ sel ] = handleObj.needsContext ? - jQuery( sel, this ).index( cur ) >= 0 : + jQuery( sel, this ).index( cur ) > -1 : jQuery.find( sel, this, null, [ cur ] ).length; } if ( matches[ sel ] ) { @@ -4484,7 +4791,7 @@ jQuery.event = { } } if ( matches.length ) { - handlerQueue.push({ elem: cur, handlers: matches }); + handlerQueue.push( { elem: cur, handlers: matches } ); } } } @@ -4492,19 +4799,20 @@ jQuery.event = { // Add the remaining (directly-bound) handlers if ( delegateCount < handlers.length ) { - handlerQueue.push({ elem: this, handlers: handlers.slice( delegateCount ) }); + handlerQueue.push( { elem: this, handlers: handlers.slice( delegateCount ) } ); } return handlerQueue; }, // Includes some event props shared by KeyEvent and MouseEvent - props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + props: ( "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase " + + "metaKey relatedTarget shiftKey target timeStamp view which" ).split( " " ), fixHooks: {}, keyHooks: { - props: "char charCode key keyCode".split(" "), + props: "char charCode key keyCode".split( " " ), filter: function( event, original ) { // Add which for key events @@ -4517,7 +4825,8 @@ jQuery.event = { }, mouseHooks: { - props: "button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + props: ( "button buttons clientX clientY offsetX offsetY pageX pageY " + + "screenX screenY toElement" ).split( " " ), filter: function( event, original ) { var eventDoc, doc, body, button = original.button; @@ -4528,8 +4837,12 @@ jQuery.event = { 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 ); + 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 which for click: 1 === left; 2 === middle; 3 === right @@ -4586,10 +4899,12 @@ jQuery.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 ) { @@ -4609,6 +4924,7 @@ jQuery.event = { delegateType: "focusout" }, click: { + // For checkbox, fire native event so checked state will be right trigger: function() { if ( this.type === "checkbox" && this.click && jQuery.nodeName( this, "input" ) ) { @@ -4633,41 +4949,21 @@ jQuery.event = { } } } - }, - - 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 = function( elem, type, handle ) { + + // This "if" is needed for plain objects if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); + elem.removeEventListener( type, handle ); } }; jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword - if ( !(this instanceof jQuery.Event) ) { + if ( !( this instanceof jQuery.Event ) ) { return new jQuery.Event( src, props ); } @@ -4680,6 +4976,7 @@ jQuery.Event = function( src, props ) { // by a handler lower down the tree; reflect the correct value. this.isDefaultPrevented = src.defaultPrevented || src.defaultPrevented === undefined && + // Support: Android<4.0 src.returnValue === false ? returnTrue : @@ -4705,16 +5002,18 @@ jQuery.Event = function( src, props ) { // 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 = { + constructor: jQuery.Event, isDefaultPrevented: returnFalse, isPropagationStopped: returnFalse, isImmediatePropagationStopped: returnFalse, + isSimulated: false, preventDefault: function() { var e = this.originalEvent; this.isDefaultPrevented = returnTrue; - if ( e && e.preventDefault ) { + if ( e && !this.isSimulated ) { e.preventDefault(); } }, @@ -4723,7 +5022,7 @@ jQuery.Event.prototype = { this.isPropagationStopped = returnTrue; - if ( e && e.stopPropagation ) { + if ( e && !this.isSimulated ) { e.stopPropagation(); } }, @@ -4732,7 +5031,7 @@ jQuery.Event.prototype = { this.isImmediatePropagationStopped = returnTrue; - if ( e && e.stopImmediatePropagation ) { + if ( e && !this.isSimulated ) { e.stopImmediatePropagation(); } @@ -4741,8 +5040,14 @@ jQuery.Event.prototype = { }; // Create mouseenter/leave events using mouseover/out and event-time checks -// Support: Chrome 15+ -jQuery.each({ +// so that event delegation works in jQuery. +// Do the same for pointerenter/pointerleave and pointerover/pointerout +// +// Support: Safari 7 only +// Safari sends mouseenter too often; see: +// https://code.google.com/p/chromium/issues/detail?id=470258 +// for the description of the bug (it existed in older Chrome versions as well). +jQuery.each( { mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", @@ -4758,9 +5063,9 @@ jQuery.each({ related = event.relatedTarget, handleObj = event.handleObj; - // For mousenter/leave call the handler if related is outside the target. + // For mouseenter/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 )) ) { + if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) { event.type = handleObj.origType; ret = handleObj.handler.apply( this, arguments ); event.type = fix; @@ -4768,115 +5073,32 @@ jQuery.each({ return ret; } }; -}); - -// Support: Firefox, Chrome, Safari -// 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 = data_priv.access( doc, fix ); - - if ( !attaches ) { - doc.addEventListener( orig, handler, true ); - } - data_priv.access( doc, fix, ( attaches || 0 ) + 1 ); - }, - teardown: function() { - var doc = this.ownerDocument || this, - attaches = data_priv.access( doc, fix ) - 1; - - if ( !attaches ) { - doc.removeEventListener( orig, handler, true ); - data_priv.remove( doc, fix ); - - } else { - data_priv.access( doc, fix, attaches ); - } - } - }; - }); -} - -jQuery.fn.extend({ - - on: function( types, selector, data, fn, /*INTERNAL*/ one ) { - var origFn, type; - - // 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 ); - }); +jQuery.fn.extend( { + on: function( types, selector, data, fn ) { + return on( this, types, selector, data, fn ); }, one: function( types, selector, data, fn ) { - return this.on( types, selector, data, fn, 1 ); + return on( this, 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.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 ] ); @@ -4884,6 +5106,7 @@ jQuery.fn.extend({ return this; } if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) fn = selector; selector = undefined; @@ -4891,70 +5114,39 @@ jQuery.fn.extend({ if ( fn === false ) { fn = returnFalse; } - return this.each(function() { + 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 ); - } + } ); } -}); +} ); var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, - rtagName = /<([\w:]+)/, - rhtml = /<|&#?\w+;/, - rnoInnerhtml = /<(?:script|style|link)/i, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, + + // Support: IE 10-11, Edge 10240+ + // In IE/Edge using regex groups here causes severe slowdowns. + // See https://connect.microsoft.com/IE/feedback/details/1736512/ + rnoInnerhtml = /\s*$/g, - - // We have to close these tags to support XHTML (#13200) - wrapMap = { - - // Support: IE9 - option: [ 1, "" ], - - thead: [ 1, "", "
" ], - col: [ 2, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - - _default: [ 0, "", "" ] - }; + rcleanScript = /^\s*\s*$/g; -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// Support: 1.x compatibility // 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.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 = (elem.getAttribute("type") !== null) + "/" + elem.type; + elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type; return elem; } function restoreScript( elem ) { @@ -4963,24 +5155,12 @@ function restoreScript( elem ) { if ( match ) { elem.type = match[ 1 ]; } else { - elem.removeAttribute("type"); + elem.removeAttribute( "type" ); } return elem; } -// Mark scripts as having already been evaluated -function setGlobalEval( elems, refElements ) { - var i = 0, - l = elems.length; - - for ( ; i < l; i++ ) { - data_priv.set( - elems[ i ], "globalEval", !refElements || data_priv.get( refElements[ i ], "globalEval" ) - ); - } -} - function cloneCopyEvent( src, dest ) { var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events; @@ -4989,9 +5169,9 @@ function cloneCopyEvent( src, dest ) { } // 1. Copy private data: events, handlers, etc. - if ( data_priv.hasData( src ) ) { - pdataOld = data_priv.access( src ); - pdataCur = data_priv.set( dest, pdataOld ); + if ( dataPriv.hasData( src ) ) { + pdataOld = dataPriv.access( src ); + pdataCur = dataPriv.set( dest, pdataOld ); events = pdataOld.events; if ( events ) { @@ -5007,24 +5187,14 @@ function cloneCopyEvent( src, dest ) { } // 2. Copy user data - if ( data_user.hasData( src ) ) { - udataOld = data_user.access( src ); + if ( dataUser.hasData( src ) ) { + udataOld = dataUser.access( src ); udataCur = jQuery.extend( {}, udataOld ); - data_user.set( dest, udataCur ); + dataUser.set( dest, udataCur ); } } -function getAll( context, tag ) { - var ret = context.getElementsByTagName ? context.getElementsByTagName( tag || "*" ) : - context.querySelectorAll ? context.querySelectorAll( tag || "*" ) : - []; - - return tag === undefined || tag && jQuery.nodeName( context, tag ) ? - jQuery.merge( [ context ], ret ) : - ret; -} - // Fix IE bugs, see support tests function fixInput( src, dest ) { var nodeName = dest.nodeName.toLowerCase(); @@ -5039,145 +5209,172 @@ function fixInput( src, dest ) { } } -jQuery.extend({ - clone: function( elem, dataAndEvents, deepDataAndEvents ) { - var i, l, srcElements, destElements, - clone = elem.cloneNode( true ), - inPage = jQuery.contains( elem.ownerDocument, elem ); +function domManip( collection, args, callback, ignored ) { - // Fix IE cloning issues - if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) && - !jQuery.isXMLDoc( elem ) ) { + // Flatten any nested arrays + args = concat.apply( [], args ); - // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2 - destElements = getAll( clone ); - srcElements = getAll( elem ); + var fragment, first, scripts, hasScripts, node, doc, + i = 0, + l = collection.length, + iNoClone = l - 1, + value = args[ 0 ], + isFunction = jQuery.isFunction( value ); - for ( i = 0, l = srcElements.length; i < l; i++ ) { - fixInput( srcElements[ i ], destElements[ i ] ); + // We can't cloneNode fragments that contain checked, in WebKit + if ( isFunction || + ( l > 1 && typeof value === "string" && + !support.checkClone && rchecked.test( value ) ) ) { + return collection.each( function( index ) { + var self = collection.eq( index ); + if ( isFunction ) { + args[ 0 ] = value.call( this, index, self.html() ); } - } - - // Copy the events from the original to the clone - if ( dataAndEvents ) { - if ( deepDataAndEvents ) { - srcElements = srcElements || getAll( elem ); - destElements = destElements || getAll( clone ); + domManip( self, args, callback, ignored ); + } ); + } - for ( i = 0, l = srcElements.length; i < l; i++ ) { - cloneCopyEvent( srcElements[ i ], destElements[ i ] ); - } - } else { - cloneCopyEvent( elem, clone ); - } - } + if ( l ) { + fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored ); + first = fragment.firstChild; - // Preserve script evaluation history - destElements = getAll( clone, "script" ); - if ( destElements.length > 0 ) { - setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + if ( fragment.childNodes.length === 1 ) { + fragment = first; } - // Return the cloned set - return clone; - }, + // Require either new content or an interest in ignored elements to invoke the callback + if ( first || ignored ) { + scripts = jQuery.map( getAll( fragment, "script" ), disableScript ); + hasScripts = scripts.length; - buildFragment: function( elems, context, scripts, selection ) { - var elem, tmp, tag, wrap, contains, j, - fragment = context.createDocumentFragment(), - nodes = [], - i = 0, - l = elems.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; - for ( ; i < l; i++ ) { - elem = elems[ i ]; + if ( i !== iNoClone ) { + node = jQuery.clone( node, true, true ); - if ( elem || elem === 0 ) { + // Keep references to cloned scripts for later restoration + if ( hasScripts ) { - // Add nodes directly - if ( jQuery.type( elem ) === "object" ) { - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem ); - - // Convert non-html into a text node - } else if ( !rhtml.test( elem ) ) { - nodes.push( context.createTextNode( elem ) ); + // Support: Android<4.1, PhantomJS<2 + // push.apply(_, arraylike) throws on ancient WebKit + jQuery.merge( scripts, getAll( node, "script" ) ); + } + } - // Convert html into DOM nodes - } else { - tmp = tmp || fragment.appendChild( context.createElement("div") ); + callback.call( collection[ i ], node, i ); + } - // Deserialize a standard representation - tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase(); - wrap = wrapMap[ tag ] || wrapMap._default; - tmp.innerHTML = wrap[ 1 ] + elem.replace( rxhtmlTag, "<$1>" ) + wrap[ 2 ]; + if ( hasScripts ) { + doc = scripts[ scripts.length - 1 ].ownerDocument; - // Descend through wrappers to the right content - j = wrap[ 0 ]; - while ( j-- ) { - tmp = tmp.lastChild; - } + // Reenable scripts + jQuery.map( scripts, restoreScript ); - // Support: QtWebKit, PhantomJS - // push.apply(_, arraylike) throws on ancient WebKit - jQuery.merge( nodes, tmp.childNodes ); + // Evaluate executable scripts on first document insertion + for ( i = 0; i < hasScripts; i++ ) { + node = scripts[ i ]; + if ( rscriptType.test( node.type || "" ) && + !dataPriv.access( node, "globalEval" ) && + jQuery.contains( doc, node ) ) { - // Remember the top-level container - tmp = fragment.firstChild; + if ( node.src ) { - // Ensure the created nodes are orphaned (#12392) - tmp.textContent = ""; + // Optional AJAX dependency, but won't run scripts if not present + if ( jQuery._evalUrl ) { + jQuery._evalUrl( node.src ); + } + } else { + jQuery.globalEval( node.textContent.replace( rcleanScript, "" ) ); + } + } } } } + } - // Remove wrapper from fragment - fragment.textContent = ""; + return collection; +} +function remove( elem, selector, keepData ) { + var node, + nodes = selector ? jQuery.filter( selector, elem ) : elem, 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; + for ( ; ( node = nodes[ i ] ) != null; i++ ) { + if ( !keepData && node.nodeType === 1 ) { + jQuery.cleanData( getAll( node ) ); + } + + if ( node.parentNode ) { + if ( keepData && jQuery.contains( node.ownerDocument, node ) ) { + setGlobalEval( getAll( node, "script" ) ); } + node.parentNode.removeChild( node ); + } + } - contains = jQuery.contains( elem.ownerDocument, elem ); + return elem; +} - // Append to fragment - tmp = getAll( fragment.appendChild( elem ), "script" ); +jQuery.extend( { + htmlPrefilter: function( html ) { + return html.replace( rxhtmlTag, "<$1>" ); + }, - // Preserve script evaluation history - if ( contains ) { - setGlobalEval( tmp ); + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var i, l, srcElements, destElements, + clone = elem.cloneNode( true ), + inPage = jQuery.contains( elem.ownerDocument, elem ); + + // Fix IE cloning issues + if ( !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 ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + fixInput( srcElements[ i ], destElements[ i ] ); } + } - // Capture executables - if ( scripts ) { - j = 0; - while ( (elem = tmp[ j++ ]) ) { - if ( rscriptType.test( elem.type || "" ) ) { - scripts.push( elem ); - } + // Copy the events from the original to the clone + if ( dataAndEvents ) { + if ( deepDataAndEvents ) { + srcElements = srcElements || getAll( elem ); + destElements = destElements || getAll( clone ); + + for ( i = 0, l = srcElements.length; i < l; i++ ) { + cloneCopyEvent( srcElements[ i ], destElements[ i ] ); } + } else { + cloneCopyEvent( elem, clone ); } } - return fragment; + // Preserve script evaluation history + destElements = getAll( clone, "script" ); + if ( destElements.length > 0 ) { + setGlobalEval( destElements, !inPage && getAll( elem, "script" ) ); + } + + // Return the cloned set + return clone; }, cleanData: function( elems ) { - var data, elem, type, key, + var data, elem, type, special = jQuery.event.special, i = 0; - for ( ; (elem = elems[ i ]) !== undefined; i++ ) { - if ( jQuery.acceptData( elem ) ) { - key = elem[ data_priv.expando ]; - - if ( key && (data = data_priv.cache[ key ]) ) { + for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) { + if ( acceptData( elem ) ) { + if ( ( data = elem[ dataPriv.expando ] ) ) { if ( data.events ) { for ( type in data.events ) { if ( special[ type ] ) { @@ -5189,91 +5386,86 @@ jQuery.extend({ } } } - if ( data_priv.cache[ key ] ) { - // Discard any remaining `private` data - delete data_priv.cache[ key ]; - } + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataPriv.expando ] = undefined; + } + if ( elem[ dataUser.expando ] ) { + + // Support: Chrome <= 35-45+ + // Assign undefined instead of using delete, see Data#remove + elem[ dataUser.expando ] = undefined; } } - // Discard any remaining `user` data - delete data_user.cache[ elem[ data_user.expando ] ]; } } -}); +} ); + +jQuery.fn.extend( { + + // Keep domManip exposed until 3.0 (gh-2225) + domManip: domManip, + + detach: function( selector ) { + return remove( this, selector, true ); + }, + + remove: function( selector ) { + return remove( this, selector ); + }, -jQuery.fn.extend({ text: function( value ) { return access( this, function( value ) { return value === undefined ? jQuery.text( this ) : - this.empty().each(function() { + this.empty().each( function() { if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) { this.textContent = value; } - }); + } ); }, null, value, arguments.length ); }, append: function() { - return this.domManip( arguments, function( elem ) { + return domManip( this, 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 ) { + return domManip( this, 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 ) { + return domManip( this, arguments, function( elem ) { if ( this.parentNode ) { this.parentNode.insertBefore( elem, this ); } - }); + } ); }, after: function() { - return this.domManip( arguments, function( elem ) { + return domManip( this, 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++ ) { + for ( ; ( elem = this[ i ] ) != null; i++ ) { if ( elem.nodeType === 1 ) { // Prevent memory leaks @@ -5291,9 +5483,9 @@ jQuery.fn.extend({ dataAndEvents = dataAndEvents == null ? false : dataAndEvents; deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; - return this.map(function() { + return this.map( function() { return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); - }); + } ); }, html: function( value ) { @@ -5310,7 +5502,7 @@ jQuery.fn.extend({ if ( typeof value === "string" && !rnoInnerhtml.test( value ) && !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) { - value = value.replace( rxhtmlTag, "<$1>" ); + value = jQuery.htmlPrefilter( value ); try { for ( ; i < l; i++ ) { @@ -5326,7 +5518,7 @@ jQuery.fn.extend({ elem = 0; // If using innerHTML throws an exception, use the fallback method - } catch( e ) {} + } catch ( e ) {} } if ( elem ) { @@ -5336,115 +5528,25 @@ jQuery.fn.extend({ }, 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 ); - } - }); + var ignored = []; - // 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 ); + // Make the changes, replacing each non-ignored context element with the new content + return domManip( this, arguments, function( elem ) { + var parent = this.parentNode; - var fragment, first, scripts, hasScripts, node, doc, - 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() ); + if ( jQuery.inArray( this, ignored ) < 0 ) { + jQuery.cleanData( getAll( this ) ); + if ( parent ) { + parent.replaceChild( elem, this ); } - 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 ) { - // Support: QtWebKit - // jQuery.merge because push.apply(_, arraylike) throws - 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 || "" ) && - !data_priv.access( 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.textContent.replace( rcleanScript, "" ) ); - } - } - } - } - } - } - - return this; + // Force callback invocation + }, ignored ); } -}); +} ); -jQuery.each({ +jQuery.each( { appendTo: "append", prependTo: "prepend", insertBefore: "before", @@ -5469,28 +5571,29 @@ jQuery.each({ return this.pushStack( ret ); }; -}); +} ); var iframe, - elemdisplay = {}; + elemdisplay = { + + // Support: Firefox + // We have to pre-define these values for FF (#10227) + HTML: "block", + BODY: "block" + }; /** * 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 style, - elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), + var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ), - // getDefaultComputedStyle might be reliably used only on attached element - display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ? - - // Use of this method is a temporary fix (more like optimization) until something better comes along, - // since it was removed from specification and supported only in FF - style.display : jQuery.css( elem[ 0 ], "display" ); + 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 @@ -5514,7 +5617,8 @@ function defaultDisplay( nodeName ) { if ( display === "none" || !display ) { // Use the already-created iframe if possible - iframe = (iframe || jQuery( "')); + } + // Store css values for future lookup this.containerPadding = { top: parseInt(this.$container.css('padding-top'), 10), @@ -9433,11 +10047,21 @@ return jQuery; if ($links[i] === $link[0]) { imageNumber = i; } + if (self.options.hasVideo && typeof $($links[i]).attr('data-video') !== 'undefined' && $($links[i]).attr('data-video') === 'true') { + self.album[i].video = true; + } else { + self.album[i].video = false; + } } } else { if ($link.attr('rel') === 'lightbox') { // If image is not part of a set addToAlbum($link); + if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -9446,6 +10070,11 @@ return jQuery; if ($links[j] === $link[0]) { imageNumber = j; } + if (self.options.hasVideo && typeof $($links[j]).attr('data-video') !== 'undefined' && $($links[j]).attr('data-video') === 'true') { + self.album[j].video = true; + } else { + self.album[j].video = false; + } } } } @@ -9476,10 +10105,16 @@ return jQuery; this.$overlay.fadeIn(this.options.fadeDuration); $('.lb-loader').fadeIn('slow'); - this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + this.$lightbox.find('.lb-image, .lb-video, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); this.$outerContainer.addClass('animating'); + if (self.options.hasVideo && self.album[imageNumber].video) { + var $video = this.$lightbox.find('.lb-video'); + $video.attr('src', self.album[imageNumber].link); + self.sizeContainer($video.width(), $video.height()); + } + // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); preloader.onload = function() { @@ -9515,7 +10150,8 @@ return jQuery; maxImageHeight = self.options.maxHeight; } - // Is there a fitting issue? + // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight + // option than we need to size down while maintaining the aspect ratio. if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { imageWidth = maxImageWidth; @@ -9532,7 +10168,6 @@ return jQuery; } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; @@ -9575,7 +10210,11 @@ return jQuery; // Display the image and its details and begin preload neighboring images. Lightbox.prototype.showImage = function() { this.$lightbox.find('.lb-loader').stop(true).hide(); - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + if (this.options.hasVideo && this.album[this.currentImageIndex].video) { + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + } else { + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + } this.updateNav(); this.updateDetails(); diff --git a/dist/js/lightbox-plus-jquery.min.js b/dist/js/lightbox-plus-jquery.min.js index 4e07f6e5..5070e6ce 100644 --- a/dist/js/lightbox-plus-jquery.min.js +++ b/dist/js/lightbox-plus-jquery.min.js @@ -1,29 +1,29 @@ /*! - * jQuery JavaScript Library v2.1.4 + * jQuery JavaScript Library v2.2.4 * http://jquery.com/ * * Includes Sizzle.js * http://sizzlejs.com/ * - * Copyright 2005, 2014 jQuery Foundation, Inc. and other contributors + * Copyright jQuery Foundation and other contributors * Released under the MIT license * http://jquery.org/license * - * Date: 2015-04-28T16:01Z + * Date: 2016-05-20T17:23Z */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){function c(a){var b="length"in a&&a.length,c=_.type(a);return"function"===c||_.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}function d(a,b,c){if(_.isFunction(b))return _.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return _.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(ha.test(b))return _.filter(b,a,c);b=_.filter(b,a)}return _.grep(a,function(a){return U.call(b,a)>=0!==c})}function e(a,b){for(;(a=a[b])&&1!==a.nodeType;);return a}function f(a){var b=oa[a]={};return _.each(a.match(na)||[],function(a,c){b[c]=!0}),b}function g(){Z.removeEventListener("DOMContentLoaded",g,!1),a.removeEventListener("load",g,!1),_.ready()}function h(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=_.expando+h.uid++}function i(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(ua,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:ta.test(c)?_.parseJSON(c):c}catch(e){}sa.set(a,b,c)}else c=void 0;return c}function j(){return!0}function k(){return!1}function l(){try{return Z.activeElement}catch(a){}}function m(a,b){return _.nodeName(a,"table")&&_.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function n(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function o(a){var b=Ka.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function p(a,b){for(var c=0,d=a.length;d>c;c++)ra.set(a[c],"globalEval",!b||ra.get(b[c],"globalEval"))}function q(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(ra.hasData(a)&&(f=ra.access(a),g=ra.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)_.event.add(b,e,j[e][c])}sa.hasData(a)&&(h=sa.access(a),i=_.extend({},h),sa.set(b,i))}}function r(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&_.nodeName(a,b)?_.merge([a],c):c}function s(a,b){var c=b.nodeName.toLowerCase();"input"===c&&ya.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}function t(b,c){var d,e=_(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:_.css(e[0],"display");return e.detach(),f}function u(a){var b=Z,c=Oa[a];return c||(c=t(a,b),"none"!==c&&c||(Na=(Na||_("')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||f.height>i)&&(f.width/j>f.height/i?(h=j,g=parseInt(f.height/(f.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(f.width/(f.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},f.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox-plus-jquery.min.map \ No newline at end of file diff --git a/dist/js/lightbox-plus-jquery.min.map b/dist/js/lightbox-plus-jquery.min.map index 25eb9363..37072197 100644 --- a/dist/js/lightbox-plus-jquery.min.map +++ b/dist/js/lightbox-plus-jquery.min.map @@ -1 +1 @@ -{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArraylike","obj","length","type","jQuery","isWindow","nodeType","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","optionsCache","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","Object","defineProperty","cache","get","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","data_user","set","returnTrue","returnFalse","safeActiveElement","activeElement","err","manipulationTarget","content","nodeName","firstChild","getElementsByTagName","appendChild","ownerDocument","createElement","disableScript","restoreScript","rscriptTypeMasked","exec","removeAttribute","setGlobalEval","elems","refElements","l","data_priv","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","event","add","extend","getAll","context","tag","ret","querySelectorAll","merge","fixInput","rcheckableType","checked","defaultValue","actualDisplay","doc","style","appendTo","body","display","getDefaultComputedStyle","css","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","contains","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","apply","arguments","vendorPropName","capName","toUpperCase","slice","origName","cssPrefixes","setPositiveNumber","value","subtract","matches","rnumsplit","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","support","boxSizingReliable","parseFloat","showHide","show","hidden","values","index","isHidden","Tween","prop","end","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","tween","collection","tweeners","concat","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","remove","start","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","Animation","properties","result","stopped","animationPrefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","push","stop","gotoEnd","rejectWith","map","fx","timer","progress","complete","fail","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","tmp","prev","responseFields","dataFilter","split","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","selector","fn","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","callback","args","first","eq","last","len","j","sort","splice","copy","copyIsArray","clone","isPlainObject","random","isReady","msg","noop","Array","isNumeric","globalEval","code","script","indirect","eval","trim","text","head","parentNode","removeChild","string","makeArray","results","inArray","second","invert","callbackInverse","callbackExpect","arg","guid","proxy","Date","Sizzle","seed","m","groups","old","nid","newContext","newSelector","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","rbuggyQSA","tokenize","rescape","setAttribute","toSelector","rsibling","testContext","join","qsaError","select","createCache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","outerCache","newCache","dirruns","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","compilerCache","sortOrder","push_native","list","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","childNodes","els","node","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","lastChild","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","rneedsContext","rsingleTag","self","is","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","until","truncate","n","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","siblings","reverse","Callbacks","memory","fired","firing","firingStart","firingLength","firingIndex","stack","once","stopOnFalse","disable","lock","locked","fireWith","tuples","then","fns","newDefer","tuple","returned","resolve","reject","notify","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","off","readyState","chainable","emptyGet","raw","bulk","acceptData","owner","accepts","descriptor","unlock","defineProperties","stored","camel","discard","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","fragment","createDocumentFragment","checkClone","cloneNode","noCloneChecked","strundefined","focusinBubbles","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","types","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","trigger","onlyHandlers","bubbleType","ontype","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","load","blur","click","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","timeStamp","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","attaches","on","one","origFn","rxhtmlTag","rtagName","rhtml","rnoInnerhtml","rchecked","rscriptType","rcleanScript","wrapMap","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","buildFragment","scripts","selection","wrap","nodes","createTextNode","cleanData","append","domManip","prepend","insertBefore","before","after","keepData","html","replaceWith","replaceChild","hasScripts","iNoClone","_evalUrl","prependTo","insertAfter","replaceAll","insert","opener","getComputedStyle","computePixelPositionAndBoxSizingReliable","cssText","container","divStyle","pixelPositionVal","boxSizingReliableVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginRight","marginDiv","marginRight","swap","rdisplayswap","rrelNum","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssNumber","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","margin","padding","border","suffix","expanded","parts","unit","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rfxnum","rrun","*","scale","maxIterations","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","nodeHook","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","removeProp","for","class","notxml","hasAttribute","rclass","addClass","classes","clazz","finalValue","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","valHooks","optionSet","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","prefilters","allTypes","ajaxLocation","ajaxLocParts","active","lastModified","etag","url","isLocal","processData","async","contentType","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","param","hasContent","beforeSend","send","getJSON","getScript","throws","wrapAll","firstElementChild","wrapInner","unwrap","visible","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrId","xhrCallbacks","xhrSuccessStatus",0,1223,"xhrSupported","cors","open","username","xhrFields","onload","onerror","responseText","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","left","using","win","box","getBoundingClientRect","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","parseInt","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","disableKeyboardNav","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","sizeContainer","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":";;;;;;;;;;;;;CAcC,SAAUA,EAAQC,GAEK,gBAAXC,SAAiD,gBAAnBA,QAAOC,QAQhDD,OAAOC,QAAUH,EAAOI,SACvBH,EAASD,GAAQ,GACjB,SAAUK,GACT,IAAMA,EAAED,SACP,KAAM,IAAIE,OAAO,2CAElB,OAAOL,GAASI,IAGlBJ,EAASD,IAIS,mBAAXO,QAAyBA,OAASC,KAAM,SAAUD,EAAQE,GA+enE,QAASC,GAAaC,GAMrB,GAAIC,GAAS,UAAYD,IAAOA,EAAIC,OACnCC,EAAOC,EAAOD,KAAMF,EAErB,OAAc,aAATE,GAAuBC,EAAOC,SAAUJ,IACrC,EAGc,IAAjBA,EAAIK,UAAkBJ,GACnB,EAGQ,UAATC,GAA+B,IAAXD,GACR,gBAAXA,IAAuBA,EAAS,GAAOA,EAAS,IAAOD,GAmiEhE,QAASM,GAAQC,EAAUC,EAAWC,GACrC,GAAKN,EAAOO,WAAYF,GACvB,MAAOL,GAAOQ,KAAMJ,EAAU,SAAUK,EAAMC,GAE7C,QAASL,EAAUM,KAAMF,EAAMC,EAAGD,KAAWH,GAK/C,IAAKD,EAAUH,SACd,MAAOF,GAAOQ,KAAMJ,EAAU,SAAUK,GACvC,MAASA,KAASJ,IAAgBC,GAKpC,IAA0B,gBAAdD,GAAyB,CACpC,GAAKO,GAAUC,KAAMR,GACpB,MAAOL,GAAOc,OAAQT,EAAWD,EAAUE,EAG5CD,GAAYL,EAAOc,OAAQT,EAAWD,GAGvC,MAAOJ,GAAOQ,KAAMJ,EAAU,SAAUK,GACvC,MAASM,GAAQJ,KAAMN,EAAWI,IAAU,IAAQH,IA2StD,QAASU,GAASC,EAAKC,GACtB,MAASD,EAAMA,EAAIC,KAA0B,IAAjBD,EAAIf,WAChC,MAAOe,GA4ER,QAASE,GAAeC,GACvB,GAAIC,GAASC,GAAcF,KAI3B,OAHApB,GAAOuB,KAAMH,EAAQI,MAAOC,QAAmB,SAAUC,EAAGC,GAC3DN,EAAQM,IAAS,IAEXN,EAqYR,QAASO,KACRtC,EAASuC,oBAAqB,mBAAoBD,GAAW,GAC7DnC,EAAOoC,oBAAqB,OAAQD,GAAW,GAC/C5B,EAAO8B,QAsGR,QAASC,KAIRC,OAAOC,eAAgBvC,KAAKwC,SAAY,GACvCC,IAAK,WACJ,YAIFzC,KAAK0C,QAAUpC,EAAOoC,QAAUL,EAAKM,MAqLtC,QAASC,GAAU7B,EAAM8B,EAAKC,GAC7B,GAAIC,EAIJ,IAAcC,SAATF,GAAwC,IAAlB/B,EAAKP,SAI/B,GAHAuC,EAAO,QAAUF,EAAII,QAASC,GAAY,OAAQC,cAClDL,EAAO/B,EAAKqC,aAAcL,GAEL,gBAATD,GAAoB,CAC/B,IACCA,EAAgB,SAATA,GAAkB,EACf,UAATA,GAAmB,EACV,SAATA,EAAkB,MAEjBA,EAAO,KAAOA,GAAQA,EACvBO,GAAOlC,KAAM2B,GAASxC,EAAOgD,UAAWR,GACxCA,EACA,MAAOS,IAGTC,GAAUC,IAAK1C,EAAM8B,EAAKC,OAE1BA,GAAOE,MAGT,OAAOF,GA0TR,QAASY,KACR,OAAO,EAGR,QAASC,KACR,OAAO,EAGR,QAASC,KACR,IACC,MAAOhE,GAASiE,cACf,MAAQC,KAq2BX,QAASC,GAAoBhD,EAAMiD,GAClC,MAAO1D,GAAO2D,SAAUlD,EAAM,UAC7BT,EAAO2D,SAA+B,KAArBD,EAAQxD,SAAkBwD,EAAUA,EAAQE,WAAY,MAEzEnD,EAAKoD,qBAAqB,SAAS,IAClCpD,EAAKqD,YAAarD,EAAKsD,cAAcC,cAAc,UACpDvD,EAIF,QAASwD,GAAexD,GAEvB,MADAA,GAAKV,MAAsC,OAA9BU,EAAKqC,aAAa,SAAoB,IAAMrC,EAAKV,KACvDU,EAER,QAASyD,GAAezD,GACvB,GAAIe,GAAQ2C,GAAkBC,KAAM3D,EAAKV,KAQzC,OANKyB,GACJf,EAAKV,KAAOyB,EAAO,GAEnBf,EAAK4D,gBAAgB,QAGf5D,EAIR,QAAS6D,GAAeC,EAAOC,GAI9B,IAHA,GAAI9D,GAAI,EACP+D,EAAIF,EAAMzE,OAEC2E,EAAJ/D,EAAOA,IACdgE,GAAUvB,IACToB,EAAO7D,GAAK,cAAe8D,GAAeE,GAAUvC,IAAKqC,EAAa9D,GAAK,eAK9E,QAASiE,GAAgBC,EAAKC,GAC7B,GAAInE,GAAG+D,EAAG1E,EAAM+E,EAAUC,EAAUC,EAAUC,EAAUC,CAExD,IAAuB,IAAlBL,EAAK3E,SAAV,CAKA,GAAKwE,GAAUS,QAASP,KACvBE,EAAWJ,GAAUU,OAAQR,GAC7BG,EAAWL,GAAUvB,IAAK0B,EAAMC,GAChCI,EAASJ,EAASI,QAEJ,OACNH,GAASM,OAChBN,EAASG,SAET,KAAMnF,IAAQmF,GACb,IAAMxE,EAAI,EAAG+D,EAAIS,EAAQnF,GAAOD,OAAY2E,EAAJ/D,EAAOA,IAC9CV,EAAOsF,MAAMC,IAAKV,EAAM9E,EAAMmF,EAAQnF,GAAQW,IAO7CwC,GAAUiC,QAASP,KACvBI,EAAW9B,GAAUkC,OAAQR,GAC7BK,EAAWjF,EAAOwF,UAAYR,GAE9B9B,GAAUC,IAAK0B,EAAMI,KAIvB,QAASQ,GAAQC,EAASC,GACzB,GAAIC,GAAMF,EAAQ7B,qBAAuB6B,EAAQ7B,qBAAsB8B,GAAO,KAC5ED,EAAQG,iBAAmBH,EAAQG,iBAAkBF,GAAO,OAG9D,OAAejD,UAARiD,GAAqBA,GAAO3F,EAAO2D,SAAU+B,EAASC,GAC5D3F,EAAO8F,OAASJ,GAAWE,GAC3BA,EAIF,QAASG,GAAUnB,EAAKC,GACvB,GAAIlB,GAAWkB,EAAKlB,SAASd,aAGX,WAAbc,GAAwBqC,GAAenF,KAAM+D,EAAI7E,MACrD8E,EAAKoB,QAAUrB,EAAIqB,SAGK,UAAbtC,GAAqC,aAAbA,KACnCkB,EAAKqB,aAAetB,EAAIsB,cA8b1B,QAASC,GAAe1D,EAAM2D,GAC7B,GAAIC,GACH5F,EAAOT,EAAQoG,EAAIpC,cAAevB,IAAS6D,SAAUF,EAAIG,MAGzDC,EAAU/G,EAAOgH,0BAA6BJ,EAAQ5G,EAAOgH,wBAAyBhG,EAAM,KAI3F4F,EAAMG,QAAUxG,EAAO0G,IAAKjG,EAAM,GAAK,UAMzC,OAFAA,GAAKkG,SAEEH,EAOR,QAASI,GAAgBjD,GACxB,GAAIyC,GAAM9G,EACTkH,EAAUK,GAAalD,EA0BxB,OAxBM6C,KACLA,EAAUL,EAAexC,EAAUyC,GAGlB,SAAZI,GAAuBA,IAG3BM,IAAUA,IAAU9G,EAAQ,mDAAoDsG,SAAUF,EAAIW,iBAG9FX,EAAMU,GAAQ,GAAIE,gBAGlBZ,EAAIa,QACJb,EAAIc,QAEJV,EAAUL,EAAexC,EAAUyC,GACnCU,GAAOH,UAIRE,GAAalD,GAAa6C,GAGpBA,EAmBR,QAASW,GAAQ1G,EAAMgC,EAAM2E,GAC5B,GAAIC,GAAOC,EAAUC,EAAU3B,EAC9BS,EAAQ5F,EAAK4F,KAsCd,OApCAe,GAAWA,GAAYI,GAAW/G,GAI7B2G,IACJxB,EAAMwB,EAASK,iBAAkBhF,IAAU2E,EAAU3E,IAGjD2E,IAES,KAARxB,GAAe5F,EAAO0H,SAAUjH,EAAKsD,cAAetD,KACxDmF,EAAM5F,EAAOqG,MAAO5F,EAAMgC,IAOtBkF,GAAU9G,KAAM+E,IAASgC,GAAQ/G,KAAM4B,KAG3C4E,EAAQhB,EAAMgB,MACdC,EAAWjB,EAAMiB,SACjBC,EAAWlB,EAAMkB,SAGjBlB,EAAMiB,SAAWjB,EAAMkB,SAAWlB,EAAMgB,MAAQzB,EAChDA,EAAMwB,EAASC,MAGfhB,EAAMgB,MAAQA,EACdhB,EAAMiB,SAAWA,EACjBjB,EAAMkB,SAAWA,IAIJ7E,SAARkD,EAGNA,EAAM,GACNA,EAIF,QAASiC,GAAcC,EAAaC,GAEnC,OACC5F,IAAK,WACJ,MAAK2F,gBAGGpI,MAAKyC,KAKLzC,KAAKyC,IAAM4F,GAAQC,MAAOtI,KAAMuI,aAqI3C,QAASC,GAAgB7B,EAAO5D,GAG/B,GAAKA,IAAQ4D,GACZ,MAAO5D,EAQR,KAJA,GAAI0F,GAAU1F,EAAK,GAAG2F,cAAgB3F,EAAK4F,MAAM,GAChDC,EAAW7F,EACX/B,EAAI6H,GAAYzI,OAETY,KAEP,GADA+B,EAAO8F,GAAa7H,GAAMyH,EACrB1F,IAAQ4D,GACZ,MAAO5D,EAIT,OAAO6F,GAGR,QAASE,GAAmB/H,EAAMgI,EAAOC,GACxC,GAAIC,GAAUC,GAAUxE,KAAMqE,EAC9B,OAAOE,GAENE,KAAKC,IAAK,EAAGH,EAAS,IAAQD,GAAY,KAAUC,EAAS,IAAO,MACpEF,EAGF,QAASM,GAAsBtI,EAAMgC,EAAMuG,EAAOC,EAAaC,GAS9D,IARA,GAAIxI,GAAIsI,KAAYC,EAAc,SAAW,WAE5C,EAES,UAATxG,EAAmB,EAAI,EAEvB0G,EAAM,EAEK,EAAJzI,EAAOA,GAAK,EAEJ,WAAVsI,IACJG,GAAOnJ,EAAO0G,IAAKjG,EAAMuI,EAAQI,GAAW1I,IAAK,EAAMwI,IAGnDD,GAEW,YAAVD,IACJG,GAAOnJ,EAAO0G,IAAKjG,EAAM,UAAY2I,GAAW1I,IAAK,EAAMwI,IAI7C,WAAVF,IACJG,GAAOnJ,EAAO0G,IAAKjG,EAAM,SAAW2I,GAAW1I,GAAM,SAAS,EAAMwI,MAIrEC,GAAOnJ,EAAO0G,IAAKjG,EAAM,UAAY2I,GAAW1I,IAAK,EAAMwI,GAG5C,YAAVF,IACJG,GAAOnJ,EAAO0G,IAAKjG,EAAM,SAAW2I,GAAW1I,GAAM,SAAS,EAAMwI,IAKvE,OAAOC,GAGR,QAASE,GAAkB5I,EAAMgC,EAAMuG,GAGtC,GAAIM,IAAmB,EACtBH,EAAe,UAAT1G,EAAmBhC,EAAK8I,YAAc9I,EAAK+I,aACjDN,EAAS1B,GAAW/G,GACpBwI,EAAiE,eAAnDjJ,EAAO0G,IAAKjG,EAAM,aAAa,EAAOyI,EAKrD,IAAY,GAAPC,GAAmB,MAAPA,EAAc,CAQ9B,GANAA,EAAMhC,EAAQ1G,EAAMgC,EAAMyG,IACf,EAANC,GAAkB,MAAPA,KACfA,EAAM1I,EAAK4F,MAAO5D,IAIdkF,GAAU9G,KAAKsI,GACnB,MAAOA,EAKRG,GAAmBL,IAChBQ,EAAQC,qBAAuBP,IAAQ1I,EAAK4F,MAAO5D,IAGtD0G,EAAMQ,WAAYR,IAAS,EAI5B,MAASA,GACRJ,EACCtI,EACAgC,EACAuG,IAAWC,EAAc,SAAW,WACpCK,EACAJ,GAEE,KAGL,QAASU,GAAUxJ,EAAUyJ,GAM5B,IALA,GAAIrD,GAAS/F,EAAMqJ,EAClBC,KACAC,EAAQ,EACRlK,EAASM,EAASN,OAEHA,EAARkK,EAAgBA,IACvBvJ,EAAOL,EAAU4J,GACXvJ,EAAK4F,QAIX0D,EAAQC,GAAUtF,GAAUvC,IAAK1B,EAAM,cACvC+F,EAAU/F,EAAK4F,MAAMG,QAChBqD,GAGEE,EAAQC,IAAuB,SAAZxD,IACxB/F,EAAK4F,MAAMG,QAAU,IAMM,KAAvB/F,EAAK4F,MAAMG,SAAkByD,GAAUxJ,KAC3CsJ,EAAQC,GAAUtF,GAAUU,OAAQ3E,EAAM,aAAcmG,EAAenG,EAAKkD,cAG7EmG,EAASG,GAAUxJ,GAEF,SAAZ+F,GAAuBsD,GAC3BpF,GAAUvB,IAAK1C,EAAM,aAAcqJ,EAAStD,EAAUxG,EAAO0G,IAAKjG,EAAM,aAO3E,KAAMuJ,EAAQ,EAAWlK,EAARkK,EAAgBA,IAChCvJ,EAAOL,EAAU4J,GACXvJ,EAAK4F,QAGLwD,GAA+B,SAAvBpJ,EAAK4F,MAAMG,SAA6C,KAAvB/F,EAAK4F,MAAMG,UACzD/F,EAAK4F,MAAMG,QAAUqD,EAAOE,EAAQC,IAAW,GAAK,QAItD,OAAO5J,GA0PR,QAAS8J,GAAOzJ,EAAMW,EAAS+I,EAAMC,EAAKC,GACzC,MAAO,IAAIH,GAAMI,UAAUC,KAAM9J,EAAMW,EAAS+I,EAAMC,EAAKC,GAwK5D,QAASG,KAIR,MAHAC,YAAW,WACVC,GAAQhI,SAEAgI,GAAQ1K,EAAO2K,MAIzB,QAASC,GAAO7K,EAAM8K,GACrB,GAAIC,GACHpK,EAAI,EACJqK,GAAUC,OAAQjL,EAKnB,KADA8K,EAAeA,EAAe,EAAI,EACtB,EAAJnK,EAAQA,GAAK,EAAImK,EACxBC,EAAQ1B,GAAW1I,GACnBqK,EAAO,SAAWD,GAAUC,EAAO,UAAYD,GAAU/K,CAO1D,OAJK8K,KACJE,EAAME,QAAUF,EAAM1D,MAAQtH,GAGxBgL,EAGR,QAASG,GAAazC,EAAO0B,EAAMgB,GAKlC,IAJA,GAAIC,GACHC,GAAeC,GAAUnB,QAAeoB,OAAQD,GAAU,MAC1DtB,EAAQ,EACRlK,EAASuL,EAAWvL,OACLA,EAARkK,EAAgBA,IACvB,GAAMoB,EAAQC,EAAYrB,GAAQrJ,KAAMwK,EAAWhB,EAAM1B,GAGxD,MAAO2C,GAKV,QAASI,GAAkB/K,EAAMgL,EAAOC,GAEvC,GAAIvB,GAAM1B,EAAOkD,EAAQP,EAAOQ,EAAOC,EAASrF,EAASsF,EACxDC,EAAOrM,KACPsM,KACA3F,EAAQ5F,EAAK4F,MACbyD,EAASrJ,EAAKP,UAAY+J,GAAUxJ,GACpCwL,EAAWvH,GAAUvC,IAAK1B,EAAM,SAG3BiL,GAAKQ,QACVN,EAAQ5L,EAAOmM,YAAa1L,EAAM,MACX,MAAlBmL,EAAMQ,WACVR,EAAMQ,SAAW,EACjBP,EAAUD,EAAMS,MAAMC,KACtBV,EAAMS,MAAMC,KAAO,WACZV,EAAMQ,UACXP,MAIHD,EAAMQ,WAENL,EAAKQ,OAAO,WAEXR,EAAKQ,OAAO,WACXX,EAAMQ,WACApM,EAAOkM,MAAOzL,EAAM,MAAOX,QAChC8L,EAAMS,MAAMC,YAOO,IAAlB7L,EAAKP,WAAoB,UAAYuL,IAAS,SAAWA,MAK7DC,EAAKc,UAAanG,EAAMmG,SAAUnG,EAAMoG,UAAWpG,EAAMqG,WAIzDlG,EAAUxG,EAAO0G,IAAKjG,EAAM,WAG5BqL,EAA2B,SAAZtF,EACd9B,GAAUvC,IAAK1B,EAAM,eAAkBmG,EAAgBnG,EAAKkD,UAAa6C,EAEpD,WAAjBsF,GAA6D,SAAhC9L,EAAO0G,IAAKjG,EAAM,WACnD4F,EAAMG,QAAU,iBAIbkF,EAAKc,WACTnG,EAAMmG,SAAW,SACjBT,EAAKQ,OAAO,WACXlG,EAAMmG,SAAWd,EAAKc,SAAU,GAChCnG,EAAMoG,UAAYf,EAAKc,SAAU,GACjCnG,EAAMqG,UAAYhB,EAAKc,SAAU,KAKnC,KAAMrC,IAAQsB,GAEb,GADAhD,EAAQgD,EAAOtB,GACVwC,GAASvI,KAAMqE,GAAU,CAG7B,SAFOgD,GAAOtB,GACdwB,EAASA,GAAoB,WAAVlD,EACdA,KAAYqB,EAAS,OAAS,QAAW,CAG7C,GAAe,SAAVrB,IAAoBwD,GAAiCvJ,SAArBuJ,EAAU9B,GAG9C,QAFAL,IAAS,EAKXkC,EAAM7B,GAAS8B,GAAYA,EAAU9B,IAAUnK,EAAOqG,MAAO5F,EAAM0J,OAInE3D,GAAU9D,MAIZ,IAAM1C,EAAO4M,cAAeZ,GAyCqD,YAAxD,SAAZxF,EAAqBI,EAAgBnG,EAAKkD,UAAa6C,KACnEH,EAAMG,QAAUA,OA1CoB,CAC/ByF,EACC,UAAYA,KAChBnC,EAASmC,EAASnC,QAGnBmC,EAAWvH,GAAUU,OAAQ3E,EAAM,aAI/BkL,IACJM,EAASnC,QAAUA,GAEfA,EACJ9J,EAAQS,GAAOoJ,OAEfkC,EAAKc,KAAK,WACT7M,EAAQS,GAAOqM,SAGjBf,EAAKc,KAAK,WACT,GAAI1C,EAEJzF,IAAUqI,OAAQtM,EAAM,SACxB,KAAM0J,IAAQ6B,GACbhM,EAAOqG,MAAO5F,EAAM0J,EAAM6B,EAAM7B,KAGlC,KAAMA,IAAQ6B,GACbZ,EAAQF,EAAapB,EAASmC,EAAU9B,GAAS,EAAGA,EAAM4B,GAElD5B,IAAQ8B,KACfA,EAAU9B,GAASiB,EAAM4B,MACpBlD,IACJsB,EAAMhB,IAAMgB,EAAM4B,MAClB5B,EAAM4B,MAAiB,UAAT7C,GAA6B,WAATA,EAAoB,EAAI,KAW/D,QAAS8C,GAAYxB,EAAOyB,GAC3B,GAAIlD,GAAOvH,EAAM4H,EAAQ5B,EAAOmD,CAGhC,KAAM5B,IAASyB,GAed,GAdAhJ,EAAOzC,EAAOmN,UAAWnD,GACzBK,EAAS6C,EAAezK,GACxBgG,EAAQgD,EAAOzB,GACVhK,EAAOoN,QAAS3E,KACpB4B,EAAS5B,EAAO,GAChBA,EAAQgD,EAAOzB,GAAUvB,EAAO,IAG5BuB,IAAUvH,IACdgJ,EAAOhJ,GAASgG,QACTgD,GAAOzB,IAGf4B,EAAQ5L,EAAOqN,SAAU5K,GACpBmJ,GAAS,UAAYA,GAAQ,CACjCnD,EAAQmD,EAAM0B,OAAQ7E,SACfgD,GAAOhJ,EAId,KAAMuH,IAASvB,GACNuB,IAASyB,KAChBA,EAAOzB,GAAUvB,EAAOuB,GACxBkD,EAAelD,GAAUK,OAI3B6C,GAAezK,GAAS4H,EAK3B,QAASkD,GAAW9M,EAAM+M,EAAYpM,GACrC,GAAIqM,GACHC,EACA1D,EAAQ,EACRlK,EAAS6N,GAAoB7N,OAC7B8N,EAAW5N,EAAO6N,WAAWtB,OAAQ,iBAE7BuB,GAAKrN,OAEbqN,EAAO,WACN,GAAKJ,EACJ,OAAO,CAWR,KATA,GAAIK,GAAcrD,IAASF,IAC1BwD,EAAYnF,KAAKC,IAAK,EAAGqC,EAAU8C,UAAY9C,EAAU+C,SAAWH,GAGpEI,EAAOH,EAAY7C,EAAU+C,UAAY,EACzCE,EAAU,EAAID,EACdnE,EAAQ,EACRlK,EAASqL,EAAUkD,OAAOvO,OAEXA,EAARkK,EAAiBA,IACxBmB,EAAUkD,OAAQrE,GAAQsE,IAAKF,EAKhC,OAFAR,GAASW,WAAY9N,GAAQ0K,EAAWiD,EAASJ,IAElC,EAAVI,GAAetO,EACZkO,GAEPJ,EAASY,YAAa/N,GAAQ0K,KACvB,IAGTA,EAAYyC,EAASa,SACpBhO,KAAMA,EACNgL,MAAOzL,EAAOwF,UAAYgI,GAC1B9B,KAAM1L,EAAOwF,QAAQ,GAAQ0H,kBAAqB9L,GAClDsN,mBAAoBlB,EACpBmB,gBAAiBvN,EACjB6M,UAAWvD,IAASF,IACpB0D,SAAU9M,EAAQ8M,SAClBG,UACAnD,YAAa,SAAUf,EAAMC,GAC5B,GAAIgB,GAAQpL,EAAOkK,MAAOzJ,EAAM0K,EAAUO,KAAMvB,EAAMC,EACpDe,EAAUO,KAAKwB,cAAe/C,IAAUgB,EAAUO,KAAKrB,OAEzD,OADAc,GAAUkD,OAAOO,KAAMxD,GAChBA,GAERyD,KAAM,SAAUC,GACf,GAAI9E,GAAQ,EAGXlK,EAASgP,EAAU3D,EAAUkD,OAAOvO,OAAS,CAC9C,IAAK4N,EACJ,MAAOhO,KAGR,KADAgO,GAAU,EACM5N,EAARkK,EAAiBA,IACxBmB,EAAUkD,OAAQrE,GAAQsE,IAAK,EAShC,OALKQ,GACJlB,EAASY,YAAa/N,GAAQ0K,EAAW2D,IAEzClB,EAASmB,WAAYtO,GAAQ0K,EAAW2D,IAElCpP,QAGT+L,EAAQN,EAAUM,KAInB,KAFAwB,EAAYxB,EAAON,EAAUO,KAAKwB,eAElBpN,EAARkK,EAAiBA,IAExB,GADAyD,EAASE,GAAqB3D,GAAQrJ,KAAMwK,EAAW1K,EAAMgL,EAAON,EAAUO,MAE7E,MAAO+B,EAmBT,OAfAzN,GAAOgP,IAAKvD,EAAOP,EAAaC,GAE3BnL,EAAOO,WAAY4K,EAAUO,KAAKsB,QACtC7B,EAAUO,KAAKsB,MAAMrM,KAAMF,EAAM0K,GAGlCnL,EAAOiP,GAAGC,MACTlP,EAAOwF,OAAQsI,GACdrN,KAAMA,EACNsL,KAAMZ,EACNe,MAAOf,EAAUO,KAAKQ,SAKjBf,EAAUgE,SAAUhE,EAAUO,KAAKyD,UACxCtC,KAAM1B,EAAUO,KAAKmB,KAAM1B,EAAUO,KAAK0D,UAC1CC,KAAMlE,EAAUO,KAAK2D,MACrB9C,OAAQpB,EAAUO,KAAKa,QAm7B1B,QAAS+C,GAA6BC,GAGrC,MAAO,UAAUC,EAAoBC,GAED,gBAAvBD,KACXC,EAAOD,EACPA,EAAqB,IAGtB,IAAIE,GACHhP,EAAI,EACJiP,EAAYH,EAAmB3M,cAAcrB,MAAOC,OAErD,IAAKzB,EAAOO,WAAYkP,GAEvB,KAASC,EAAWC,EAAUjP,MAER,MAAhBgP,EAAS,IACbA,EAAWA,EAASrH,MAAO,IAAO,KACjCkH,EAAWG,GAAaH,EAAWG,QAAkBE,QAASH,KAI9DF,EAAWG,GAAaH,EAAWG,QAAkBd,KAAMa,IAQjE,QAASI,GAA+BN,EAAWnO,EAASuN,EAAiBmB,GAK5E,QAASC,GAASL,GACjB,GAAIM,EAYJ,OAXAC,GAAWP,IAAa,EACxB1P,EAAOuB,KAAMgO,EAAWG,OAAkB,SAAUhO,EAAGwO,GACtD,GAAIC,GAAsBD,EAAoB9O,EAASuN,EAAiBmB,EACxE,OAAoC,gBAAxBK,IAAqCC,GAAqBH,EAAWE,GAIrEC,IACDJ,EAAWG,GADf,QAHN/O,EAAQuO,UAAUC,QAASO,GAC3BJ,EAASI,IACF,KAKFH,EAhBR,GAAIC,MACHG,EAAqBb,IAAcc,EAkBpC,OAAON,GAAS3O,EAAQuO,UAAW,MAAUM,EAAW,MAASF,EAAS,KAM3E,QAASO,GAAYC,EAAQ3L,GAC5B,GAAIrC,GAAKiO,EACRC,EAAczQ,EAAO0Q,aAAaD,eAEnC,KAAMlO,IAAOqC,GACQlC,SAAfkC,EAAKrC,MACPkO,EAAalO,GAAQgO,EAAWC,IAASA,OAAgBjO,GAAQqC,EAAKrC,GAO1E,OAJKiO,IACJxQ,EAAOwF,QAAQ,EAAM+K,EAAQC,GAGvBD,EAOR,QAASI,GAAqBC,EAAGd,EAAOe,GAOvC,IALA,GAAIC,GAAI/Q,EAAMgR,EAAeC,EAC5BC,EAAWL,EAAEK,SACbtB,EAAYiB,EAAEjB,UAGY,MAAnBA,EAAW,IAClBA,EAAUuB,QACExO,SAAPoO,IACJA,EAAKF,EAAEO,UAAYrB,EAAMsB,kBAAkB,gBAK7C,IAAKN,EACJ,IAAM/Q,IAAQkR,GACb,GAAKA,EAAUlR,IAAUkR,EAAUlR,GAAOc,KAAMiQ,GAAO,CACtDnB,EAAUC,QAAS7P,EACnB,OAMH,GAAK4P,EAAW,IAAOkB,GACtBE,EAAgBpB,EAAW,OACrB,CAEN,IAAM5P,IAAQ8Q,GAAY,CACzB,IAAMlB,EAAW,IAAOiB,EAAES,WAAYtR,EAAO,IAAM4P,EAAU,IAAO,CACnEoB,EAAgBhR,CAChB,OAEKiR,IACLA,EAAgBjR,GAIlBgR,EAAgBA,GAAiBC,EAMlC,MAAKD,IACCA,IAAkBpB,EAAW,IACjCA,EAAUC,QAASmB,GAEbF,EAAWE,IAJnB,OAWD,QAASO,GAAaV,EAAGW,EAAUzB,EAAO0B,GACzC,GAAIC,GAAOC,EAASC,EAAMC,EAAKC,EAC9BR,KAEA1B,EAAYiB,EAAEjB,UAAUtH,OAGzB,IAAKsH,EAAW,GACf,IAAMgC,IAAQf,GAAES,WACfA,EAAYM,EAAK9O,eAAkB+N,EAAES,WAAYM,EAOnD,KAHAD,EAAU/B,EAAUuB,QAGZQ,GAcP,GAZKd,EAAEkB,eAAgBJ,KACtB5B,EAAOc,EAAEkB,eAAgBJ,IAAcH,IAIlCM,GAAQL,GAAaZ,EAAEmB,aAC5BR,EAAWX,EAAEmB,WAAYR,EAAUX,EAAElB,WAGtCmC,EAAOH,EACPA,EAAU/B,EAAUuB,QAKnB,GAAiB,MAAZQ,EAEJA,EAAUG,MAGJ,IAAc,MAATA,GAAgBA,IAASH,EAAU,CAM9C,GAHAC,EAAON,EAAYQ,EAAO,IAAMH,IAAaL,EAAY,KAAOK,IAG1DC,EACL,IAAMF,IAASJ,GAId,GADAO,EAAMH,EAAMO,MAAO,KACdJ,EAAK,KAAQF,IAGjBC,EAAON,EAAYQ,EAAO,IAAMD,EAAK,KACpCP,EAAY,KAAOO,EAAK,KACb,CAEND,KAAS,EACbA,EAAON,EAAYI,GAGRJ,EAAYI,MAAY,IACnCC,EAAUE,EAAK,GACfjC,EAAUC,QAASgC,EAAK,IAEzB,OAOJ,GAAKD,KAAS,EAGb,GAAKA,GAAQf,EAAG,UACfW,EAAWI,EAAMJ,OAEjB,KACCA,EAAWI,EAAMJ,GAChB,MAAQtO,GACT,OAASgP,MAAO,cAAeC,MAAOP,EAAO1O,EAAI,sBAAwB4O,EAAO,OAASH,IAQ/F,OAASO,MAAO,UAAWzP,KAAM+O,GAsmBlC,QAASY,GAAaC,EAAQvS,EAAKwS,EAAa9M,GAC/C,GAAI9C,EAEJ,IAAKzC,EAAOoN,QAASvN,GAEpBG,EAAOuB,KAAM1B,EAAK,SAAUa,EAAG4R,GACzBD,GAAeE,GAAS1R,KAAMuR,GAElC7M,EAAK6M,EAAQE,GAIbH,EAAaC,EAAS,KAAqB,gBAANE,GAAiB5R,EAAI,IAAO,IAAK4R,EAAGD,EAAa9M,SAIlF,IAAM8M,GAAsC,WAAvBrS,EAAOD,KAAMF,GAQxC0F,EAAK6M,EAAQvS,OANb,KAAM4C,IAAQ5C,GACbsS,EAAaC,EAAS,IAAM3P,EAAO,IAAK5C,EAAK4C,GAAQ4P,EAAa9M,GA2drE,QAASiN,GAAW/R,GACnB,MAAOT,GAAOC,SAAUQ,GAASA,EAAyB,IAAlBA,EAAKP,UAAkBO,EAAKgS,YAxqRrE,GAAIC,MAEArK,EAAQqK,EAAIrK,MAEZkD,EAASmH,EAAInH,OAEbqD,EAAO8D,EAAI9D,KAEX7N,EAAU2R,EAAI3R,QAEd4R,KAEAC,EAAWD,EAAWC,SAEtBC,EAASF,EAAWG,eAEpBrJ,KAMHnK,EAAWG,EAAOH,SAElByT,EAAU,QAGV/S,EAAS,SAAUgT,EAAUtN,GAG5B,MAAO,IAAI1F,GAAOiT,GAAG1I,KAAMyI,EAAUtN,IAKtCwN,GAAQ,qCAGRC,GAAY,QACZC,GAAa,eAGbC,GAAa,SAAUC,EAAKC,GAC3B,MAAOA,GAAOnL,cAGhBpI,GAAOiT,GAAKjT,EAAOsK,WAElBkJ,OAAQT,EAERU,YAAazT,EAGbgT,SAAU,GAGVlT,OAAQ,EAER4T,QAAS,WACR,MAAOrL,GAAM1H,KAAMjB,OAKpByC,IAAK,SAAUwR,GACd,MAAc,OAAPA,EAGE,EAANA,EAAUjU,KAAMiU,EAAMjU,KAAKI,QAAWJ,KAAMiU,GAG9CtL,EAAM1H,KAAMjB,OAKdkU,UAAW,SAAUrP,GAGpB,GAAIqB,GAAM5F,EAAO8F,MAAOpG,KAAK+T,cAAelP,EAO5C,OAJAqB,GAAIiO,WAAanU,KACjBkG,EAAIF,QAAUhG,KAAKgG,QAGZE,GAMRrE,KAAM,SAAUuS,EAAUC,GACzB,MAAO/T,GAAOuB,KAAM7B,KAAMoU,EAAUC,IAGrC/E,IAAK,SAAU8E,GACd,MAAOpU,MAAKkU,UAAW5T,EAAOgP,IAAItP,KAAM,SAAUe,EAAMC,GACvD,MAAOoT,GAASnT,KAAMF,EAAMC,EAAGD,OAIjC4H,MAAO,WACN,MAAO3I,MAAKkU,UAAWvL,EAAML,MAAOtI,KAAMuI,aAG3C+L,MAAO,WACN,MAAOtU,MAAKuU,GAAI,IAGjBC,KAAM,WACL,MAAOxU,MAAKuU,GAAI,KAGjBA,GAAI,SAAUvT,GACb,GAAIyT,GAAMzU,KAAKI,OACdsU,GAAK1T,GAAU,EAAJA,EAAQyT,EAAM,EAC1B,OAAOzU,MAAKkU,UAAWQ,GAAK,GAASD,EAAJC,GAAY1U,KAAK0U,SAGnDhK,IAAK,WACJ,MAAO1K,MAAKmU,YAAcnU,KAAK+T,YAAY,OAK5C7E,KAAMA,EACNyF,KAAM3B,EAAI2B,KACVC,OAAQ5B,EAAI4B,QAGbtU,EAAOwF,OAASxF,EAAOiT,GAAGzN,OAAS,WAClC,GAAIpE,GAASqB,EAAMmC,EAAK2P,EAAMC,EAAaC,EAC1ClE,EAAStI,UAAU,OACnBvH,EAAI,EACJZ,EAASmI,UAAUnI,OACnB0Q,GAAO,CAsBR,KAnBuB,iBAAXD,KACXC,EAAOD,EAGPA,EAAStI,UAAWvH,OACpBA,KAIsB,gBAAX6P,IAAwBvQ,EAAOO,WAAWgQ,KACrDA,MAII7P,IAAMZ,IACVyQ,EAAS7Q,KACTgB,KAGWZ,EAAJY,EAAYA,IAEnB,GAAmC,OAA7BU,EAAU6G,UAAWvH,IAE1B,IAAM+B,IAAQrB,GACbwD,EAAM2L,EAAQ9N,GACd8R,EAAOnT,EAASqB,GAGX8N,IAAWgE,IAKX/D,GAAQ+D,IAAUvU,EAAO0U,cAAcH,KAAUC,EAAcxU,EAAOoN,QAAQmH,MAC7EC,GACJA,GAAc,EACdC,EAAQ7P,GAAO5E,EAAOoN,QAAQxI,GAAOA,MAGrC6P,EAAQ7P,GAAO5E,EAAO0U,cAAc9P,GAAOA,KAI5C2L,EAAQ9N,GAASzC,EAAOwF,OAAQgL,EAAMiE,EAAOF,IAGzB7R,SAAT6R,IACXhE,EAAQ9N,GAAS8R,GAOrB,OAAOhE,IAGRvQ,EAAOwF,QAENpD,QAAS,UAAa2Q,EAAUlK,KAAK8L,UAAWhS,QAAS,MAAO,IAGhEiS,SAAS,EAET1C,MAAO,SAAU2C,GAChB,KAAM,IAAIrV,OAAOqV,IAGlBC,KAAM,aAENvU,WAAY,SAAUV,GACrB,MAA4B,aAArBG,EAAOD,KAAKF,IAGpBuN,QAAS2H,MAAM3H,QAEfnN,SAAU,SAAUJ,GACnB,MAAc,OAAPA,GAAeA,IAAQA,EAAIJ,QAGnCuV,UAAW,SAAUnV,GAKpB,OAAQG,EAAOoN,QAASvN,IAAUA,EAAM8J,WAAY9J,GAAQ,GAAM,GAGnE6U,cAAe,SAAU7U,GAKxB,MAA4B,WAAvBG,EAAOD,KAAMF,IAAsBA,EAAIK,UAAYF,EAAOC,SAAUJ,IACjE,EAGHA,EAAI4T,cACNZ,EAAOlS,KAAMd,EAAI4T,YAAYnJ,UAAW,kBACnC,GAKD,GAGRsC,cAAe,SAAU/M,GACxB,GAAI4C,EACJ,KAAMA,IAAQ5C,GACb,OAAO,CAER,QAAO,GAGRE,KAAM,SAAUF,GACf,MAAY,OAAPA,EACGA,EAAM,GAGQ,gBAARA,IAAmC,kBAARA,GACxC8S,EAAYC,EAASjS,KAAKd,KAAU,eAC7BA,IAIToV,WAAY,SAAUC,GACrB,GAAIC,GACHC,EAAWC,IAEZH,GAAOlV,EAAOsV,KAAMJ,GAEfA,IAIgC,IAA/BA,EAAKnU,QAAQ,eACjBoU,EAAS7V,EAAS0E,cAAc,UAChCmR,EAAOI,KAAOL,EACd5V,EAASkW,KAAK1R,YAAaqR,GAASM,WAAWC,YAAaP,IAI5DC,EAAUF,KAQb/H,UAAW,SAAUwI,GACpB,MAAOA,GAAOhT,QAASwQ,GAAW,OAAQxQ,QAASyQ,GAAYC,KAGhE1P,SAAU,SAAUlD,EAAMgC,GACzB,MAAOhC,GAAKkD,UAAYlD,EAAKkD,SAASd,gBAAkBJ,EAAKI,eAI9DtB,KAAM,SAAU1B,EAAKiU,EAAUC,GAC9B,GAAItL,GACH/H,EAAI,EACJZ,EAASD,EAAIC,OACbsN,EAAUxN,EAAaC,EAExB,IAAKkU,GACJ,GAAK3G,EACJ,KAAYtN,EAAJY,IACP+H,EAAQqL,EAAS9L,MAAOnI,EAAKa,GAAKqT,GAE7BtL,KAAU,GAHI/H,SAQpB,KAAMA,IAAKb,GAGV,GAFA4I,EAAQqL,EAAS9L,MAAOnI,EAAKa,GAAKqT,GAE7BtL,KAAU,EACd,UAOH,IAAK2E,EACJ,KAAYtN,EAAJY,IACP+H,EAAQqL,EAASnT,KAAMd,EAAKa,GAAKA,EAAGb,EAAKa,IAEpC+H,KAAU,GAHI/H,SAQpB,KAAMA,IAAKb,GAGV,GAFA4I,EAAQqL,EAASnT,KAAMd,EAAKa,GAAKA,EAAGb,EAAKa,IAEpC+H,KAAU,EACd,KAMJ,OAAO5I,IAIRyV,KAAM,SAAUC,GACf,MAAe,OAARA,EACN,IACEA,EAAO,IAAK5S,QAASuQ,GAAO,KAIhC0C,UAAW,SAAUlD,EAAKmD,GACzB,GAAIjQ,GAAMiQ,KAaV,OAXY,OAAPnD,IACC9S,EAAaoC,OAAO0Q,IACxB1S,EAAO8F,MAAOF,EACE,gBAAR8M,IACLA,GAAQA,GAGX9D,EAAKjO,KAAMiF,EAAK8M,IAIX9M,GAGRkQ,QAAS,SAAUrV,EAAMiS,EAAKhS,GAC7B,MAAc,OAAPgS,EAAc,GAAK3R,EAAQJ,KAAM+R,EAAKjS,EAAMC,IAGpDoF,MAAO,SAAUkO,EAAO+B,GAKvB,IAJA,GAAI5B,IAAO4B,EAAOjW,OACjBsU,EAAI,EACJ1T,EAAIsT,EAAMlU,OAECqU,EAAJC,EAASA,IAChBJ,EAAOtT,KAAQqV,EAAQ3B,EAKxB,OAFAJ,GAAMlU,OAASY,EAERsT,GAGRxT,KAAM,SAAU+D,EAAOuP,EAAUkC,GAShC,IARA,GAAIC,GACHtN,KACAjI,EAAI,EACJZ,EAASyE,EAAMzE,OACfoW,GAAkBF,EAIPlW,EAAJY,EAAYA,IACnBuV,GAAmBnC,EAAUvP,EAAO7D,GAAKA,GACpCuV,IAAoBC,GACxBvN,EAAQiG,KAAMrK,EAAO7D,GAIvB,OAAOiI,IAIRqG,IAAK,SAAUzK,EAAOuP,EAAUqC,GAC/B,GAAI1N,GACH/H,EAAI,EACJZ,EAASyE,EAAMzE,OACfsN,EAAUxN,EAAa2E,GACvBqB,IAGD,IAAKwH,EACJ,KAAYtN,EAAJY,EAAYA,IACnB+H,EAAQqL,EAAUvP,EAAO7D,GAAKA,EAAGyV,GAEnB,MAAT1N,GACJ7C,EAAIgJ,KAAMnG,OAMZ,KAAM/H,IAAK6D,GACVkE,EAAQqL,EAAUvP,EAAO7D,GAAKA,EAAGyV,GAEnB,MAAT1N,GACJ7C,EAAIgJ,KAAMnG,EAMb,OAAO8C,GAAOvD,SAAWpC,IAI1BwQ,KAAM,EAINC,MAAO,SAAUpD,EAAIvN,GACpB,GAAIkM,GAAKmC,EAAMsC,CAUf,OARwB,gBAAZ3Q,KACXkM,EAAMqB,EAAIvN,GACVA,EAAUuN,EACVA,EAAKrB,GAKA5R,EAAOO,WAAY0S,IAKzBc,EAAO1L,EAAM1H,KAAMsH,UAAW,GAC9BoO,EAAQ,WACP,MAAOpD,GAAGjL,MAAOtC,GAAWhG,KAAMqU,EAAKxI,OAAQlD,EAAM1H,KAAMsH,cAI5DoO,EAAMD,KAAOnD,EAAGmD,KAAOnD,EAAGmD,MAAQpW,EAAOoW,OAElCC,GAbP,QAgBD1L,IAAK2L,KAAK3L,IAIVlB,QAASA,IAIVzJ,EAAOuB,KAAK,gEAAgEyQ,MAAM,KAAM,SAAStR,EAAG+B,GACnGkQ,EAAY,WAAalQ,EAAO,KAAQA,EAAKI,eAuB9C,IAAI0T;;;;;;;;;;AAWJ,SAAW9W,GA0LX,QAAS8W,GAAQvD,EAAUtN,EAASmQ,EAASW,GAC5C,GAAIhV,GAAOf,EAAMgW,EAAGvW,EAEnBQ,EAAGgW,EAAQC,EAAKC,EAAKC,EAAYC,CAUlC,KAROpR,EAAUA,EAAQ3B,eAAiB2B,EAAUqR,KAAmBzX,GACtE0X,EAAatR,GAGdA,EAAUA,GAAWpG,EACrBuW,EAAUA,MACV3V,EAAWwF,EAAQxF,SAEM,gBAAb8S,KAA0BA,GACxB,IAAb9S,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,MAAO2V,EAGR,KAAMW,GAAQS,EAAiB,CAG9B,GAAkB,KAAb/W,IAAoBsB,EAAQ0V,GAAW9S,KAAM4O,IAEjD,GAAMyD,EAAIjV,EAAM,IACf,GAAkB,IAAbtB,EAAiB,CAIrB,GAHAO,EAAOiF,EAAQyR,eAAgBV,IAG1BhW,IAAQA,EAAKgV,WAQjB,MAAOI,EALP,IAAKpV,EAAK2W,KAAOX,EAEhB,MADAZ,GAAQjH,KAAMnO,GACPoV,MAOT,IAAKnQ,EAAQ3B,gBAAkBtD,EAAOiF,EAAQ3B,cAAcoT,eAAgBV,KAC3E/O,EAAUhC,EAASjF,IAAUA,EAAK2W,KAAOX,EAEzC,MADAZ,GAAQjH,KAAMnO,GACPoV,MAKH,CAAA,GAAKrU,EAAM,GAEjB,MADAoN,GAAK5G,MAAO6N,EAASnQ,EAAQ7B,qBAAsBmP,IAC5C6C,CAGD,KAAMY,EAAIjV,EAAM,KAAOiI,EAAQ4N,uBAErC,MADAzI,GAAK5G,MAAO6N,EAASnQ,EAAQ2R,uBAAwBZ,IAC9CZ,EAKT,GAAKpM,EAAQ6N,OAASC,IAAcA,EAAU1W,KAAMmS,IAAc,CASjE,GARA4D,EAAMD,EAAMvU,EACZyU,EAAanR,EACboR,EAA2B,IAAb5W,GAAkB8S,EAMd,IAAb9S,GAAqD,WAAnCwF,EAAQ/B,SAASd,cAA6B,CAWpE,IAVA6T,EAASc,EAAUxE,IAEb2D,EAAMjR,EAAQ5C,aAAa,OAChC8T,EAAMD,EAAIhU,QAAS8U,GAAS,QAE5B/R,EAAQgS,aAAc,KAAMd,GAE7BA,EAAM,QAAUA,EAAM,MAEtBlW,EAAIgW,EAAO5W,OACHY,KACPgW,EAAOhW,GAAKkW,EAAMe,EAAYjB,EAAOhW,GAEtCmW,GAAae,GAAS/W,KAAMmS,IAAc6E,EAAanS,EAAQ+P,aAAgB/P,EAC/EoR,EAAcJ,EAAOoB,KAAK,KAG3B,GAAKhB,EACJ,IAIC,MAHAlI,GAAK5G,MAAO6N,EACXgB,EAAWhR,iBAAkBiR,IAEvBjB,EACN,MAAMkC,IACN,QACKpB,GACLjR,EAAQrB,gBAAgB,QAQ7B,MAAO2T,GAAQhF,EAASrQ,QAASuQ,GAAO,MAAQxN,EAASmQ,EAASW,GASnE,QAASyB,KAGR,QAAS/V,GAAOK,EAAKkG,GAMpB,MAJKyP,GAAKtJ,KAAMrM,EAAM,KAAQ4V,EAAKC,mBAE3BlW,GAAOgW,EAAKhH,SAEZhP,EAAOK,EAAM,KAAQkG,EAR9B,GAAIyP,KAUJ,OAAOhW,GAOR,QAASmW,GAAcpF,GAEtB,MADAA,GAAI7Q,IAAY,EACT6Q,EAOR,QAASqF,GAAQrF,GAChB,GAAIsF,GAAMjZ,EAAS0E,cAAc,MAEjC,KACC,QAASiP,EAAIsF,GACZ,MAAOtV,GACR,OAAO,EACN,QAEIsV,EAAI9C,YACR8C,EAAI9C,WAAWC,YAAa6C,GAG7BA,EAAM,MASR,QAASC,GAAWzN,EAAO0N,GAI1B,IAHA,GAAI/F,GAAM3H,EAAMiH,MAAM,KACrBtR,EAAIqK,EAAMjL,OAEHY,KACPyX,EAAKO,WAAYhG,EAAIhS,IAAO+X,EAU9B,QAASE,GAAcC,EAAGC,GACzB,GAAI5X,GAAM4X,GAAKD,EACdE,EAAO7X,GAAsB,IAAf2X,EAAE1Y,UAAiC,IAAf2Y,EAAE3Y,YAChC2Y,EAAEE,aAAeC,KACjBJ,EAAEG,aAAeC,EAGtB,IAAKF,EACJ,MAAOA,EAIR,IAAK7X,EACJ,KAASA,EAAMA,EAAIgY,aAClB,GAAKhY,IAAQ4X,EACZ,MAAO,EAKV,OAAOD,GAAI,EAAI,GAOhB,QAASM,GAAmBnZ,GAC3B,MAAO,UAAUU,GAChB,GAAIgC,GAAOhC,EAAKkD,SAASd,aACzB,OAAgB,UAATJ,GAAoBhC,EAAKV,OAASA,GAQ3C,QAASoZ,GAAoBpZ,GAC5B,MAAO,UAAUU,GAChB,GAAIgC,GAAOhC,EAAKkD,SAASd,aACzB,QAAiB,UAATJ,GAA6B,WAATA,IAAsBhC,EAAKV,OAASA,GAQlE,QAASqZ,GAAwBnG,GAChC,MAAOoF,GAAa,SAAUgB,GAE7B,MADAA,IAAYA,EACLhB,EAAa,SAAU7B,EAAM7N,GAMnC,IALA,GAAIyL,GACHkF,EAAerG,KAAQuD,EAAK1W,OAAQuZ,GACpC3Y,EAAI4Y,EAAaxZ,OAGVY,KACF8V,EAAOpC,EAAIkF,EAAa5Y,MAC5B8V,EAAKpC,KAAOzL,EAAQyL,GAAKoC,EAAKpC,SAYnC,QAASyD,GAAanS,GACrB,MAAOA,IAAmD,mBAAjCA,GAAQ7B,sBAAwC6B,EAg/B1E,QAAS6T,MAuET,QAAS5B,GAAY6B,GAIpB,IAHA,GAAI9Y,GAAI,EACPyT,EAAMqF,EAAO1Z,OACbkT,EAAW,GACAmB,EAAJzT,EAASA,IAChBsS,GAAYwG,EAAO9Y,GAAG+H,KAEvB,OAAOuK,GAGR,QAASyG,GAAeC,EAASC,EAAYC,GAC5C,GAAI1Y,GAAMyY,EAAWzY,IACpB2Y,EAAmBD,GAAgB,eAAR1Y,EAC3B4Y,EAAWjN,GAEZ,OAAO8M,GAAW3F,MAEjB,SAAUvT,EAAMiF,EAASqU,GACxB,KAAStZ,EAAOA,EAAMS,IACrB,GAAuB,IAAlBT,EAAKP,UAAkB2Z,EAC3B,MAAOH,GAASjZ,EAAMiF,EAASqU,IAMlC,SAAUtZ,EAAMiF,EAASqU,GACxB,GAAIC,GAAUC,EACbC,GAAaC,EAASL,EAGvB,IAAKC,GACJ,KAAStZ,EAAOA,EAAMS,IACrB,IAAuB,IAAlBT,EAAKP,UAAkB2Z,IACtBH,EAASjZ,EAAMiF,EAASqU,GAC5B,OAAO,MAKV,MAAStZ,EAAOA,EAAMS,IACrB,GAAuB,IAAlBT,EAAKP,UAAkB2Z,EAAmB,CAE9C,GADAI,EAAaxZ,EAAM2B,KAAc3B,EAAM2B,QACjC4X,EAAWC,EAAY/Y,KAC5B8Y,EAAU,KAAQG,GAAWH,EAAU,KAAQF,EAG/C,MAAQI,GAAU,GAAMF,EAAU,EAMlC,IAHAC,EAAY/Y,GAAQgZ,EAGdA,EAAU,GAAMR,EAASjZ,EAAMiF,EAASqU,GAC7C,OAAO,IASf,QAASK,GAAgBC,GACxB,MAAOA,GAASva,OAAS,EACxB,SAAUW,EAAMiF,EAASqU,GAExB,IADA,GAAIrZ,GAAI2Z,EAASva,OACTY,KACP,IAAM2Z,EAAS3Z,GAAID,EAAMiF,EAASqU,GACjC,OAAO,CAGT,QAAO,GAERM,EAAS,GAGX,QAASC,GAAkBtH,EAAUuH,EAAU1E,GAG9C,IAFA,GAAInV,GAAI,EACPyT,EAAMoG,EAASza,OACJqU,EAAJzT,EAASA,IAChB6V,EAAQvD,EAAUuH,EAAS7Z,GAAImV,EAEhC,OAAOA,GAGR,QAAS2E,GAAUC,EAAWzL,EAAKlO,EAAQ4E,EAASqU,GAOnD,IANA,GAAItZ,GACHia,KACAha,EAAI,EACJyT,EAAMsG,EAAU3a,OAChB6a,EAAgB,MAAP3L,EAEEmF,EAAJzT,EAASA,KACVD,EAAOga,EAAU/Z,OAChBI,GAAUA,EAAQL,EAAMiF,EAASqU,MACtCW,EAAa9L,KAAMnO,GACdka,GACJ3L,EAAIJ,KAAMlO,GAMd,OAAOga,GAGR,QAASE,GAAYC,EAAW7H,EAAU0G,EAASoB,EAAYC,EAAYC,GAO1E,MANKF,KAAeA,EAAY1Y,KAC/B0Y,EAAaF,EAAYE,IAErBC,IAAeA,EAAY3Y,KAC/B2Y,EAAaH,EAAYG,EAAYC,IAE/B3C,EAAa,SAAU7B,EAAMX,EAASnQ,EAASqU,GACrD,GAAI5L,GAAMzN,EAAGD,EACZwa,KACAC,KACAC,EAActF,EAAQ/V,OAGtByE,EAAQiS,GAAQ8D,EAAkBtH,GAAY,IAAKtN,EAAQxF,UAAawF,GAAYA,MAGpF0V,GAAYP,IAAerE,GAASxD,EAEnCzO,EADAiW,EAAUjW,EAAO0W,EAAQJ,EAAWnV,EAASqU,GAG9CsB,EAAa3B,EAEZqB,IAAgBvE,EAAOqE,EAAYM,GAAeL,MAMjDjF,EACDuF,CAQF,IALK1B,GACJA,EAAS0B,EAAWC,EAAY3V,EAASqU,GAIrCe,EAMJ,IALA3M,EAAOqM,EAAUa,EAAYH,GAC7BJ,EAAY3M,KAAUzI,EAASqU,GAG/BrZ,EAAIyN,EAAKrO,OACDY,MACDD,EAAO0N,EAAKzN,MACjB2a,EAAYH,EAAQxa,MAAS0a,EAAWF,EAAQxa,IAAOD,GAK1D,IAAK+V,GACJ,GAAKuE,GAAcF,EAAY,CAC9B,GAAKE,EAAa,CAIjB,IAFA5M,KACAzN,EAAI2a,EAAWvb,OACPY,MACDD,EAAO4a,EAAW3a,KAEvByN,EAAKS,KAAOwM,EAAU1a,GAAKD,EAG7Bsa,GAAY,KAAOM,KAAkBlN,EAAM4L,GAK5C,IADArZ,EAAI2a,EAAWvb,OACPY,MACDD,EAAO4a,EAAW3a,MACtByN,EAAO4M,EAAaha,GAASyV,EAAM/V,GAASwa,EAAOva,IAAM,KAE1D8V,EAAKrI,KAAU0H,EAAQ1H,GAAQ1N,SAOlC4a,GAAab,EACZa,IAAexF,EACdwF,EAAW/G,OAAQ6G,EAAaE,EAAWvb,QAC3Cub,GAEGN,EACJA,EAAY,KAAMlF,EAASwF,EAAYtB,GAEvCnL,EAAK5G,MAAO6N,EAASwF,KAMzB,QAASC,GAAmB9B,GAwB3B,IAvBA,GAAI+B,GAAc7B,EAAStF,EAC1BD,EAAMqF,EAAO1Z,OACb0b,EAAkBrD,EAAKsD,SAAUjC,EAAO,GAAGzZ,MAC3C2b,EAAmBF,GAAmBrD,EAAKsD,SAAS,KACpD/a,EAAI8a,EAAkB,EAAI,EAG1BG,EAAelC,EAAe,SAAUhZ,GACvC,MAAOA,KAAS8a,GACdG,GAAkB,GACrBE,EAAkBnC,EAAe,SAAUhZ,GAC1C,MAAOM,IAASwa,EAAc9a,GAAS,IACrCib,GAAkB,GACrBrB,GAAa,SAAU5Z,EAAMiF,EAASqU,GACrC,GAAInU,IAAS4V,IAAqBzB,GAAOrU,IAAYmW,MACnDN,EAAe7V,GAASxF,SACxByb,EAAclb,EAAMiF,EAASqU,GAC7B6B,EAAiBnb,EAAMiF,EAASqU,GAGlC,OADAwB,GAAe,KACR3V,IAGGuO,EAAJzT,EAASA,IAChB,GAAMgZ,EAAUvB,EAAKsD,SAAUjC,EAAO9Y,GAAGX,MACxCsa,GAAaZ,EAAcW,EAAgBC,GAAYX,QACjD,CAIN,GAHAA,EAAUvB,EAAKrX,OAAQ0Y,EAAO9Y,GAAGX,MAAOiI,MAAO,KAAMwR,EAAO9Y,GAAGiI,SAG1D+Q,EAAStX,GAAY,CAGzB,IADAgS,IAAM1T,EACMyT,EAAJC,IACF+D,EAAKsD,SAAUjC,EAAOpF,GAAGrU,MADdqU,KAKjB,MAAOwG,GACNla,EAAI,GAAK0Z,EAAgBC,GACzB3Z,EAAI,GAAKiX,EAER6B,EAAOnR,MAAO,EAAG3H,EAAI,GAAI6K,QAAS9C,MAAgC,MAAzB+Q,EAAQ9Y,EAAI,GAAIX,KAAe,IAAM,MAC7E4C,QAASuQ,GAAO,MAClBwG,EACItF,EAAJ1T,GAAS4a,EAAmB9B,EAAOnR,MAAO3H,EAAG0T,IACzCD,EAAJC,GAAWkH,EAAoB9B,EAASA,EAAOnR,MAAO+L,IAClDD,EAAJC,GAAWuD,EAAY6B,IAGzBa,EAASzL,KAAM8K,GAIjB,MAAOU,GAAgBC,GAGxB,QAASyB,GAA0BC,EAAiBC,GACnD,GAAIC,GAAQD,EAAYlc,OAAS,EAChCoc,EAAYH,EAAgBjc,OAAS,EACrCqc,EAAe,SAAU3F,EAAM9Q,EAASqU,EAAKlE,EAASuG,GACrD,GAAI3b,GAAM2T,EAAGsF,EACZ2C,EAAe,EACf3b,EAAI,IACJ+Z,EAAYjE,MACZ8F,KACAC,EAAgBV,EAEhBtX,EAAQiS,GAAQ0F,GAAa/D,EAAKqE,KAAU,IAAG,IAAKJ,GAEpDK,EAAiBtC,GAA4B,MAAjBoC,EAAwB,EAAI1T,KAAK8L,UAAY,GACzER,EAAM5P,EAAMzE,MAUb,KARKsc,IACJP,EAAmBnW,IAAYpG,GAAYoG,GAOpChF,IAAMyT,GAA4B,OAApB1T,EAAO8D,EAAM7D,IAAaA,IAAM,CACrD,GAAKwb,GAAazb,EAAO,CAExB,IADA2T,EAAI,EACKsF,EAAUqC,EAAgB3H,MAClC,GAAKsF,EAASjZ,EAAMiF,EAASqU,GAAQ,CACpClE,EAAQjH,KAAMnO,EACd,OAGG2b,IACJjC,EAAUsC,GAKPR,KAEExb,GAAQiZ,GAAWjZ,IACxB4b,IAII7F,GACJiE,EAAU7L,KAAMnO,IAOnB,GADA4b,GAAgB3b,EACXub,GAASvb,IAAM2b,EAAe,CAElC,IADAjI,EAAI,EACKsF,EAAUsC,EAAY5H,MAC9BsF,EAASe,EAAW6B,EAAY5W,EAASqU,EAG1C,IAAKvD,EAAO,CAEX,GAAK6F,EAAe,EACnB,KAAQ3b,KACA+Z,EAAU/Z,IAAM4b,EAAW5b,KACjC4b,EAAW5b,GAAKgc,EAAI/b,KAAMkV,GAM7ByG,GAAa9B,EAAU8B,GAIxB1N,EAAK5G,MAAO6N,EAASyG,GAGhBF,IAAc5F,GAAQ8F,EAAWxc,OAAS,GAC5Cuc,EAAeL,EAAYlc,OAAW,GAExCyW,EAAOoG,WAAY9G,GAUrB,MALKuG,KACJjC,EAAUsC,EACVZ,EAAmBU,GAGb9B,EAGT,OAAOwB,GACN5D,EAAc8D,GACdA,EA50DF,GAAIzb,GACH+I,EACA0O,EACAyE,EACAC,EACArF,EACAsF,EACA9E,EACA6D,EACAkB,EACAC,EAGAhG,EACA1X,EACA2d,EACAhG,EACAM,EACA2F,EACAvU,EACAjB,EAGAtF,EAAU,SAAW,EAAI,GAAIkU,MAC7BS,EAAetX,EAAOH,SACtB6a,EAAU,EACVtN,EAAO,EACPsQ,EAAalF,IACbmF,EAAanF,IACboF,EAAgBpF,IAChBqF,EAAY,SAAU1E,EAAGC,GAIxB,MAHKD,KAAMC,IACVmE,GAAe,GAET,GAIRhE,EAAe,GAAK,GAGpBnG,KAAcC,eACdJ,KACAgK,EAAMhK,EAAIgK,IACVa,EAAc7K,EAAI9D,KAClBA,EAAO8D,EAAI9D,KACXvG,EAAQqK,EAAIrK,MAGZtH,GAAU,SAAUyc,EAAM/c,GAGzB,IAFA,GAAIC,GAAI,EACPyT,EAAMqJ,EAAK1d,OACAqU,EAAJzT,EAASA,IAChB,GAAK8c,EAAK9c,KAAOD,EAChB,MAAOC,EAGT,OAAO,IAGR+c,GAAW,6HAKXC,GAAa,sBAEbC,GAAoB,mCAKpBC,GAAaD,GAAkBhb,QAAS,IAAK,MAG7Ckb,GAAa,MAAQH,GAAa,KAAOC,GAAoB,OAASD,GAErE,gBAAkBA,GAElB,2DAA6DE,GAAa,OAASF,GACnF,OAEDI,GAAU,KAAOH,GAAoB,wFAKPE,GAAa,eAM3CE,GAAc,GAAIC,QAAQN,GAAa,IAAK,KAC5CxK,GAAQ,GAAI8K,QAAQ,IAAMN,GAAa,8BAAgCA,GAAa,KAAM,KAE1FO,GAAS,GAAID,QAAQ,IAAMN,GAAa,KAAOA,GAAa,KAC5DQ,GAAe,GAAIF,QAAQ,IAAMN,GAAa,WAAaA,GAAa,IAAMA,GAAa,KAE3FS,GAAmB,GAAIH,QAAQ,IAAMN,GAAa,iBAAmBA,GAAa,OAAQ,KAE1FU,GAAU,GAAIJ,QAAQF,IACtBO,GAAc,GAAIL,QAAQ,IAAMJ,GAAa,KAE7CU,IACCC,GAAM,GAAIP,QAAQ,MAAQL,GAAoB,KAC9Ca,MAAS,GAAIR,QAAQ,QAAUL,GAAoB,KACnDc,IAAO,GAAIT,QAAQ,KAAOL,GAAkBhb,QAAS,IAAK,MAAS,KACnE+b,KAAQ,GAAIV,QAAQ,IAAMH,IAC1Bc,OAAU,GAAIX,QAAQ,IAAMF,IAC5Bc,MAAS,GAAIZ,QAAQ,yDAA2DN,GAC/E,+BAAiCA,GAAa,cAAgBA,GAC9D,aAAeA,GAAa,SAAU,KACvCmB,KAAQ,GAAIb,QAAQ,OAASP,GAAW,KAAM,KAG9CqB,aAAgB,GAAId,QAAQ,IAAMN,GAAa,mDAC9CA,GAAa,mBAAqBA,GAAa,mBAAoB,MAGrEqB,GAAU,sCACVC,GAAU,SAEVC,GAAU,yBAGV/H,GAAa,mCAEbU,GAAW,OACXH,GAAU,QAGVyH,GAAY,GAAIlB,QAAQ,qBAAuBN,GAAa,MAAQA,GAAa,OAAQ,MACzFyB,GAAY,SAAUzd,EAAG0d,EAASC,GACjC,GAAIC,GAAO,KAAOF,EAAU,KAI5B,OAAOE,KAASA,GAAQD,EACvBD,EACO,EAAPE,EAECC,OAAOC,aAAcF,EAAO,OAE5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,QAO5DG,GAAgB,WACfzI,IAIF,KACCpI,EAAK5G,MACH0K,EAAMrK,EAAM1H,KAAMoW,EAAa2I,YAChC3I,EAAa2I,YAIdhN,EAAKqE,EAAa2I,WAAW5f,QAASI,SACrC,MAAQ+C,IACT2L,GAAS5G,MAAO0K,EAAI5S,OAGnB,SAAUyQ,EAAQoP,GACjBpC,EAAYvV,MAAOuI,EAAQlI,EAAM1H,KAAKgf,KAKvC,SAAUpP,EAAQoP,GAIjB,IAHA,GAAIvL,GAAI7D,EAAOzQ,OACdY,EAAI,EAEI6P,EAAO6D,KAAOuL,EAAIjf,OAC3B6P,EAAOzQ,OAASsU,EAAI,IAoQvB3K,EAAU8M,EAAO9M,WAOjBoT,EAAQtG,EAAOsG,MAAQ,SAAUpc,GAGhC,GAAIsG,GAAkBtG,IAASA,EAAKsD,eAAiBtD,GAAMsG,eAC3D,OAAOA,GAA+C,SAA7BA,EAAgBpD,UAAsB,GAQhEqT,EAAcT,EAAOS,YAAc,SAAU4I,GAC5C,GAAIC,GAAYC,EACf1Z,EAAMwZ,EAAOA,EAAK7b,eAAiB6b,EAAO7I,CAG3C,OAAK3Q,KAAQ9G,GAA6B,IAAjB8G,EAAIlG,UAAmBkG,EAAIW,iBAKpDzH,EAAW8G,EACX6W,EAAU7W,EAAIW,gBACd+Y,EAAS1Z,EAAIqM,YAMRqN,GAAUA,IAAWA,EAAOC,MAE3BD,EAAOE,iBACXF,EAAOE,iBAAkB,SAAUP,IAAe,GACvCK,EAAOG,aAClBH,EAAOG,YAAa,WAAYR,KAMlCxI,GAAkB4F,EAAOzW,GAQzBqD,EAAQoU,WAAavF,EAAO,SAAUC,GAErC,MADAA,GAAI2H,UAAY,KACR3H,EAAIzV,aAAa,eAO1B2G,EAAQ5F,qBAAuByU,EAAO,SAAUC,GAE/C,MADAA,GAAIzU,YAAasC,EAAI+Z,cAAc,MAC3B5H,EAAI1U,qBAAqB,KAAK/D,SAIvC2J,EAAQ4N,uBAAyB4H,GAAQpe,KAAMuF,EAAIiR,wBAMnD5N,EAAQ2W,QAAU9H,EAAO,SAAUC,GAElC,MADA0E,GAAQnZ,YAAayU,GAAMnB,GAAKhV,GACxBgE,EAAIia,oBAAsBja,EAAIia,kBAAmBje,GAAUtC,SAI/D2J,EAAQ2W,SACZjI,EAAKqE,KAAS,GAAI,SAAUpF,EAAI1R,GAC/B,GAAuC,mBAA3BA,GAAQyR,gBAAkCF,EAAiB,CACtE,GAAIR,GAAI/Q,EAAQyR,eAAgBC,EAGhC,OAAOX,IAAKA,EAAEhB,YAAegB,QAG/B0B,EAAKrX,OAAW,GAAI,SAAUsW,GAC7B,GAAIkJ,GAASlJ,EAAGzU,QAASuc,GAAWC,GACpC,OAAO,UAAU1e,GAChB,MAAOA,GAAKqC,aAAa,QAAUwd,YAM9BnI,GAAKqE,KAAS,GAErBrE,EAAKrX,OAAW,GAAK,SAAUsW,GAC9B,GAAIkJ,GAASlJ,EAAGzU,QAASuc,GAAWC,GACpC,OAAO,UAAU1e,GAChB,GAAImf,GAAwC,mBAA1Bnf,GAAK8f,kBAAoC9f,EAAK8f,iBAAiB,KACjF,OAAOX,IAAQA,EAAKnX,QAAU6X,KAMjCnI,EAAKqE,KAAU,IAAI/S,EAAQ5F,qBAC1B,SAAU8B,EAAKD,GACd,MAA6C,mBAAjCA,GAAQ7B,qBACZ6B,EAAQ7B,qBAAsB8B,GAG1B8D,EAAQ6N,IACZ5R,EAAQG,iBAAkBF,GAD3B,QAKR,SAAUA,EAAKD,GACd,GAAIjF,GACHmR,KACAlR,EAAI,EAEJmV,EAAUnQ,EAAQ7B,qBAAsB8B,EAGzC,IAAa,MAARA,EAAc,CAClB,KAASlF,EAAOoV,EAAQnV,MACA,IAAlBD,EAAKP,UACT0R,EAAIhD,KAAMnO,EAIZ,OAAOmR,GAER,MAAOiE,IAITsC,EAAKqE,KAAY,MAAI/S,EAAQ4N,wBAA0B,SAAU6I,EAAWxa,GAC3E,MAAKuR,GACGvR,EAAQ2R,uBAAwB6I,GADxC,QAWDhD,KAOA3F,MAEM9N,EAAQ6N,IAAM2H,GAAQpe,KAAMuF,EAAIP,qBAGrCyS,EAAO,SAAUC,GAMhB0E,EAAQnZ,YAAayU,GAAMiI,UAAY,UAAYpe,EAAU,qBAC3CA,EAAU,iEAOvBmW,EAAI1S,iBAAiB,wBAAwB/F,QACjDyX,EAAU3I,KAAM,SAAW8O,GAAa,gBAKnCnF,EAAI1S,iBAAiB,cAAc/F,QACxCyX,EAAU3I,KAAM,MAAQ8O,GAAa,aAAeD,GAAW,KAI1DlF,EAAI1S,iBAAkB,QAAUzD,EAAU,MAAOtC,QACtDyX,EAAU3I,KAAK,MAMV2J,EAAI1S,iBAAiB,YAAY/F,QACtCyX,EAAU3I,KAAK,YAMV2J,EAAI1S,iBAAkB,KAAOzD,EAAU,MAAOtC,QACnDyX,EAAU3I,KAAK,cAIjB0J,EAAO,SAAUC,GAGhB,GAAIkI,GAAQra,EAAIpC,cAAc,QAC9Byc,GAAM/I,aAAc,OAAQ,UAC5Ba,EAAIzU,YAAa2c,GAAQ/I,aAAc,OAAQ,KAI1Ca,EAAI1S,iBAAiB,YAAY/F,QACrCyX,EAAU3I,KAAM,OAAS8O,GAAa,eAKjCnF,EAAI1S,iBAAiB,YAAY/F,QACtCyX,EAAU3I,KAAM,WAAY,aAI7B2J,EAAI1S,iBAAiB,QACrB0R,EAAU3I,KAAK,YAIXnF,EAAQiX,gBAAkBzB,GAAQpe,KAAO8H,EAAUsU,EAAQtU,SAChEsU,EAAQ0D,uBACR1D,EAAQ2D,oBACR3D,EAAQ4D,kBACR5D,EAAQ6D,qBAERxI,EAAO,SAAUC,GAGhB9O,EAAQsX,kBAAoBpY,EAAQhI,KAAM4X,EAAK,OAI/C5P,EAAQhI,KAAM4X,EAAK,aACnB2E,EAActO,KAAM,KAAMkP,MAI5BvG,EAAYA,EAAUzX,QAAU,GAAIke,QAAQzG,EAAUO,KAAK,MAC3DoF,EAAgBA,EAAcpd,QAAU,GAAIke,QAAQd,EAAcpF,KAAK,MAIvE+H,EAAaZ,GAAQpe,KAAMoc,EAAQ+D,yBAKnCtZ,EAAWmY,GAAcZ,GAAQpe,KAAMoc,EAAQvV,UAC9C,SAAUkR,EAAGC,GACZ,GAAIoI,GAAuB,IAAfrI,EAAE1Y,SAAiB0Y,EAAE7R,gBAAkB6R,EAClDsI,EAAMrI,GAAKA,EAAEpD,UACd,OAAOmD,KAAMsI,MAAWA,GAAwB,IAAjBA,EAAIhhB,YAClC+gB,EAAMvZ,SACLuZ,EAAMvZ,SAAUwZ,GAChBtI,EAAEoI,yBAA8D,GAAnCpI,EAAEoI,wBAAyBE,MAG3D,SAAUtI,EAAGC,GACZ,GAAKA,EACJ,KAASA,EAAIA,EAAEpD,YACd,GAAKoD,IAAMD,EACV,OAAO,CAIV,QAAO,GAOT0E,EAAYuC,EACZ,SAAUjH,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,MADAmE,IAAe,EACR,CAIR,IAAImE,IAAWvI,EAAEoI,yBAA2BnI,EAAEmI,uBAC9C,OAAKG,GACGA,GAIRA,GAAYvI,EAAE7U,eAAiB6U,MAAUC,EAAE9U,eAAiB8U,GAC3DD,EAAEoI,wBAAyBnI,GAG3B,EAGc,EAAVsI,IACF1X,EAAQ2X,cAAgBvI,EAAEmI,wBAAyBpI,KAAQuI,EAGxDvI,IAAMxS,GAAOwS,EAAE7U,gBAAkBgT,GAAgBrP,EAASqP,EAAc6B,GACrE,GAEHC,IAAMzS,GAAOyS,EAAE9U,gBAAkBgT,GAAgBrP,EAASqP,EAAc8B,GACrE,EAIDkE,EACJhc,GAASgc,EAAWnE,GAAM7X,GAASgc,EAAWlE,GAChD,EAGe,EAAVsI,EAAc,GAAK,IAE3B,SAAUvI,EAAGC,GAEZ,GAAKD,IAAMC,EAEV,MADAmE,IAAe,EACR,CAGR,IAAI/b,GACHP,EAAI,EACJ2gB,EAAMzI,EAAEnD,WACRyL,EAAMrI,EAAEpD,WACR6L,GAAO1I,GACP2I,GAAO1I,EAGR,KAAMwI,IAAQH,EACb,MAAOtI,KAAMxS,EAAM,GAClByS,IAAMzS,EAAM,EACZib,EAAM,GACNH,EAAM,EACNnE,EACEhc,GAASgc,EAAWnE,GAAM7X,GAASgc,EAAWlE,GAChD,CAGK,IAAKwI,IAAQH,EACnB,MAAOvI,GAAcC,EAAGC,EAKzB,KADA5X,EAAM2X,EACG3X,EAAMA,EAAIwU,YAClB6L,EAAG1R,QAAS3O,EAGb,KADAA,EAAM4X,EACG5X,EAAMA,EAAIwU,YAClB8L,EAAG3R,QAAS3O,EAIb,MAAQqgB,EAAG5gB,KAAO6gB,EAAG7gB,IACpBA,GAGD,OAAOA,GAENiY,EAAc2I,EAAG5gB,GAAI6gB,EAAG7gB,IAGxB4gB,EAAG5gB,KAAOqW,EAAe,GACzBwK,EAAG7gB,KAAOqW,EAAe,EACzB,GAGK3Q,GA1WC9G,GA6WTiX,EAAO5N,QAAU,SAAU6Y,EAAMphB,GAChC,MAAOmW,GAAQiL,EAAM,KAAM,KAAMphB,IAGlCmW,EAAOmK,gBAAkB,SAAUjgB,EAAM+gB,GASxC,IAPO/gB,EAAKsD,eAAiBtD,KAAWnB,GACvC0X,EAAavW,GAId+gB,EAAOA,EAAK7e,QAASwb,GAAkB,UAElC1U,EAAQiX,iBAAmBzJ,KAC5BiG,IAAkBA,EAAcrc,KAAM2gB,OACtCjK,IAAkBA,EAAU1W,KAAM2gB,IAErC,IACC,GAAI5b,GAAM+C,EAAQhI,KAAMF,EAAM+gB,EAG9B,IAAK5b,GAAO6D,EAAQsX,mBAGlBtgB,EAAKnB,UAAuC,KAA3BmB,EAAKnB,SAASY,SAChC,MAAO0F,GAEP,MAAO3C,IAGV,MAAOsT,GAAQiL,EAAMliB,EAAU,MAAQmB,IAASX,OAAS,GAG1DyW,EAAO7O,SAAW,SAAUhC,EAASjF,GAKpC,OAHOiF,EAAQ3B,eAAiB2B,KAAcpG,GAC7C0X,EAAatR,GAEPgC,EAAUhC,EAASjF,IAG3B8V,EAAOkL,KAAO,SAAUhhB,EAAMgC,IAEtBhC,EAAKsD,eAAiBtD,KAAWnB,GACvC0X,EAAavW,EAGd,IAAIwS,GAAKkF,EAAKO,WAAYjW,EAAKI,eAE9BsG,EAAM8J,GAAMJ,EAAOlS,KAAMwX,EAAKO,WAAYjW,EAAKI,eAC9CoQ,EAAIxS,EAAMgC,GAAOwU,GACjBvU,MAEF,OAAeA,UAARyG,EACNA,EACAM,EAAQoU,aAAe5G,EACtBxW,EAAKqC,aAAcL,IAClB0G,EAAM1I,EAAK8f,iBAAiB9d,KAAU0G,EAAIuY,UAC1CvY,EAAIV,MACJ,MAGJ8N,EAAOrE,MAAQ,SAAU2C,GACxB,KAAM,IAAIrV,OAAO,0CAA4CqV,IAO9D0B,EAAOoG,WAAa,SAAU9G,GAC7B,GAAIpV,GACHkhB,KACAvN,EAAI,EACJ1T,EAAI,CAOL,IAJAsc,GAAgBvT,EAAQmY,iBACxB7E,GAAatT,EAAQoY,YAAchM,EAAQxN,MAAO,GAClDwN,EAAQxB,KAAMiJ,GAETN,EAAe,CACnB,KAASvc,EAAOoV,EAAQnV,MAClBD,IAASoV,EAASnV,KACtB0T,EAAIuN,EAAW/S,KAAMlO,GAGvB,MAAQ0T,KACPyB,EAAQvB,OAAQqN,EAAYvN,GAAK,GAQnC,MAFA2I,GAAY,KAELlH,GAOR+G,EAAUrG,EAAOqG,QAAU,SAAUnc,GACpC,GAAImf,GACHha,EAAM,GACNlF,EAAI,EACJR,EAAWO,EAAKP,QAEjB,IAAMA,GAMC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAGjE,GAAiC,gBAArBO,GAAKqhB,YAChB,MAAOrhB,GAAKqhB,WAGZ,KAAMrhB,EAAOA,EAAKmD,WAAYnD,EAAMA,EAAOA,EAAKwY,YAC/CrT,GAAOgX,EAASnc,OAGZ,IAAkB,IAAbP,GAA+B,IAAbA,EAC7B,MAAOO,GAAKshB,cAhBZ,MAASnC,EAAOnf,EAAKC,MAEpBkF,GAAOgX,EAASgD,EAkBlB,OAAOha,IAGRuS,EAAO5B,EAAOyL,WAGb5J,YAAa,GAEb6J,aAAc5J,EAEd7W,MAAO8c,GAEP5F,cAEA8D,QAEAf,UACCyG,KAAOhhB,IAAK,aAAc8S,OAAO,GACjCmO,KAAOjhB,IAAK,cACZkhB,KAAOlhB,IAAK,kBAAmB8S,OAAO,GACtCqO,KAAOnhB,IAAK,oBAGb2Z,WACC6D,KAAQ,SAAUld,GAUjB,MATAA,GAAM,GAAKA,EAAM,GAAGmB,QAASuc,GAAWC,IAGxC3d,EAAM,IAAOA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAM,IAAKmB,QAASuc,GAAWC,IAExD,OAAb3d,EAAM,KACVA,EAAM,GAAK,IAAMA,EAAM,GAAK,KAGtBA,EAAM6G,MAAO,EAAG,IAGxBuW,MAAS,SAAUpd,GA6BlB,MAlBAA,GAAM,GAAKA,EAAM,GAAGqB,cAEY,QAA3BrB,EAAM,GAAG6G,MAAO,EAAG,IAEjB7G,EAAM,IACX+U,EAAOrE,MAAO1Q,EAAM,IAKrBA,EAAM,KAAQA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAAK,GAAmB,SAAbA,EAAM,IAA8B,QAAbA,EAAM,KACzFA,EAAM,KAAUA,EAAM,GAAKA,EAAM,IAAqB,QAAbA,EAAM,KAGpCA,EAAM,IACjB+U,EAAOrE,MAAO1Q,EAAM,IAGdA,GAGRmd,OAAU,SAAUnd,GACnB,GAAI8gB,GACHC,GAAY/gB,EAAM,IAAMA,EAAM,EAE/B,OAAK8c,IAAiB,MAAEzd,KAAMW,EAAM,IAC5B,MAIHA,EAAM,GACVA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAGxB+gB,GAAYnE,GAAQvd,KAAM0hB,KAEpCD,EAAS9K,EAAU+K,GAAU,MAE7BD,EAASC,EAASxhB,QAAS,IAAKwhB,EAASziB,OAASwiB,GAAWC,EAASziB,UAGvE0B,EAAM,GAAKA,EAAM,GAAG6G,MAAO,EAAGia,GAC9B9gB,EAAM,GAAK+gB,EAASla,MAAO,EAAGia,IAIxB9gB,EAAM6G,MAAO,EAAG,MAIzBvH,QAEC2d,IAAO,SAAU+D,GAChB,GAAI7e,GAAW6e,EAAiB7f,QAASuc,GAAWC,IAAYtc,aAChE,OAA4B,MAArB2f,EACN,WAAa,OAAO,GACpB,SAAU/hB,GACT,MAAOA,GAAKkD,UAAYlD,EAAKkD,SAASd,gBAAkBc,IAI3D6a,MAAS,SAAU0B,GAClB,GAAIuC,GAAUtF,EAAY+C,EAAY,IAEtC,OAAOuC,KACLA,EAAU,GAAIzE,QAAQ,MAAQN,GAAa,IAAMwC,EAAY,IAAMxC,GAAa,SACjFP,EAAY+C,EAAW,SAAUzf,GAChC,MAAOgiB,GAAQ5hB,KAAgC,gBAAnBJ,GAAKyf,WAA0Bzf,EAAKyf,WAA0C,mBAAtBzf,GAAKqC,cAAgCrC,EAAKqC,aAAa,UAAY,OAI1J4b,KAAQ,SAAUjc,EAAMigB,EAAUC,GACjC,MAAO,UAAUliB,GAChB,GAAIgN,GAAS8I,EAAOkL,KAAMhhB,EAAMgC,EAEhC,OAAe,OAAVgL,EACgB,OAAbiV,EAEFA,GAINjV,GAAU,GAEU,MAAbiV,EAAmBjV,IAAWkV,EACvB,OAAbD,EAAoBjV,IAAWkV,EAClB,OAAbD,EAAoBC,GAAqC,IAA5BlV,EAAO1M,QAAS4hB,GAChC,OAAbD,EAAoBC,GAASlV,EAAO1M,QAAS4hB,GAAU,GAC1C,OAAbD,EAAoBC,GAASlV,EAAOpF,OAAQsa,EAAM7iB,UAAa6iB,EAClD,OAAbD,GAAsB,IAAMjV,EAAO9K,QAASob,GAAa,KAAQ,KAAMhd,QAAS4hB,GAAU,GAC7E,OAAbD,EAAoBjV,IAAWkV,GAASlV,EAAOpF,MAAO,EAAGsa,EAAM7iB,OAAS,KAAQ6iB,EAAQ,KACxF,IAZO,IAgBV/D,MAAS,SAAU7e,EAAM6iB,EAAMvJ,EAAUrF,EAAOE,GAC/C,GAAI2O,GAAgC,QAAvB9iB,EAAKsI,MAAO,EAAG,GAC3Bya,EAA+B,SAArB/iB,EAAKsI,MAAO,IACtB0a,EAAkB,YAATH,CAEV,OAAiB,KAAV5O,GAAwB,IAATE,EAGrB,SAAUzT,GACT,QAASA,EAAKgV,YAGf,SAAUhV,EAAMiF,EAASqU,GACxB,GAAI7X,GAAO+X,EAAY2F,EAAM9G,EAAMkK,EAAWhW,EAC7C9L,EAAM2hB,IAAWC,EAAU,cAAgB,kBAC3ChD,EAASrf,EAAKgV,WACdhT,EAAOsgB,GAAUtiB,EAAKkD,SAASd,cAC/BogB,GAAYlJ,IAAQgJ,CAErB,IAAKjD,EAAS,CAGb,GAAK+C,EAAS,CACb,KAAQ3hB,GAAM,CAEb,IADA0e,EAAOnf,EACEmf,EAAOA,EAAM1e,IACrB,GAAK6hB,EAASnD,EAAKjc,SAASd,gBAAkBJ,EAAyB,IAAlBmd,EAAK1f,SACzD,OAAO,CAIT8M,GAAQ9L,EAAe,SAATnB,IAAoBiN,GAAS,cAE5C,OAAO,EAMR,GAHAA,GAAU8V,EAAUhD,EAAOlc,WAAakc,EAAOoD,WAG1CJ,GAAWG,GAQf,IANAhJ,EAAa6F,EAAQ1d,KAAc0d,EAAQ1d,OAC3CF,EAAQ+X,EAAYla,OACpBijB,EAAY9gB,EAAM,KAAOiY,GAAWjY,EAAM,GAC1C4W,EAAO5W,EAAM,KAAOiY,GAAWjY,EAAM,GACrC0d,EAAOoD,GAAalD,EAAOJ,WAAYsD,GAE9BpD,IAASoD,GAAapD,GAAQA,EAAM1e,KAG3C4X,EAAOkK,EAAY,IAAMhW,EAAM0P,OAGhC,GAAuB,IAAlBkD,EAAK1f,YAAoB4Y,GAAQ8G,IAASnf,EAAO,CACrDwZ,EAAYla,IAAWoa,EAAS6I,EAAWlK,EAC3C,YAKI,IAAKmK,IAAa/gB,GAASzB,EAAM2B,KAAc3B,EAAM2B,QAAkBrC,KAAWmC,EAAM,KAAOiY,EACrGrB,EAAO5W,EAAM,OAKb,OAAS0d,IAASoD,GAAapD,GAAQA,EAAM1e,KAC3C4X,EAAOkK,EAAY,IAAMhW,EAAM0P,UAEzBqG,EAASnD,EAAKjc,SAASd,gBAAkBJ,EAAyB,IAAlBmd,EAAK1f,cAAsB4Y,IAE5EmK,KACHrD,EAAMxd,KAAcwd,EAAMxd,QAAkBrC,IAAWoa,EAASrB,IAG7D8G,IAASnf,MASjB,MADAqY,IAAQ5E,EACD4E,IAAS9E,GAAW8E,EAAO9E,IAAU,GAAK8E,EAAO9E,GAAS,KAKrE2K,OAAU,SAAUwE,EAAQ9J,GAK3B,GAAItF,GACHd,EAAKkF,EAAK2F,QAASqF,IAAYhL,EAAKoB,WAAY4J,EAAOtgB,gBACtD0T,EAAOrE,MAAO,uBAAyBiR,EAKzC,OAAKlQ,GAAI7Q,GACD6Q,EAAIoG,GAIPpG,EAAGnT,OAAS,GAChBiU,GAASoP,EAAQA,EAAQ,GAAI9J,GACtBlB,EAAKoB,WAAWzG,eAAgBqQ,EAAOtgB,eAC7CwV,EAAa,SAAU7B,EAAM7N,GAI5B,IAHA,GAAIya,GACHC,EAAUpQ,EAAIuD,EAAM6C,GACpB3Y,EAAI2iB,EAAQvjB,OACLY,KACP0iB,EAAMriB,GAASyV,EAAM6M,EAAQ3iB,IAC7B8V,EAAM4M,KAAWza,EAASya,GAAQC,EAAQ3iB,MAG5C,SAAUD,GACT,MAAOwS,GAAIxS,EAAM,EAAGsT,KAIhBd,IAIT6K,SAECxd,IAAO+X,EAAa,SAAUrF,GAI7B,GAAIyN,MACH5K,KACA6D,EAAUoD,EAAS9J,EAASrQ,QAASuQ,GAAO,MAE7C,OAAOwG,GAAStX,GACfiW,EAAa,SAAU7B,EAAM7N,EAASjD,EAASqU,GAM9C,IALA,GAAItZ,GACHga,EAAYf,EAASlD,EAAM,KAAMuD,MACjCrZ,EAAI8V,EAAK1W,OAGFY,MACDD,EAAOga,EAAU/Z,MACtB8V,EAAK9V,KAAOiI,EAAQjI,GAAKD,MAI5B,SAAUA,EAAMiF,EAASqU,GAKxB,MAJA0G,GAAM,GAAKhgB,EACXiZ,EAAS+G,EAAO,KAAM1G,EAAKlE,GAE3B4K,EAAM,GAAK,MACH5K,EAAQ6G,SAInB4G,IAAOjL,EAAa,SAAUrF,GAC7B,MAAO,UAAUvS,GAChB,MAAO8V,GAAQvD,EAAUvS,GAAOX,OAAS,KAI3C4H,SAAY2Q,EAAa,SAAU9C,GAElC,MADAA,GAAOA,EAAK5S,QAASuc,GAAWC,IACzB,SAAU1e,GAChB,OAASA,EAAKqhB,aAAerhB,EAAK8iB,WAAa3G,EAASnc,IAASM,QAASwU,GAAS,MAWrFiO,KAAQnL,EAAc,SAAUmL,GAM/B,MAJMnF,IAAYxd,KAAK2iB,GAAQ,KAC9BjN,EAAOrE,MAAO,qBAAuBsR,GAEtCA,EAAOA,EAAK7gB,QAASuc,GAAWC,IAAYtc,cACrC,SAAUpC,GAChB,GAAIgjB,EACJ,GACC,IAAMA,EAAWxM,EAChBxW,EAAK+iB,KACL/iB,EAAKqC,aAAa,aAAerC,EAAKqC,aAAa,QAGnD,MADA2gB,GAAWA,EAAS5gB,cACb4gB,IAAaD,GAA2C,IAAnCC,EAAS1iB,QAASyiB,EAAO,YAE5C/iB,EAAOA,EAAKgV,aAAiC,IAAlBhV,EAAKP,SAC3C,QAAO,KAKTqQ,OAAU,SAAU9P,GACnB,GAAIijB,GAAOjkB,EAAOkkB,UAAYlkB,EAAOkkB,SAASD,IAC9C,OAAOA,IAAQA,EAAKrb,MAAO,KAAQ5H,EAAK2W,IAGzCwM,KAAQ,SAAUnjB,GACjB,MAAOA,KAASwc,GAGjB4G,MAAS,SAAUpjB,GAClB,MAAOA,KAASnB,EAASiE,iBAAmBjE,EAASwkB,UAAYxkB,EAASwkB,gBAAkBrjB,EAAKV,MAAQU,EAAKsjB,OAAStjB,EAAKujB,WAI7HC,QAAW,SAAUxjB,GACpB,MAAOA,GAAKyjB,YAAa,GAG1BA,SAAY,SAAUzjB,GACrB,MAAOA,GAAKyjB,YAAa,GAG1Bje,QAAW,SAAUxF,GAGpB,GAAIkD,GAAWlD,EAAKkD,SAASd,aAC7B,OAAqB,UAAbc,KAA0BlD,EAAKwF,SAA0B,WAAbtC,KAA2BlD,EAAKuP,UAGrFA,SAAY,SAAUvP,GAOrB,MAJKA,GAAKgV,YACThV,EAAKgV,WAAW0O,cAGV1jB,EAAKuP,YAAa,GAI1B3D,MAAS,SAAU5L,GAKlB,IAAMA,EAAOA,EAAKmD,WAAYnD,EAAMA,EAAOA,EAAKwY,YAC/C,GAAKxY,EAAKP,SAAW,EACpB,OAAO,CAGT,QAAO,GAGR4f,OAAU,SAAUrf,GACnB,OAAQ0X,EAAK2F,QAAe,MAAGrd,IAIhC2jB,OAAU,SAAU3jB,GACnB,MAAOue,IAAQne,KAAMJ,EAAKkD,WAG3B8c,MAAS,SAAUhgB,GAClB,MAAOse,IAAQle,KAAMJ,EAAKkD,WAG3B0gB,OAAU,SAAU5jB,GACnB,GAAIgC,GAAOhC,EAAKkD,SAASd,aACzB,OAAgB,UAATJ,GAAkC,WAAdhC,EAAKV,MAA8B,WAAT0C,GAGtD8S,KAAQ,SAAU9U,GACjB,GAAIghB,EACJ,OAAuC,UAAhChhB,EAAKkD,SAASd,eACN,SAAdpC,EAAKV,OAImC,OAArC0hB,EAAOhhB,EAAKqC,aAAa,UAA2C,SAAvB2e,EAAK5e,gBAIvDmR,MAASoF,EAAuB,WAC/B,OAAS,KAGVlF,KAAQkF,EAAuB,SAAUE,EAAcxZ,GACtD,OAASA,EAAS,KAGnBmU,GAAMmF,EAAuB,SAAUE,EAAcxZ,EAAQuZ,GAC5D,OAAoB,EAAXA,EAAeA,EAAWvZ,EAASuZ,KAG7CiL,KAAQlL,EAAuB,SAAUE,EAAcxZ,GAEtD,IADA,GAAIY,GAAI,EACIZ,EAAJY,EAAYA,GAAK,EACxB4Y,EAAa1K,KAAMlO,EAEpB,OAAO4Y,KAGRiL,IAAOnL,EAAuB,SAAUE,EAAcxZ,GAErD,IADA,GAAIY,GAAI,EACIZ,EAAJY,EAAYA,GAAK,EACxB4Y,EAAa1K,KAAMlO,EAEpB,OAAO4Y,KAGRkL,GAAMpL,EAAuB,SAAUE,EAAcxZ,EAAQuZ,GAE5D,IADA,GAAI3Y,GAAe,EAAX2Y,EAAeA,EAAWvZ,EAASuZ,IACjC3Y,GAAK,GACd4Y,EAAa1K,KAAMlO,EAEpB,OAAO4Y,KAGRmL,GAAMrL,EAAuB,SAAUE,EAAcxZ,EAAQuZ,GAE5D,IADA,GAAI3Y,GAAe,EAAX2Y,EAAeA,EAAWvZ,EAASuZ,IACjC3Y,EAAIZ,GACbwZ,EAAa1K,KAAMlO,EAEpB,OAAO4Y,OAKVnB,EAAK2F,QAAa,IAAI3F,EAAK2F,QAAY,EAGvC,KAAMpd,KAAOgkB,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5E3M,EAAK2F,QAASpd,GAAMwY,EAAmBxY,EAExC,KAAMA,KAAOqkB,QAAQ,EAAMC,OAAO,GACjC7M,EAAK2F,QAASpd,GAAMyY,EAAoBzY,EA4lBzC,OAvlBA6Y,GAAWjP,UAAY6N,EAAK8M,QAAU9M,EAAK2F,QAC3C3F,EAAKoB,WAAa,GAAIA,GAEtB/B,EAAWjB,EAAOiB,SAAW,SAAUxE,EAAUkS,GAChD,GAAI7B,GAAS7hB,EAAOgY,EAAQzZ,EAC3BolB,EAAOzO,EAAQ0O,EACfC,EAASjI,EAAYpK,EAAW,IAEjC,IAAKqS,EACJ,MAAOH,GAAY,EAAIG,EAAOhd,MAAO,EAOtC,KAJA8c,EAAQnS,EACR0D,KACA0O,EAAajN,EAAK0C,UAEVsK,GAAQ,GAGT9B,IAAY7hB,EAAQyc,GAAO7Z,KAAM+gB,OACjC3jB,IAEJ2jB,EAAQA,EAAM9c,MAAO7G,EAAM,GAAG1B,SAAYqlB,GAE3CzO,EAAO9H,KAAO4K,OAGf6J,GAAU,GAGJ7hB,EAAQ0c,GAAa9Z,KAAM+gB,MAChC9B,EAAU7hB,EAAM0P,QAChBsI,EAAO5K,MACNnG,MAAO4a,EAEPtjB,KAAMyB,EAAM,GAAGmB,QAASuQ,GAAO,OAEhCiS,EAAQA,EAAM9c,MAAOgb,EAAQvjB,QAI9B,KAAMC,IAAQoY,GAAKrX,SACZU,EAAQ8c,GAAWve,GAAOqE,KAAM+gB,KAAcC,EAAYrlB,MAC9DyB,EAAQ4jB,EAAYrlB,GAAQyB,MAC7B6hB,EAAU7hB,EAAM0P,QAChBsI,EAAO5K,MACNnG,MAAO4a,EACPtjB,KAAMA,EACN4I,QAASnH,IAEV2jB,EAAQA,EAAM9c,MAAOgb,EAAQvjB,QAI/B,KAAMujB,EACL,MAOF,MAAO6B,GACNC,EAAMrlB,OACNqlB,EACC5O,EAAOrE,MAAOc,GAEdoK,EAAYpK,EAAU0D,GAASrO,MAAO,IAwWzCyU,EAAUvG,EAAOuG,QAAU,SAAU9J,EAAUxR,GAC9C,GAAId,GACHsb,KACAD,KACAsJ,EAAShI,EAAerK,EAAW,IAEpC,KAAMqS,EAAS,CAMd,IAJM7jB,IACLA,EAAQgW,EAAUxE,IAEnBtS,EAAIc,EAAM1B,OACFY,KACP2kB,EAAS/J,EAAmB9Z,EAAMd,IAC7B2kB,EAAQjjB,GACZ4Z,EAAYpN,KAAMyW,GAElBtJ,EAAgBnN,KAAMyW,EAKxBA,GAAShI,EAAerK,EAAU8I,EAA0BC,EAAiBC,IAG7EqJ,EAAOrS,SAAWA,EAEnB,MAAOqS,IAYRrN,EAASzB,EAAOyB,OAAS,SAAUhF,EAAUtN,EAASmQ,EAASW,GAC9D,GAAI9V,GAAG8Y,EAAQ8L,EAAOvlB,EAAMyc,EAC3B+I,EAA+B,kBAAbvS,IAA2BA,EAC7CxR,GAASgV,GAAQgB,EAAWxE,EAAWuS,EAASvS,UAAYA,EAK7D,IAHA6C,EAAUA,MAGY,IAAjBrU,EAAM1B,OAAe,CAIzB,GADA0Z,EAAShY,EAAM,GAAKA,EAAM,GAAG6G,MAAO,GAC/BmR,EAAO1Z,OAAS,GAAkC,QAA5BwlB,EAAQ9L,EAAO,IAAIzZ,MAC5C0J,EAAQ2W,SAAgC,IAArB1a,EAAQxF,UAAkB+W,GAC7CkB,EAAKsD,SAAUjC,EAAO,GAAGzZ,MAAS,CAGnC,GADA2F,GAAYyS,EAAKqE,KAAS,GAAG8I,EAAM3c,QAAQ,GAAGhG,QAAQuc,GAAWC,IAAYzZ,QAAkB,IACzFA,EACL,MAAOmQ,EAGI0P,KACX7f,EAAUA,EAAQ+P,YAGnBzC,EAAWA,EAAS3K,MAAOmR,EAAOtI,QAAQzI,MAAM3I,QAKjD,IADAY,EAAI4d,GAAwB,aAAEzd,KAAMmS,GAAa,EAAIwG,EAAO1Z,OACpDY,MACP4kB,EAAQ9L,EAAO9Y,IAGVyX,EAAKsD,SAAW1b,EAAOulB,EAAMvlB,QAGlC,IAAMyc,EAAOrE,EAAKqE,KAAMzc,MAEjByW,EAAOgG,EACZ8I,EAAM3c,QAAQ,GAAGhG,QAASuc,GAAWC,IACrCvH,GAAS/W,KAAM2Y,EAAO,GAAGzZ,OAAU8X,EAAanS,EAAQ+P,aAAgB/P,IACpE,CAKJ,GAFA8T,EAAOlF,OAAQ5T,EAAG,GAClBsS,EAAWwD,EAAK1W,QAAU6X,EAAY6B,IAChCxG,EAEL,MADApE,GAAK5G,MAAO6N,EAASW,GACdX,CAGR,QAeJ,OAPE0P,GAAYzI,EAAS9J,EAAUxR,IAChCgV,EACA9Q,GACCuR,EACDpB,EACA+B,GAAS/W,KAAMmS,IAAc6E,EAAanS,EAAQ+P,aAAgB/P,GAE5DmQ,GAMRpM,EAAQoY,WAAazf,EAAQ4P,MAAM,IAAIqC,KAAMiJ,GAAYxF,KAAK,MAAQ1V,EAItEqH,EAAQmY,mBAAqB5E,EAG7BhG,IAIAvN,EAAQ2X,aAAe9I,EAAO,SAAUkN,GAEvC,MAAuE,GAAhEA,EAAKxE,wBAAyB1hB,EAAS0E,cAAc,UAMvDsU,EAAO,SAAUC,GAEtB,MADAA,GAAIiI,UAAY,mBAC+B,MAAxCjI,EAAI3U,WAAWd,aAAa,WAEnC0V,EAAW,yBAA0B,SAAU/X,EAAMgC,EAAMoa,GAC1D,MAAMA,GAAN,OACQpc,EAAKqC,aAAcL,EAA6B,SAAvBA,EAAKI,cAA2B,EAAI,KAOjE4G,EAAQoU,YAAevF,EAAO,SAAUC,GAG7C,MAFAA,GAAIiI,UAAY,WAChBjI,EAAI3U,WAAW8T,aAAc,QAAS,IACY,KAA3Ca,EAAI3U,WAAWd,aAAc,YAEpC0V,EAAW,QAAS,SAAU/X,EAAMgC,EAAMoa,GACzC,MAAMA,IAAyC,UAAhCpc,EAAKkD,SAASd,cAA7B,OACQpC,EAAKyF,eAOToS,EAAO,SAAUC,GACtB,MAAuC,OAAhCA,EAAIzV,aAAa,eAExB0V,EAAWiF,GAAU,SAAUhd,EAAMgC,EAAMoa,GAC1C,GAAI1T,EACJ,OAAM0T,GAAN,OACQpc,EAAMgC,MAAW,EAAOA,EAAKI,eACjCsG,EAAM1I,EAAK8f,iBAAkB9d,KAAW0G,EAAIuY,UAC7CvY,EAAIV,MACL,OAKG8N,GAEH9W,EAIJO,GAAOwc,KAAOjG,GACdvW,EAAOwhB,KAAOjL,GAAOyL,UACrBhiB,EAAOwhB,KAAK,KAAOxhB,EAAOwhB,KAAK1D,QAC/B9d,EAAOylB,OAASlP,GAAOoG,WACvB3c,EAAOuV,KAAOgB,GAAOqG,QACrB5c,EAAO0lB,SAAWnP,GAAOsG,MACzB7c,EAAO0H,SAAW6O,GAAO7O,QAIzB,IAAIie,IAAgB3lB,EAAOwhB,KAAKhgB,MAAMsd,aAElC8G,GAAa,6BAIbhlB,GAAY,gBAgChBZ,GAAOc,OAAS,SAAU0gB,EAAMjd,EAAOjE,GACtC,GAAIG,GAAO8D,EAAO,EAMlB,OAJKjE,KACJkhB,EAAO,QAAUA,EAAO,KAGD,IAAjBjd,EAAMzE,QAAkC,IAAlBW,EAAKP,SACjCF,EAAOwc,KAAKkE,gBAAiBjgB,EAAM+gB,IAAW/gB,MAC9CT,EAAOwc,KAAK7T,QAAS6Y,EAAMxhB,EAAOQ,KAAM+D,EAAO,SAAU9D,GACxD,MAAyB,KAAlBA,EAAKP,aAIfF,EAAOiT,GAAGzN,QACTgX,KAAM,SAAUxJ,GACf,GAAItS,GACHyT,EAAMzU,KAAKI,OACX8F,KACAigB,EAAOnmB,IAER,IAAyB,gBAAbsT,GACX,MAAOtT,MAAKkU,UAAW5T,EAAQgT,GAAWlS,OAAO,WAChD,IAAMJ,EAAI,EAAOyT,EAAJzT,EAASA,IACrB,GAAKV,EAAO0H,SAAUme,EAAMnlB,GAAKhB,MAChC,OAAO,IAMX,KAAMgB,EAAI,EAAOyT,EAAJzT,EAASA,IACrBV,EAAOwc,KAAMxJ,EAAU6S,EAAMnlB,GAAKkF,EAMnC,OAFAA,GAAMlG,KAAKkU,UAAWO,EAAM,EAAInU,EAAOylB,OAAQ7f,GAAQA,GACvDA,EAAIoN,SAAWtT,KAAKsT,SAAWtT,KAAKsT,SAAW,IAAMA,EAAWA,EACzDpN,GAER9E,OAAQ,SAAUkS,GACjB,MAAOtT,MAAKkU,UAAWzT,EAAOT,KAAMsT,OAAgB,KAErD1S,IAAK,SAAU0S,GACd,MAAOtT,MAAKkU,UAAWzT,EAAOT,KAAMsT,OAAgB,KAErD8S,GAAI,SAAU9S,GACb,QAAS7S,EACRT,KAIoB,gBAAbsT,IAAyB2S,GAAc9kB,KAAMmS,GACnDhT,EAAQgT,GACRA,OACD,GACClT,SASJ,IAAIimB,IAKH7O,GAAa,sCAEb3M,GAAOvK,EAAOiT,GAAG1I,KAAO,SAAUyI,EAAUtN,GAC3C,GAAIlE,GAAOf,CAGX,KAAMuS,EACL,MAAOtT,KAIR,IAAyB,gBAAbsT,GAAwB,CAUnC,GAPCxR,EAFoB,MAAhBwR,EAAS,IAAkD,MAApCA,EAAUA,EAASlT,OAAS,IAAekT,EAASlT,QAAU,GAE/E,KAAMkT,EAAU,MAGlBkE,GAAW9S,KAAM4O,IAIrBxR,IAAUA,EAAM,IAAOkE,EAgDrB,OAAMA,GAAWA,EAAQ8N,QACtB9N,GAAWqgB,IAAavJ,KAAMxJ,GAKhCtT,KAAK+T,YAAa/N,GAAU8W,KAAMxJ,EAnDzC,IAAKxR,EAAM,GAAK,CAYf,GAXAkE,EAAUA,YAAmB1F,GAAS0F,EAAQ,GAAKA,EAInD1F,EAAO8F,MAAOpG,KAAMM,EAAOgmB,UAC1BxkB,EAAM,GACNkE,GAAWA,EAAQxF,SAAWwF,EAAQ3B,eAAiB2B,EAAUpG,GACjE,IAIIsmB,GAAW/kB,KAAMW,EAAM,KAAQxB,EAAO0U,cAAehP,GACzD,IAAMlE,IAASkE,GAET1F,EAAOO,WAAYb,KAAM8B,IAC7B9B,KAAM8B,GAASkE,EAASlE,IAIxB9B,KAAK+hB,KAAMjgB,EAAOkE,EAASlE,GAK9B,OAAO9B,MAgBP,MAZAe,GAAOnB,EAAS6X,eAAgB3V,EAAM,IAIjCf,GAAQA,EAAKgV,aAEjB/V,KAAKI,OAAS,EACdJ,KAAK,GAAKe,GAGXf,KAAKgG,QAAUpG,EACfI,KAAKsT,SAAWA,EACTtT,KAcH,MAAKsT,GAAS9S,UACpBR,KAAKgG,QAAUhG,KAAK,GAAKsT,EACzBtT,KAAKI,OAAS,EACPJ,MAIIM,EAAOO,WAAYyS,GACK,mBAArB+S,IAAWjkB,MACxBikB,GAAWjkB,MAAOkR,GAElBA,EAAUhT,IAGe0C,SAAtBsQ,EAASA,WACbtT,KAAKsT,SAAWA,EAASA,SACzBtT,KAAKgG,QAAUsN,EAAStN,SAGlB1F,EAAO4V,UAAW5C,EAAUtT,OAIrC6K,IAAKD,UAAYtK,EAAOiT,GAGxB8S,GAAa/lB,EAAQV,EAGrB,IAAI2mB,IAAe,iCAElBC,IACCC,UAAU,EACVlV,UAAU,EACVmV,MAAM,EACNvU,MAAM,EAGR7R,GAAOwF,QACNtE,IAAK,SAAUT,EAAMS,EAAKmlB,GAIzB,IAHA,GAAIhD,MACHiD,EAAqB5jB,SAAV2jB,GAEH5lB,EAAOA,EAAMS,KAA4B,IAAlBT,EAAKP,UACpC,GAAuB,IAAlBO,EAAKP,SAAiB,CAC1B,GAAKomB,GAAYtmB,EAAQS,GAAOqlB,GAAIO,GACnC,KAEDhD,GAAQzU,KAAMnO,GAGhB,MAAO4iB,IAGRriB,QAAS,SAAUulB,EAAG9lB,GAGrB,IAFA,GAAI4iB,MAEIkD,EAAGA,EAAIA,EAAEtN,YACI,IAAfsN,EAAErmB,UAAkBqmB,IAAM9lB,GAC9B4iB,EAAQzU,KAAM2X,EAIhB,OAAOlD,MAITrjB,EAAOiT,GAAGzN,QACT8d,IAAK,SAAU/S,GACd,GAAIiW,GAAUxmB,EAAQuQ,EAAQ7Q,MAC7B+E,EAAI+hB,EAAQ1mB,MAEb,OAAOJ,MAAKoB,OAAO,WAElB,IADA,GAAIJ,GAAI,EACI+D,EAAJ/D,EAAOA,IACd,GAAKV,EAAO0H,SAAUhI,KAAM8mB,EAAQ9lB,IACnC,OAAO,KAMX+lB,QAAS,SAAUzE,EAAWtc,GAS7B,IARA,GAAIzE,GACHP,EAAI,EACJ+D,EAAI/E,KAAKI,OACTujB,KACAqD,EAAMf,GAAc9kB,KAAMmhB,IAAoC,gBAAdA,GAC/ChiB,EAAQgiB,EAAWtc,GAAWhG,KAAKgG,SACnC,EAEUjB,EAAJ/D,EAAOA,IACd,IAAMO,EAAMvB,KAAKgB,GAAIO,GAAOA,IAAQyE,EAASzE,EAAMA,EAAIwU,WAEtD,GAAKxU,EAAIf,SAAW,KAAOwmB,EAC1BA,EAAI1c,MAAM/I,GAAO,GAGA,IAAjBA,EAAIf,UACHF,EAAOwc,KAAKkE,gBAAgBzf,EAAK+gB,IAAc,CAEhDqB,EAAQzU,KAAM3N,EACd,OAKH,MAAOvB,MAAKkU,UAAWyP,EAAQvjB,OAAS,EAAIE,EAAOylB,OAAQpC,GAAYA,IAIxErZ,MAAO,SAAUvJ,GAGhB,MAAMA,GAKe,gBAATA,GACJM,EAAQJ,KAAMX,EAAQS,GAAQf,KAAM,IAIrCqB,EAAQJ,KAAMjB,KAGpBe,EAAK+S,OAAS/S,EAAM,GAAMA,GAZjBf,KAAM,IAAOA,KAAM,GAAI+V,WAAe/V,KAAKsU,QAAQ2S,UAAU7mB,OAAS,IAgBjFyF,IAAK,SAAUyN,EAAUtN,GACxB,MAAOhG,MAAKkU,UACX5T,EAAOylB,OACNzlB,EAAO8F,MAAOpG,KAAKyC,MAAOnC,EAAQgT,EAAUtN,OAK/CkhB,QAAS,SAAU5T,GAClB,MAAOtT,MAAK6F,IAAiB,MAAZyN,EAChBtT,KAAKmU,WAAanU,KAAKmU,WAAW/S,OAAOkS,OAU5ChT,EAAOuB,MACNue,OAAQ,SAAUrf,GACjB,GAAIqf,GAASrf,EAAKgV,UAClB,OAAOqK,IAA8B,KAApBA,EAAO5f,SAAkB4f,EAAS,MAEpD+G,QAAS,SAAUpmB,GAClB,MAAOT,GAAOkB,IAAKT,EAAM,eAE1BqmB,aAAc,SAAUrmB,EAAMC,EAAG2lB,GAChC,MAAOrmB,GAAOkB,IAAKT,EAAM,aAAc4lB,IAExCD,KAAM,SAAU3lB,GACf,MAAOO,GAASP,EAAM,gBAEvBoR,KAAM,SAAUpR,GACf,MAAOO,GAASP,EAAM,oBAEvBsmB,QAAS,SAAUtmB,GAClB,MAAOT,GAAOkB,IAAKT,EAAM,gBAE1BkmB,QAAS,SAAUlmB,GAClB,MAAOT,GAAOkB,IAAKT,EAAM,oBAE1BumB,UAAW,SAAUvmB,EAAMC,EAAG2lB,GAC7B,MAAOrmB,GAAOkB,IAAKT,EAAM,cAAe4lB,IAEzCY,UAAW,SAAUxmB,EAAMC,EAAG2lB,GAC7B,MAAOrmB,GAAOkB,IAAKT,EAAM,kBAAmB4lB,IAE7Ca,SAAU,SAAUzmB,GACnB,MAAOT,GAAOgB,SAAWP,EAAKgV,gBAAmB7R,WAAYnD,IAE9D0lB,SAAU,SAAU1lB,GACnB,MAAOT,GAAOgB,QAASP,EAAKmD,aAE7BqN,SAAU,SAAUxQ,GACnB,MAAOA,GAAKuG,iBAAmBhH,EAAO8F,SAAWrF,EAAKif,cAErD,SAAUjd,EAAMwQ,GAClBjT,EAAOiT,GAAIxQ,GAAS,SAAU4jB,EAAOrT,GACpC,GAAIqQ,GAAUrjB,EAAOgP,IAAKtP,KAAMuT,EAAIoT,EAsBpC,OApB0B,UAArB5jB,EAAK4F,MAAO,MAChB2K,EAAWqT,GAGPrT,GAAgC,gBAAbA,KACvBqQ,EAAUrjB,EAAOc,OAAQkS,EAAUqQ,IAG/B3jB,KAAKI,OAAS,IAEZomB,GAAkBzjB,IACvBzC,EAAOylB,OAAQpC,GAIX4C,GAAaplB,KAAM4B,IACvB4gB,EAAQ8D,WAIHznB,KAAKkU,UAAWyP,KAGzB,IAAI5hB,IAAY,OAKZH,KAiCJtB,GAAOonB,UAAY,SAAUhmB,GAI5BA,EAA6B,gBAAZA,GACdE,GAAcF,IAAaD,EAAeC,GAC5CpB,EAAOwF,UAAYpE,EAEpB,IACCimB,GAEAC,EAEAC,EAEAC,EAEAC,EAEAC,EAEAlK,KAEAmK,GAASvmB,EAAQwmB,SAEjBtb,EAAO,SAAU9J,GAOhB,IANA6kB,EAASjmB,EAAQimB,QAAU7kB,EAC3B8kB,GAAQ,EACRI,EAAcF,GAAe,EAC7BA,EAAc,EACdC,EAAejK,EAAK1d,OACpBynB,GAAS,EACD/J,GAAsBiK,EAAdC,EAA4BA,IAC3C,GAAKlK,EAAMkK,GAAc1f,MAAOxF,EAAM,GAAKA,EAAM,OAAU,GAASpB,EAAQymB,YAAc,CACzFR,GAAS,CACT,OAGFE,GAAS,EACJ/J,IACCmK,EACCA,EAAM7nB,QACVwM,EAAMqb,EAAMzW,SAEFmW,EACX7J,KAEAqI,EAAKiC,YAKRjC,GAECtgB,IAAK,WACJ,GAAKiY,EAAO,CAEX,GAAIxQ,GAAQwQ,EAAK1d,QACjB,QAAUyF,GAAKwO,GACd/T,EAAOuB,KAAMwS,EAAM,SAAUrS,EAAGyU,GAC/B,GAAIpW,GAAOC,EAAOD,KAAMoW,EACV,cAATpW,EACEqB,EAAQqkB,QAAWI,EAAKvC,IAAKnN,IAClCqH,EAAK5O,KAAMuH,GAEDA,GAAOA,EAAIrW,QAAmB,WAATC,GAEhCwF,EAAK4Q,MAGJlO,WAGCsf,EACJE,EAAejK,EAAK1d,OAGTunB,IACXG,EAAcxa,EACdV,EAAM+a,IAGR,MAAO3nB,OAGRqN,OAAQ,WAkBP,MAjBKyQ,IACJxd,EAAOuB,KAAM0G,UAAW,SAAUvG,EAAGyU,GAEpC,IADA,GAAInM,IACMA,EAAQhK,EAAO8V,QAASK,EAAKqH,EAAMxT,IAAY,IACxDwT,EAAKlJ,OAAQtK,EAAO,GAEfud,IACUE,GAATzd,GACJyd,IAEaC,GAAT1d,GACJ0d,OAMEhoB,MAIR4jB,IAAK,SAAUrQ,GACd,MAAOA,GAAKjT,EAAO8V,QAAS7C,EAAIuK,GAAS,MAASA,IAAQA,EAAK1d,SAGhEuM,MAAO,WAGN,MAFAmR,MACAiK,EAAe,EACR/nB,MAGRooB,QAAS,WAER,MADAtK,GAAOmK,EAAQN,EAAS3kB,OACjBhD,MAGRwkB,SAAU,WACT,OAAQ1G,GAGTuK,KAAM,WAKL,MAJAJ,GAAQjlB,OACF2kB,GACLxB,EAAKiC,UAECpoB,MAGRsoB,OAAQ,WACP,OAAQL,GAGTM,SAAU,SAAUviB,EAASqO,GAU5B,OATKyJ,GAAW8J,IAASK,IACxB5T,EAAOA,MACPA,GAASrO,EAASqO,EAAK1L,MAAQ0L,EAAK1L,QAAU0L,GACzCwT,EACJI,EAAM/Y,KAAMmF,GAEZzH,EAAMyH,IAGDrU,MAGR4M,KAAM,WAEL,MADAuZ,GAAKoC,SAAUvoB,KAAMuI,WACdvI,MAGR4nB,MAAO,WACN,QAASA,GAIZ,OAAOzB,IAIR7lB,EAAOwF,QAENqI,SAAU,SAAU4B,GACnB,GAAIyY,KAEA,UAAW,OAAQloB,EAAOonB,UAAU,eAAgB,aACpD,SAAU,OAAQpnB,EAAOonB,UAAU,eAAgB,aACnD,SAAU,WAAYpnB,EAAOonB,UAAU,YAE1CnV,EAAQ,UACRxD,GACCwD,MAAO,WACN,MAAOA,IAER1F,OAAQ,WAEP,MADAqB,GAASf,KAAM5E,WAAYoH,KAAMpH,WAC1BvI,MAERyoB,KAAM,WACL,GAAIC,GAAMngB,SACV,OAAOjI,GAAO6N,SAAS,SAAUwa,GAChCroB,EAAOuB,KAAM2mB,EAAQ,SAAUxnB,EAAG4nB,GACjC,GAAIrV,GAAKjT,EAAOO,WAAY6nB,EAAK1nB,KAAS0nB,EAAK1nB,EAE/CkN,GAAU0a,EAAM,IAAK,WACpB,GAAIC,GAAWtV,GAAMA,EAAGjL,MAAOtI,KAAMuI,UAChCsgB,IAAYvoB,EAAOO,WAAYgoB,EAAS9Z,SAC5C8Z,EAAS9Z,UACP5B,KAAMwb,EAASG,SACfnZ,KAAMgZ,EAASI,QACftZ,SAAUkZ,EAASK,QAErBL,EAAUC,EAAO,GAAM,QAAU5oB,OAAS+O,EAAU4Z,EAAS5Z,UAAY/O,KAAMuT,GAAOsV,GAAatgB,eAItGmgB,EAAM,OACJ3Z,WAIJA,QAAS,SAAU5O,GAClB,MAAc,OAAPA,EAAcG,EAAOwF,OAAQ3F,EAAK4O,GAAYA,IAGvDb,IAwCD,OArCAa,GAAQka,KAAOla,EAAQ0Z,KAGvBnoB,EAAOuB,KAAM2mB,EAAQ,SAAUxnB,EAAG4nB,GACjC,GAAI9K,GAAO8K,EAAO,GACjBM,EAAcN,EAAO,EAGtB7Z,GAAS6Z,EAAM,IAAO9K,EAAKjY,IAGtBqjB,GACJpL,EAAKjY,IAAI,WAER0M,EAAQ2W,GAGNV,EAAY,EAAJxnB,GAAS,GAAIonB,QAASI,EAAQ,GAAK,GAAIH,MAInDna,EAAU0a,EAAM,IAAO,WAEtB,MADA1a,GAAU0a,EAAM,GAAK,QAAU5oB,OAASkO,EAAWa,EAAU/O,KAAMuI,WAC5DvI,MAERkO,EAAU0a,EAAM,GAAK,QAAW9K,EAAKyK,WAItCxZ,EAAQA,QAASb,GAGZ6B,GACJA,EAAK9O,KAAMiN,EAAUA,GAIfA,GAIRib,KAAM,SAAUC,GACf,GAuBCC,GAAgBC,EAAkBC,EAvB/BvoB,EAAI,EACPwoB,EAAgB7gB,EAAM1H,KAAMsH,WAC5BnI,EAASopB,EAAcppB,OAGvBkO,EAAuB,IAAXlO,GAAkBgpB,GAAe9oB,EAAOO,WAAYuoB,EAAYra,SAAc3O,EAAS,EAGnG8N,EAAyB,IAAdI,EAAkB8a,EAAc9oB,EAAO6N,WAGlDsb,EAAa,SAAUzoB,EAAG6Z,EAAUxQ,GACnC,MAAO,UAAUtB,GAChB8R,EAAU7Z,GAAMhB,KAChBqK,EAAQrJ,GAAMuH,UAAUnI,OAAS,EAAIuI,EAAM1H,KAAMsH,WAAcQ,EAC1DsB,IAAWgf,EACfnb,EAASW,WAAYgM,EAAUxQ,KACfiE,GAChBJ,EAASY,YAAa+L,EAAUxQ,IAQpC,IAAKjK,EAAS,EAIb,IAHAipB,EAAiB,GAAIhU,OAAOjV,GAC5BkpB,EAAmB,GAAIjU,OAAOjV,GAC9BmpB,EAAkB,GAAIlU,OAAOjV,GACjBA,EAAJY,EAAYA,IACdwoB,EAAexoB,IAAOV,EAAOO,WAAY2oB,EAAexoB,GAAI+N,SAChEya,EAAexoB,GAAI+N,UACjB5B,KAAMsc,EAAYzoB,EAAGuoB,EAAiBC,IACtC7Z,KAAMzB,EAAS6a,QACftZ,SAAUga,EAAYzoB,EAAGsoB,EAAkBD,MAE3C/a,CAUL,OAJMA,IACLJ,EAASY,YAAaya,EAAiBC,GAGjCtb,EAASa,YAMlB,IAAI2a,GAEJppB,GAAOiT,GAAGnR,MAAQ,SAAUmR,GAI3B,MAFAjT,GAAO8B,MAAM2M,UAAU5B,KAAMoG,GAEtBvT,MAGRM,EAAOwF,QAENoP,SAAS,EAITyU,UAAW,EAGXC,UAAW,SAAUC,GACfA,EACJvpB,EAAOqpB,YAEPrpB,EAAO8B,OAAO,IAKhBA,MAAO,SAAU0nB,IAGXA,KAAS,IAASxpB,EAAOqpB,UAAYrpB,EAAO4U,WAKjD5U,EAAO4U,SAAU,EAGZ4U,KAAS,KAAUxpB,EAAOqpB,UAAY,IAK3CD,GAAU5a,YAAalP,GAAYU,IAG9BA,EAAOiT,GAAGwW,iBACdzpB,EAAQV,GAAWmqB,eAAgB,SACnCzpB,EAAQV,GAAWoqB,IAAK,eAc3B1pB,EAAO8B,MAAM2M,QAAU,SAAU5O,GAqBhC,MApBMupB,MAELA,GAAYppB,EAAO6N,WAKU,aAAxBvO,EAASqqB,WAEblf,WAAYzK,EAAO8B,QAKnBxC,EAAS0gB,iBAAkB,mBAAoBpe,GAAW,GAG1DnC,EAAOugB,iBAAkB,OAAQpe,GAAW,KAGvCwnB,GAAU3a,QAAS5O,IAI3BG,EAAO8B,MAAM2M,SAOb,IAAIrJ,IAASpF,EAAOoF,OAAS,SAAUb,EAAO0O,EAAI1Q,EAAKkG,EAAOmhB,EAAWC,EAAUC,GAClF,GAAIppB,GAAI,EACPyT,EAAM5P,EAAMzE,OACZiqB,EAAc,MAAPxnB,CAGR,IAA4B,WAAvBvC,EAAOD,KAAMwC,GAAqB,CACtCqnB,GAAY,CACZ,KAAMlpB,IAAK6B,GACVvC,EAAOoF,OAAQb,EAAO0O,EAAIvS,EAAG6B,EAAI7B,IAAI,EAAMmpB,EAAUC,OAIhD,IAAepnB,SAAV+F,IACXmhB,GAAY,EAEN5pB,EAAOO,WAAYkI,KACxBqhB,GAAM,GAGFC,IAECD,GACJ7W,EAAGtS,KAAM4D,EAAOkE,GAChBwK,EAAK,OAIL8W,EAAO9W,EACPA,EAAK,SAAUxS,EAAM8B,EAAKkG,GACzB,MAAOshB,GAAKppB,KAAMX,EAAQS,GAAQgI,MAKhCwK,GACJ,KAAYkB,EAAJzT,EAASA,IAChBuS,EAAI1O,EAAM7D,GAAI6B,EAAKunB,EAAMrhB,EAAQA,EAAM9H,KAAM4D,EAAM7D,GAAIA,EAAGuS,EAAI1O,EAAM7D,GAAI6B,IAK3E,OAAOqnB,GACNrlB,EAGAwlB,EACC9W,EAAGtS,KAAM4D,GACT4P,EAAMlB,EAAI1O,EAAM,GAAIhC,GAAQsnB,EAO/B7pB,GAAOgqB,WAAa,SAAUC,GAQ7B,MAA0B,KAAnBA,EAAM/pB,UAAqC,IAAnB+pB,EAAM/pB,YAAsB+pB,EAAM/pB,UAiBlE6B,EAAKM,IAAM,EACXN,EAAKmoB,QAAUlqB,EAAOgqB,WAEtBjoB,EAAKuI,WACJ/H,IAAK,SAAU0nB,GAId,IAAMloB,EAAKmoB,QAASD,GACnB,MAAO,EAGR,IAAIE,MAEHC,EAASH,EAAOvqB,KAAK0C,QAGtB,KAAMgoB,EAAS,CACdA,EAASroB,EAAKM,KAGd,KACC8nB,EAAYzqB,KAAK0C,UAAcqG,MAAO2hB,GACtCpoB,OAAOqoB,iBAAkBJ,EAAOE,GAI/B,MAAQlnB,GACTknB,EAAYzqB,KAAK0C,SAAYgoB,EAC7BpqB,EAAOwF,OAAQykB,EAAOE,IASxB,MAJMzqB,MAAKwC,MAAOkoB,KACjB1qB,KAAKwC,MAAOkoB,OAGNA,GAERjnB,IAAK,SAAU8mB,EAAOznB,EAAMiG,GAC3B,GAAI0B,GAIHigB,EAAS1qB,KAAK6C,IAAK0nB,GACnB/nB,EAAQxC,KAAKwC,MAAOkoB,EAGrB,IAAqB,gBAAT5nB,GACXN,EAAOM,GAASiG,MAKhB,IAAKzI,EAAO4M,cAAe1K,GAC1BlC,EAAOwF,OAAQ9F,KAAKwC,MAAOkoB,GAAU5nB,OAGrC,KAAM2H,IAAQ3H,GACbN,EAAOiI,GAAS3H,EAAM2H,EAIzB,OAAOjI,IAERC,IAAK,SAAU8nB,EAAO1nB,GAKrB,GAAIL,GAAQxC,KAAKwC,MAAOxC,KAAK6C,IAAK0nB,GAElC,OAAevnB,UAARH,EACNL,EAAQA,EAAOK,IAEjB6C,OAAQ,SAAU6kB,EAAO1nB,EAAKkG,GAC7B,GAAI6hB,EAYJ,OAAa5nB,UAARH,GACDA,GAAsB,gBAARA,IAA+BG,SAAV+F,GAEtC6hB,EAAS5qB,KAAKyC,IAAK8nB,EAAO1nB,GAERG,SAAX4nB,EACNA,EAAS5qB,KAAKyC,IAAK8nB,EAAOjqB,EAAOmN,UAAU5K,MAS7C7C,KAAKyD,IAAK8mB,EAAO1nB,EAAKkG,GAIL/F,SAAV+F,EAAsBA,EAAQlG,IAEtCwK,OAAQ,SAAUkd,EAAO1nB,GACxB,GAAI7B,GAAG+B,EAAM8nB,EACZH,EAAS1qB,KAAK6C,IAAK0nB,GACnB/nB,EAAQxC,KAAKwC,MAAOkoB,EAErB,IAAa1nB,SAARH,EACJ7C,KAAKwC,MAAOkoB,UAEN,CAEDpqB,EAAOoN,QAAS7K,GAOpBE,EAAOF,EAAIgJ,OAAQhJ,EAAIyM,IAAKhP,EAAOmN,aAEnCod,EAAQvqB,EAAOmN,UAAW5K,GAErBA,IAAOL,GACXO,GAASF,EAAKgoB,IAId9nB,EAAO8nB,EACP9nB,EAAOA,IAAQP,IACZO,GAAWA,EAAKjB,MAAOC,UAI5Bf,EAAI+B,EAAK3C,MACT,MAAQY,WACAwB,GAAOO,EAAM/B,MAIvByE,QAAS,SAAU8kB,GAClB,OAAQjqB,EAAO4M,cACdlN,KAAKwC,MAAO+nB,EAAOvqB,KAAK0C,gBAG1BooB,QAAS,SAAUP,GACbA,EAAOvqB,KAAK0C,gBACT1C,MAAKwC,MAAO+nB,EAAOvqB,KAAK0C,WAIlC,IAAIsC,IAAY,GAAI3C,GAEhBmB,GAAY,GAAInB,GAchBgB,GAAS,gCACZH,GAAa,UA+Bd5C,GAAOwF,QACNL,QAAS,SAAU1E,GAClB,MAAOyC,IAAUiC,QAAS1E,IAAUiE,GAAUS,QAAS1E,IAGxD+B,KAAM,SAAU/B,EAAMgC,EAAMD,GAC3B,MAAOU,IAAUkC,OAAQ3E,EAAMgC,EAAMD,IAGtCioB,WAAY,SAAUhqB,EAAMgC,GAC3BS,GAAU6J,OAAQtM,EAAMgC,IAKzBioB,MAAO,SAAUjqB,EAAMgC,EAAMD,GAC5B,MAAOkC,IAAUU,OAAQ3E,EAAMgC,EAAMD,IAGtCmoB,YAAa,SAAUlqB,EAAMgC,GAC5BiC,GAAUqI,OAAQtM,EAAMgC,MAI1BzC,EAAOiT,GAAGzN,QACThD,KAAM,SAAUD,EAAKkG,GACpB,GAAI/H,GAAG+B,EAAMD,EACZ/B,EAAOf,KAAM,GACbqL,EAAQtK,GAAQA,EAAKod,UAGtB,IAAanb,SAARH,EAAoB,CACxB,GAAK7C,KAAKI,SACT0C,EAAOU,GAAUf,IAAK1B,GAEC,IAAlBA,EAAKP,WAAmBwE,GAAUvC,IAAK1B,EAAM,iBAAmB,CAEpE,IADAC,EAAIqK,EAAMjL,OACFY,KAIFqK,EAAOrK,KACX+B,EAAOsI,EAAOrK,GAAI+B,KACe,IAA5BA,EAAK1B,QAAS,WAClB0B,EAAOzC,EAAOmN,UAAW1K,EAAK4F,MAAM,IACpC/F,EAAU7B,EAAMgC,EAAMD,EAAMC,KAI/BiC,IAAUvB,IAAK1C,EAAM,gBAAgB,GAIvC,MAAO+B,GAIR,MAAoB,gBAARD,GACJ7C,KAAK6B,KAAK,WAChB2B,GAAUC,IAAKzD,KAAM6C,KAIhB6C,GAAQ1F,KAAM,SAAU+I,GAC9B,GAAIjG,GACHooB,EAAW5qB,EAAOmN,UAAW5K,EAO9B,IAAK9B,GAAkBiC,SAAV+F,EAAb,CAIC,GADAjG,EAAOU,GAAUf,IAAK1B,EAAM8B,GACdG,SAATF,EACJ,MAAOA,EAMR,IADAA,EAAOU,GAAUf,IAAK1B,EAAMmqB,GACdloB,SAATF,EACJ,MAAOA,EAMR,IADAA,EAAOF,EAAU7B,EAAMmqB,EAAUloB,QACnBA,SAATF,EACJ,MAAOA,OAQT9C,MAAK6B,KAAK,WAGT,GAAIiB,GAAOU,GAAUf,IAAKzC,KAAMkrB,EAKhC1nB,IAAUC,IAAKzD,KAAMkrB,EAAUniB,GAKL,KAArBlG,EAAIxB,QAAQ,MAAwB2B,SAATF,GAC/BU,GAAUC,IAAKzD,KAAM6C,EAAKkG,MAG1B,KAAMA,EAAOR,UAAUnI,OAAS,EAAG,MAAM,IAG7C2qB,WAAY,SAAUloB,GACrB,MAAO7C,MAAK6B,KAAK,WAChB2B,GAAU6J,OAAQrN,KAAM6C,QAM3BvC,EAAOwF,QACN0G,MAAO,SAAUzL,EAAMV,EAAMyC,GAC5B,GAAI0J,EAEJ,OAAKzL,IACJV,GAASA,GAAQ,MAAS,QAC1BmM,EAAQxH,GAAUvC,IAAK1B,EAAMV,GAGxByC,KACE0J,GAASlM,EAAOoN,QAAS5K,GAC9B0J,EAAQxH,GAAUU,OAAQ3E,EAAMV,EAAMC,EAAO4V,UAAUpT,IAEvD0J,EAAM0C,KAAMpM,IAGP0J,OAZR,QAgBD2e,QAAS,SAAUpqB,EAAMV,GACxBA,EAAOA,GAAQ,IAEf,IAAImM,GAAQlM,EAAOkM,MAAOzL,EAAMV,GAC/B+qB,EAAc5e,EAAMpM,OACpBmT,EAAK/G,EAAMgF,QACXtF,EAAQ5L,EAAOmM,YAAa1L,EAAMV,GAClCqmB,EAAO,WACNpmB,EAAO6qB,QAASpqB,EAAMV,GAIZ,gBAAPkT,IACJA,EAAK/G,EAAMgF,QACX4Z,KAGI7X,IAIU,OAATlT,GACJmM,EAAM0D,QAAS,oBAIThE,GAAMiD,KACboE,EAAGtS,KAAMF,EAAM2lB,EAAMxa,KAGhBkf,GAAelf,GACpBA,EAAMS,MAAMC,QAKdH,YAAa,SAAU1L,EAAMV,GAC5B,GAAIwC,GAAMxC,EAAO,YACjB,OAAO2E,IAAUvC,IAAK1B,EAAM8B,IAASmC,GAAUU,OAAQ3E,EAAM8B,GAC5D8J,MAAOrM,EAAOonB,UAAU,eAAe7hB,IAAI,WAC1Cb,GAAUqI,OAAQtM,GAAQV,EAAO,QAASwC,WAM9CvC,EAAOiT,GAAGzN,QACT0G,MAAO,SAAUnM,EAAMyC,GACtB,GAAIuoB,GAAS,CAQb,OANqB,gBAAThrB,KACXyC,EAAOzC,EACPA,EAAO,KACPgrB,KAGI9iB,UAAUnI,OAASirB,EAChB/qB,EAAOkM,MAAOxM,KAAK,GAAIK,GAGf2C,SAATF,EACN9C,KACAA,KAAK6B,KAAK,WACT,GAAI2K,GAAQlM,EAAOkM,MAAOxM,KAAMK,EAAMyC,EAGtCxC,GAAOmM,YAAazM,KAAMK,GAEZ,OAATA,GAA8B,eAAbmM,EAAM,IAC3BlM,EAAO6qB,QAASnrB,KAAMK,MAI1B8qB,QAAS,SAAU9qB,GAClB,MAAOL,MAAK6B,KAAK,WAChBvB,EAAO6qB,QAASnrB,KAAMK,MAGxBirB,WAAY,SAAUjrB,GACrB,MAAOL,MAAKwM,MAAOnM,GAAQ,UAI5B0O,QAAS,SAAU1O,EAAMF,GACxB,GAAI+R,GACHqZ,EAAQ,EACRC,EAAQlrB,EAAO6N,WACfzN,EAAWV,KACXgB,EAAIhB,KAAKI,OACT0oB,EAAU,aACCyC,GACTC,EAAM1c,YAAapO,GAAYA,IAUlC,KANqB,gBAATL,KACXF,EAAME,EACNA,EAAO2C,QAER3C,EAAOA,GAAQ,KAEPW,KACPkR,EAAMlN,GAAUvC,IAAK/B,EAAUM,GAAKX,EAAO,cACtC6R,GAAOA,EAAIvF,QACf4e,IACArZ,EAAIvF,MAAM9G,IAAKijB,GAIjB,OADAA,KACO0C,EAAMzc,QAAS5O,KAGxB,IAAIsrB,IAAO,sCAAwCC,OAE/ChiB,IAAc,MAAO,QAAS,SAAU,QAExCa,GAAW,SAAUxJ,EAAM4qB,GAI7B,MADA5qB,GAAO4qB,GAAM5qB,EAC4B,SAAlCT,EAAO0G,IAAKjG,EAAM,aAA2BT,EAAO0H,SAAUjH,EAAKsD,cAAetD,IAGvFuF,GAAiB,yBAIrB,WACC,GAAIslB,GAAWhsB,EAASisB,yBACvBhT,EAAM+S,EAASxnB,YAAaxE,EAAS0E,cAAe,QACpDyc,EAAQnhB,EAAS0E,cAAe,QAMjCyc,GAAM/I,aAAc,OAAQ,SAC5B+I,EAAM/I,aAAc,UAAW,WAC/B+I,EAAM/I,aAAc,OAAQ,KAE5Ba,EAAIzU,YAAa2c,GAIjBhX,EAAQ+hB,WAAajT,EAAIkT,WAAW,GAAOA,WAAW,GAAOvI,UAAUjd,QAIvEsS,EAAIiI,UAAY,yBAChB/W,EAAQiiB,iBAAmBnT,EAAIkT,WAAW,GAAOvI,UAAUhd,eAE5D,IAAIylB,IAAe,WAInBliB,GAAQmiB,eAAiB,aAAensB,EAGxC,IACCosB,IAAY,OACZC,GAAc,uCACdC,GAAc,kCACdC,GAAiB,sBAoBlBhsB,GAAOsF,OAENpG,UAEAqG,IAAK,SAAU9E,EAAMwrB,EAAOxT,EAASjW,EAAMwQ,GAE1C,GAAIkZ,GAAaC,EAAava,EAC7B1M,EAAQknB,EAAGC,EACXC,EAASC,EAAUxsB,EAAMysB,EAAYC,EACrCC,EAAWhoB,GAAUvC,IAAK1B,EAG3B,IAAMisB,EAgCN,IA3BKjU,EAAQA,UACZyT,EAAczT,EACdA,EAAUyT,EAAYzT,QACtBzF,EAAWkZ,EAAYlZ,UAIlByF,EAAQrC,OACbqC,EAAQrC,KAAOpW,EAAOoW,SAIhBlR,EAASwnB,EAASxnB,UACxBA,EAASwnB,EAASxnB,YAEZinB,EAAcO,EAASrnB,UAC7B8mB,EAAcO,EAASrnB,OAAS,SAAUpC,GAGzC,aAAcjD,KAAW2rB,IAAgB3rB,EAAOsF,MAAMqnB,YAAc1pB,EAAElD,KACrEC,EAAOsF,MAAMsnB,SAAS5kB,MAAOvH,EAAMwH,WAAcvF,SAKpDupB,GAAUA,GAAS,IAAKzqB,MAAOC,MAAiB,IAChD2qB,EAAIH,EAAMnsB,OACFssB,KACPxa,EAAMoa,GAAe5nB,KAAM6nB,EAAMG,QACjCrsB,EAAO0sB,EAAW7a,EAAI,GACtB4a,GAAe5a,EAAI,IAAM,IAAKI,MAAO,KAAMqC,OAGrCtU,IAKNusB,EAAUtsB,EAAOsF,MAAMgnB,QAASvsB,OAGhCA,GAASiT,EAAWsZ,EAAQO,aAAeP,EAAQQ,WAAc/sB,EAGjEusB,EAAUtsB,EAAOsF,MAAMgnB,QAASvsB,OAGhCssB,EAAYrsB,EAAOwF,QAClBzF,KAAMA,EACN0sB,SAAUA,EACVjqB,KAAMA,EACNiW,QAASA,EACTrC,KAAMqC,EAAQrC,KACdpD,SAAUA,EACV8L,aAAc9L,GAAYhT,EAAOwhB,KAAKhgB,MAAMsd,aAAaje,KAAMmS,GAC/D+Z,UAAWP,EAAW1U,KAAK,MACzBoU,IAGIK,EAAWrnB,EAAQnF,MACzBwsB,EAAWrnB,EAAQnF,MACnBwsB,EAASS,cAAgB,EAGnBV,EAAQW,OAASX,EAAQW,MAAMtsB,KAAMF,EAAM+B,EAAMgqB,EAAYL,MAAkB,GAC/E1rB,EAAKuf,kBACTvf,EAAKuf,iBAAkBjgB,EAAMosB,GAAa,IAKxCG,EAAQ/mB,MACZ+mB,EAAQ/mB,IAAI5E,KAAMF,EAAM4rB,GAElBA,EAAU5T,QAAQrC,OACvBiW,EAAU5T,QAAQrC,KAAOqC,EAAQrC,OAK9BpD,EACJuZ,EAASjY,OAAQiY,EAASS,gBAAiB,EAAGX,GAE9CE,EAAS3d,KAAMyd,GAIhBrsB,EAAOsF,MAAMpG,OAAQa,IAAS,IAMhCgN,OAAQ,SAAUtM,EAAMwrB,EAAOxT,EAASzF,EAAUka,GAEjD,GAAI9Y,GAAG+Y,EAAWvb,EACjB1M,EAAQknB,EAAGC,EACXC,EAASC,EAAUxsB,EAAMysB,EAAYC,EACrCC,EAAWhoB,GAAUS,QAAS1E,IAAUiE,GAAUvC,IAAK1B,EAExD,IAAMisB,IAAcxnB,EAASwnB,EAASxnB,QAAtC,CAOA,IAFA+mB,GAAUA,GAAS,IAAKzqB,MAAOC,MAAiB,IAChD2qB,EAAIH,EAAMnsB,OACFssB,KAMP,GALAxa,EAAMoa,GAAe5nB,KAAM6nB,EAAMG,QACjCrsB,EAAO0sB,EAAW7a,EAAI,GACtB4a,GAAe5a,EAAI,IAAM,IAAKI,MAAO,KAAMqC,OAGrCtU,EAAN,CAcA,IAPAusB,EAAUtsB,EAAOsF,MAAMgnB,QAASvsB,OAChCA,GAASiT,EAAWsZ,EAAQO,aAAeP,EAAQQ,WAAc/sB,EACjEwsB,EAAWrnB,EAAQnF,OACnB6R,EAAMA,EAAI,IAAM,GAAIoM,QAAQ,UAAYwO,EAAW1U,KAAK,iBAAmB,WAG3EqV,EAAY/Y,EAAImY,EAASzsB,OACjBsU,KACPiY,EAAYE,EAAUnY,IAEf8Y,GAAeT,IAAaJ,EAAUI,UACzChU,GAAWA,EAAQrC,OAASiW,EAAUjW,MACtCxE,IAAOA,EAAI/Q,KAAMwrB,EAAUU,YAC3B/Z,GAAYA,IAAaqZ,EAAUrZ,WAAyB,OAAbA,IAAqBqZ,EAAUrZ,YACjFuZ,EAASjY,OAAQF,EAAG,GAEfiY,EAAUrZ,UACduZ,EAASS,gBAELV,EAAQvf,QACZuf,EAAQvf,OAAOpM,KAAMF,EAAM4rB,GAOzBc,KAAcZ,EAASzsB,SACrBwsB,EAAQc,UAAYd,EAAQc,SAASzsB,KAAMF,EAAM+rB,EAAYE,EAASrnB,WAAa,GACxFrF,EAAOqtB,YAAa5sB,EAAMV,EAAM2sB,EAASrnB,cAGnCH,GAAQnF,QAtCf,KAAMA,IAAQmF,GACblF,EAAOsF,MAAMyH,OAAQtM,EAAMV,EAAOksB,EAAOG,GAAK3T,EAASzF,GAAU,EA0C/DhT,GAAO4M,cAAe1H,WACnBwnB,GAASrnB,OAChBX,GAAUqI,OAAQtM,EAAM,aAI1B6sB,QAAS,SAAUhoB,EAAO9C,EAAM/B,EAAM8sB,GAErC,GAAI7sB,GAAGO,EAAK2Q,EAAK4b,EAAYC,EAAQpoB,EAAQinB,EAC5CoB,GAAcjtB,GAAQnB,GACtBS,EAAO8S,EAAOlS,KAAM2E,EAAO,QAAWA,EAAMvF,KAAOuF,EACnDknB,EAAa3Z,EAAOlS,KAAM2E,EAAO,aAAgBA,EAAMynB,UAAU/a,MAAM,OAKxE,IAHA/Q,EAAM2Q,EAAMnR,EAAOA,GAAQnB,EAGJ,IAAlBmB,EAAKP,UAAoC,IAAlBO,EAAKP,WAK5B6rB,GAAYlrB,KAAMd,EAAOC,EAAOsF,MAAMqnB,aAItC5sB,EAAKgB,QAAQ,MAAQ,IAEzByrB,EAAazsB,EAAKiS,MAAM,KACxBjS,EAAOysB,EAAWtb,QAClBsb,EAAWnY,QAEZoZ,EAAS1tB,EAAKgB,QAAQ,KAAO,GAAK,KAAOhB,EAGzCuF,EAAQA,EAAOtF,EAAOoC,SACrBkD,EACA,GAAItF,GAAO2tB,MAAO5tB,EAAuB,gBAAVuF,IAAsBA,GAGtDA,EAAMsoB,UAAYL,EAAe,EAAI,EACrCjoB,EAAMynB,UAAYP,EAAW1U,KAAK,KAClCxS,EAAMuoB,aAAevoB,EAAMynB,UAC1B,GAAI/O,QAAQ,UAAYwO,EAAW1U,KAAK,iBAAmB,WAC3D,KAGDxS,EAAMmI,OAAS/K,OACT4C,EAAMiL,SACXjL,EAAMiL,OAAS9P;AAIhB+B,EAAe,MAARA,GACJ8C,GACFtF,EAAO4V,UAAWpT,GAAQ8C,IAG3BgnB,EAAUtsB,EAAOsF,MAAMgnB,QAASvsB,OAC1BwtB,IAAgBjB,EAAQgB,SAAWhB,EAAQgB,QAAQtlB,MAAOvH,EAAM+B,MAAW,GAAjF,CAMA,IAAM+qB,IAAiBjB,EAAQwB,WAAa9tB,EAAOC,SAAUQ,GAAS,CAMrE,IAJA+sB,EAAalB,EAAQO,cAAgB9sB,EAC/BgsB,GAAYlrB,KAAM2sB,EAAaztB,KACpCkB,EAAMA,EAAIwU,YAEHxU,EAAKA,EAAMA,EAAIwU,WACtBiY,EAAU9e,KAAM3N,GAChB2Q,EAAM3Q,CAIF2Q,MAASnR,EAAKsD,eAAiBzE,IACnCouB,EAAU9e,KAAMgD,EAAIa,aAAeb,EAAImc,cAAgBtuB,GAMzD,IADAiB,EAAI,GACKO,EAAMysB,EAAUhtB,QAAU4E,EAAM0oB,wBAExC1oB,EAAMvF,KAAOW,EAAI,EAChB8sB,EACAlB,EAAQQ,UAAY/sB,EAGrBsF,GAAWX,GAAUvC,IAAKlB,EAAK,eAAoBqE,EAAMvF,OAAU2E,GAAUvC,IAAKlB,EAAK,UAClFoE,GACJA,EAAO2C,MAAO/G,EAAKuB,GAIpB6C,EAASooB,GAAUxsB,EAAKwsB,GACnBpoB,GAAUA,EAAO2C,OAAShI,EAAOgqB,WAAY/oB,KACjDqE,EAAMmI,OAASpI,EAAO2C,MAAO/G,EAAKuB,GAC7B8C,EAAMmI,UAAW,GACrBnI,EAAM2oB,iBAmCT,OA/BA3oB,GAAMvF,KAAOA,EAGPwtB,GAAiBjoB,EAAM4oB,sBAErB5B,EAAQ6B,UAAY7B,EAAQ6B,SAASnmB,MAAO0lB,EAAUhR,MAAOla,MAAW,IAC9ExC,EAAOgqB,WAAYvpB,IAIdgtB,GAAUztB,EAAOO,WAAYE,EAAMV,MAAaC,EAAOC,SAAUQ,KAGrEmR,EAAMnR,EAAMgtB,GAEP7b,IACJnR,EAAMgtB,GAAW,MAIlBztB,EAAOsF,MAAMqnB,UAAY5sB,EACzBU,EAAMV,KACNC,EAAOsF,MAAMqnB,UAAYjqB,OAEpBkP,IACJnR,EAAMgtB,GAAW7b,IAMdtM,EAAMmI,SAGdmf,SAAU,SAAUtnB,GAGnBA,EAAQtF,EAAOsF,MAAM8oB,IAAK9oB,EAE1B,IAAI5E,GAAG0T,EAAGxO,EAAKyd,EAASgJ,EACvBgC,KACAta,EAAO1L,EAAM1H,KAAMsH,WACnBskB,GAAa7nB,GAAUvC,IAAKzC,KAAM,eAAoB4F,EAAMvF,UAC5DusB,EAAUtsB,EAAOsF,MAAMgnB,QAAShnB,EAAMvF,SAOvC,IAJAgU,EAAK,GAAKzO,EACVA,EAAMgpB,eAAiB5uB,MAGlB4sB,EAAQiC,aAAejC,EAAQiC,YAAY5tB,KAAMjB,KAAM4F,MAAY,EAAxE,CASA,IAJA+oB,EAAeruB,EAAOsF,MAAMinB,SAAS5rB,KAAMjB,KAAM4F,EAAOinB,GAGxD7rB,EAAI,GACK2iB,EAAUgL,EAAc3tB,QAAW4E,EAAM0oB,wBAIjD,IAHA1oB,EAAMkpB,cAAgBnL,EAAQ5iB,KAE9B2T,EAAI,GACKiY,EAAYhJ,EAAQkJ,SAAUnY,QAAW9O,EAAMmpB,mCAIjDnpB,EAAMuoB,cAAgBvoB,EAAMuoB,aAAahtB,KAAMwrB,EAAUU,cAE9DznB,EAAM+mB,UAAYA,EAClB/mB,EAAM9C,KAAO6pB,EAAU7pB,KAEvBoD,IAAS5F,EAAOsF,MAAMgnB,QAASD,EAAUI,eAAkBpnB,QAAUgnB,EAAU5T,SAC5EzQ,MAAOqb,EAAQ5iB,KAAMsT,GAEXrR,SAARkD,IACEN,EAAMmI,OAAS7H,MAAS,IAC7BN,EAAM2oB,iBACN3oB,EAAMopB,mBAYX,OAJKpC,GAAQqC,cACZrC,EAAQqC,aAAahuB,KAAMjB,KAAM4F,GAG3BA,EAAMmI,SAGd8e,SAAU,SAAUjnB,EAAOinB,GAC1B,GAAI7rB,GAAGiI,EAASimB,EAAKvC,EACpBgC,KACArB,EAAgBT,EAASS,cACzB/rB,EAAMqE,EAAMiL,MAKb,IAAKyc,GAAiB/rB,EAAIf,YAAcoF,EAAM+e,QAAyB,UAAf/e,EAAMvF,MAE7D,KAAQkB,IAAQvB,KAAMuB,EAAMA,EAAIwU,YAAc/V,KAG7C,GAAKuB,EAAIijB,YAAa,GAAuB,UAAf5e,EAAMvF,KAAmB,CAEtD,IADA4I,KACMjI,EAAI,EAAOssB,EAAJtsB,EAAmBA,IAC/B2rB,EAAYE,EAAU7rB,GAGtBkuB,EAAMvC,EAAUrZ,SAAW,IAEHtQ,SAAnBiG,EAASimB,KACbjmB,EAASimB,GAAQvC,EAAUvN,aAC1B9e,EAAQ4uB,EAAKlvB,MAAOsK,MAAO/I,IAAS,EACpCjB,EAAOwc,KAAMoS,EAAKlvB,KAAM,MAAQuB,IAAQnB,QAErC6I,EAASimB,IACbjmB,EAAQiG,KAAMyd,EAGX1jB,GAAQ7I,QACZuuB,EAAazf,MAAOnO,KAAMQ,EAAKsrB,SAAU5jB,IAW7C,MAJKqkB,GAAgBT,EAASzsB,QAC7BuuB,EAAazf,MAAOnO,KAAMf,KAAM6sB,SAAUA,EAASlkB,MAAO2kB,KAGpDqB,GAIR5iB,MAAO,wHAAwHuG,MAAM,KAErI6c,YAEAC,UACCrjB,MAAO,4BAA4BuG,MAAM,KACzClR,OAAQ,SAAUwE,EAAOypB,GAOxB,MAJoB,OAAfzpB,EAAMwF,QACVxF,EAAMwF,MAA6B,MAArBikB,EAASC,SAAmBD,EAASC,SAAWD,EAASE,SAGjE3pB,IAIT4pB,YACCzjB,MAAO,uFAAuFuG,MAAM,KACpGlR,OAAQ,SAAUwE,EAAOypB,GACxB,GAAII,GAAU/oB,EAAKG,EAClB8d,EAAS0K,EAAS1K,MAkBnB,OAfoB,OAAf/e,EAAM8pB,OAAqC,MAApBL,EAASM,UACpCF,EAAW7pB,EAAMiL,OAAOxM,eAAiBzE,EACzC8G,EAAM+oB,EAASpoB,gBACfR,EAAO4oB,EAAS5oB,KAEhBjB,EAAM8pB,MAAQL,EAASM,SAAYjpB,GAAOA,EAAIkpB,YAAc/oB,GAAQA,EAAK+oB,YAAc,IAAQlpB,GAAOA,EAAImpB,YAAchpB,GAAQA,EAAKgpB,YAAc,GACnJjqB,EAAMkqB,MAAQT,EAASU,SAAYrpB,GAAOA,EAAIspB,WAAcnpB,GAAQA,EAAKmpB,WAAc,IAAQtpB,GAAOA,EAAIupB,WAAcppB,GAAQA,EAAKopB,WAAc,IAK9IrqB,EAAMwF,OAAoBpI,SAAX2hB,IACpB/e,EAAMwF,MAAmB,EAATuZ,EAAa,EAAe,EAATA,EAAa,EAAe,EAATA,EAAa,EAAI,GAGjE/e,IAIT8oB,IAAK,SAAU9oB,GACd,GAAKA,EAAOtF,EAAOoC,SAClB,MAAOkD,EAIR,IAAI5E,GAAGyJ,EAAMoK,EACZxU,EAAOuF,EAAMvF,KACb6vB,EAAgBtqB,EAChBuqB,EAAUnwB,KAAKmvB,SAAU9uB,EAa1B,KAXM8vB,IACLnwB,KAAKmvB,SAAU9uB,GAAS8vB,EACvB/D,GAAYjrB,KAAMd,GAASL,KAAKwvB,WAChCrD,GAAUhrB,KAAMd,GAASL,KAAKovB,aAGhCva,EAAOsb,EAAQpkB,MAAQ/L,KAAK+L,MAAMF,OAAQskB,EAAQpkB,OAAU/L,KAAK+L,MAEjEnG,EAAQ,GAAItF,GAAO2tB,MAAOiC,GAE1BlvB,EAAI6T,EAAKzU,OACDY,KACPyJ,EAAOoK,EAAM7T,GACb4E,EAAO6E,GAASylB,EAAezlB,EAehC,OAVM7E,GAAMiL,SACXjL,EAAMiL,OAASjR,GAKe,IAA1BgG,EAAMiL,OAAOrQ,WACjBoF,EAAMiL,OAASjL,EAAMiL,OAAOkF,YAGtBoa,EAAQ/uB,OAAS+uB,EAAQ/uB,OAAQwE,EAAOsqB,GAAkBtqB,GAGlEgnB,SACCwD,MAEChC,UAAU,GAEXjK,OAECyJ,QAAS,WACR,MAAK5tB,QAAS4D,KAAuB5D,KAAKmkB,OACzCnkB,KAAKmkB,SACE,GAFR,QAKDgJ,aAAc,WAEfkD,MACCzC,QAAS,WACR,MAAK5tB,QAAS4D,KAAuB5D,KAAKqwB,MACzCrwB,KAAKqwB,QACE,GAFR,QAKDlD,aAAc,YAEfmD,OAEC1C,QAAS,WACR,MAAmB,aAAd5tB,KAAKK,MAAuBL,KAAKswB,OAAShwB,EAAO2D,SAAUjE,KAAM,UACrEA,KAAKswB,SACE,GAFR,QAOD7B,SAAU,SAAU7oB,GACnB,MAAOtF,GAAO2D,SAAU2B,EAAMiL,OAAQ,OAIxC0f,cACCtB,aAAc,SAAUrpB,GAID5C,SAAjB4C,EAAMmI,QAAwBnI,EAAMsqB,gBACxCtqB,EAAMsqB,cAAcM,YAAc5qB,EAAMmI,WAM5C0iB,SAAU,SAAUpwB,EAAMU,EAAM6E,EAAO8qB,GAItC,GAAIntB,GAAIjD,EAAOwF,OACd,GAAIxF,GAAO2tB,MACXroB,GAECvF,KAAMA,EACNswB,aAAa,EACbT,kBAGGQ,GACJpwB,EAAOsF,MAAMgoB,QAASrqB,EAAG,KAAMxC,GAE/BT,EAAOsF,MAAMsnB,SAASjsB,KAAMF,EAAMwC,GAE9BA,EAAEirB,sBACN5oB,EAAM2oB,mBAKTjuB,EAAOqtB,YAAc,SAAU5sB,EAAMV,EAAMsF,GACrC5E,EAAKoB,qBACTpB,EAAKoB,oBAAqB9B,EAAMsF,GAAQ,IAI1CrF,EAAO2tB,MAAQ,SAAU/oB,EAAK6G,GAE7B,MAAO/L,gBAAgBM,GAAO2tB,OAKzB/oB,GAAOA,EAAI7E,MACfL,KAAKkwB,cAAgBhrB,EACrBlF,KAAKK,KAAO6E,EAAI7E,KAIhBL,KAAKwuB,mBAAqBtpB,EAAI0rB,kBACH5tB,SAAzBkC,EAAI0rB,kBAEJ1rB,EAAIsrB,eAAgB,EACrB9sB,EACAC,GAID3D,KAAKK,KAAO6E,EAIR6G,GACJzL,EAAOwF,OAAQ9F,KAAM+L,GAItB/L,KAAK6wB,UAAY3rB,GAAOA,EAAI2rB,WAAavwB,EAAO2K,WAGhDjL,KAAMM,EAAOoC,UAAY,IA/BjB,GAAIpC,GAAO2tB,MAAO/oB,EAAK6G,IAoChCzL,EAAO2tB,MAAMrjB,WACZ4jB,mBAAoB7qB,EACpB2qB,qBAAsB3qB,EACtBorB,8BAA+BprB,EAE/B4qB,eAAgB,WACf,GAAIhrB,GAAIvD,KAAKkwB,aAEblwB,MAAKwuB,mBAAqB9qB,EAErBH,GAAKA,EAAEgrB,gBACXhrB,EAAEgrB,kBAGJS,gBAAiB,WAChB,GAAIzrB,GAAIvD,KAAKkwB,aAEblwB,MAAKsuB,qBAAuB5qB,EAEvBH,GAAKA,EAAEyrB,iBACXzrB,EAAEyrB,mBAGJ8B,yBAA0B,WACzB,GAAIvtB,GAAIvD,KAAKkwB,aAEblwB,MAAK+uB,8BAAgCrrB,EAEhCH,GAAKA,EAAEutB,0BACXvtB,EAAEutB,2BAGH9wB,KAAKgvB,oBAMP1uB,EAAOuB,MACNkvB,WAAY,YACZC,WAAY,WACZC,aAAc,cACdC,aAAc,cACZ,SAAU5kB,EAAMoiB,GAClBpuB,EAAOsF,MAAMgnB,QAAStgB,IACrB6gB,aAAcuB,EACdtB,SAAUsB,EAEV/oB,OAAQ,SAAUC,GACjB,GAAIM,GACH2K,EAAS7Q,KACTmxB,EAAUvrB,EAAMwrB,cAChBzE,EAAY/mB,EAAM+mB,SASnB,SALMwE,GAAYA,IAAYtgB,IAAWvQ,EAAO0H,SAAU6I,EAAQsgB,MACjEvrB,EAAMvF,KAAOssB,EAAUI,SACvB7mB,EAAMymB,EAAU5T,QAAQzQ,MAAOtI,KAAMuI,WACrC3C,EAAMvF,KAAOquB,GAEPxoB,MAOJ6D,EAAQmiB,gBACb5rB,EAAOuB,MAAOsiB,MAAO,UAAWkM,KAAM,YAAc,SAAU/jB,EAAMoiB,GAGnE,GAAI3V,GAAU,SAAUnT,GACtBtF,EAAOsF,MAAM6qB,SAAU/B,EAAK9oB,EAAMiL,OAAQvQ,EAAOsF,MAAM8oB,IAAK9oB,IAAS,GAGvEtF,GAAOsF,MAAMgnB,QAAS8B,IACrBnB,MAAO,WACN,GAAI7mB,GAAM1G,KAAKqE,eAAiBrE,KAC/BqxB,EAAWrsB,GAAUU,OAAQgB,EAAKgoB,EAE7B2C,IACL3qB,EAAI4Z,iBAAkBhU,EAAMyM,GAAS,GAEtC/T,GAAUU,OAAQgB,EAAKgoB,GAAO2C,GAAY,GAAM,IAEjD3D,SAAU,WACT,GAAIhnB,GAAM1G,KAAKqE,eAAiBrE,KAC/BqxB,EAAWrsB,GAAUU,OAAQgB,EAAKgoB,GAAQ,CAErC2C,GAKLrsB,GAAUU,OAAQgB,EAAKgoB,EAAK2C,IAJ5B3qB,EAAIvE,oBAAqBmK,EAAMyM,GAAS,GACxC/T,GAAUqI,OAAQ3G,EAAKgoB,QAU5BpuB,EAAOiT,GAAGzN,QAETwrB,GAAI,SAAU/E,EAAOjZ,EAAUxQ,EAAMyQ,EAAiBge,GACrD,GAAIC,GAAQnxB,CAGZ,IAAsB,gBAAVksB,GAAqB,CAEP,gBAAbjZ,KAEXxQ,EAAOA,GAAQwQ,EACfA,EAAWtQ,OAEZ,KAAM3C,IAAQksB,GACbvsB,KAAKsxB,GAAIjxB,EAAMiT,EAAUxQ,EAAMypB,EAAOlsB,GAAQkxB,EAE/C,OAAOvxB,MAmBR,GAhBa,MAAR8C,GAAsB,MAANyQ,GAEpBA,EAAKD,EACLxQ,EAAOwQ,EAAWtQ,QACD,MAANuQ,IACc,gBAAbD,IAEXC,EAAKzQ,EACLA,EAAOE,SAGPuQ,EAAKzQ,EACLA,EAAOwQ,EACPA,EAAWtQ,SAGRuQ,KAAO,EACXA,EAAK5P,MACC,KAAM4P,EACZ,MAAOvT,KAaR,OAVa,KAARuxB,IACJC,EAASje,EACTA,EAAK,SAAU3N,GAGd,MADAtF,KAAS0pB,IAAKpkB,GACP4rB,EAAOlpB,MAAOtI,KAAMuI,YAG5BgL,EAAGmD,KAAO8a,EAAO9a,OAAU8a,EAAO9a,KAAOpW,EAAOoW,SAE1C1W,KAAK6B,KAAM,WACjBvB,EAAOsF,MAAMC,IAAK7F,KAAMusB,EAAOhZ,EAAIzQ,EAAMwQ,MAG3Cie,IAAK,SAAUhF,EAAOjZ,EAAUxQ,EAAMyQ,GACrC,MAAOvT,MAAKsxB,GAAI/E,EAAOjZ,EAAUxQ,EAAMyQ,EAAI,IAE5CyW,IAAK,SAAUuC,EAAOjZ,EAAUC,GAC/B,GAAIoZ,GAAWtsB,CACf,IAAKksB,GAASA,EAAMgC,gBAAkBhC,EAAMI,UAQ3C,MANAA,GAAYJ,EAAMI,UAClBrsB,EAAQisB,EAAMqC,gBAAiB5E,IAC9B2C,EAAUU,UAAYV,EAAUI,SAAW,IAAMJ,EAAUU,UAAYV,EAAUI,SACjFJ,EAAUrZ,SACVqZ,EAAU5T,SAEJ/Y,IAER,IAAsB,gBAAVusB,GAAqB,CAEhC,IAAMlsB,IAAQksB,GACbvsB,KAAKgqB,IAAK3pB,EAAMiT,EAAUiZ,EAAOlsB,GAElC,OAAOL,MAUR,OARKsT,KAAa,GAA6B,kBAAbA,MAEjCC,EAAKD,EACLA,EAAWtQ,QAEPuQ,KAAO,IACXA,EAAK5P,GAEC3D,KAAK6B,KAAK,WAChBvB,EAAOsF,MAAMyH,OAAQrN,KAAMusB,EAAOhZ,EAAID,MAIxCsa,QAAS,SAAUvtB,EAAMyC,GACxB,MAAO9C,MAAK6B,KAAK,WAChBvB,EAAOsF,MAAMgoB,QAASvtB,EAAMyC,EAAM9C,SAGpC+pB,eAAgB,SAAU1pB,EAAMyC,GAC/B,GAAI/B,GAAOf,KAAK,EAChB,OAAKe,GACGT,EAAOsF,MAAMgoB,QAASvtB,EAAMyC,EAAM/B,GAAM,GADhD,SAOF,IACC0wB,IAAY,0EACZC,GAAW,YACXC,GAAQ,YACRC,GAAe,0BAEfC,GAAW,oCACXC,GAAc,4BACdrtB,GAAoB,cACpBstB,GAAe,2CAGfC,IAGCC,QAAU,EAAG,+BAAgC,aAE7CC,OAAS,EAAG,UAAW,YACvBC,KAAO,EAAG,oBAAqB,uBAC/BC,IAAM,EAAG,iBAAkB,oBAC3BC,IAAM,EAAG,qBAAsB,yBAE/B5D,UAAY,EAAG,GAAI,IAIrBuD,IAAQM,SAAWN,GAAQC,OAE3BD,GAAQO,MAAQP,GAAQQ,MAAQR,GAAQS,SAAWT,GAAQU,QAAUV,GAAQE,MAC7EF,GAAQW,GAAKX,GAAQK,GAoGrB/xB,EAAOwF,QACNiP,MAAO,SAAUhU,EAAM6xB,EAAeC,GACrC,GAAI7xB,GAAG+D,EAAG+tB,EAAaC,EACtBhe,EAAQhU,EAAKgrB,WAAW,GACxBiH,EAAS1yB,EAAO0H,SAAUjH,EAAKsD,cAAetD,EAG/C,MAAMgJ,EAAQiiB,gBAAsC,IAAlBjrB,EAAKP,UAAoC,KAAlBO,EAAKP,UAC3DF,EAAO0lB,SAAUjlB,IAMnB,IAHAgyB,EAAehtB,EAAQgP,GACvB+d,EAAc/sB,EAAQhF,GAEhBC,EAAI,EAAG+D,EAAI+tB,EAAY1yB,OAAY2E,EAAJ/D,EAAOA,IAC3CqF,EAAUysB,EAAa9xB,GAAK+xB,EAAc/xB,GAK5C,IAAK4xB,EACJ,GAAKC,EAIJ,IAHAC,EAAcA,GAAe/sB,EAAQhF,GACrCgyB,EAAeA,GAAgBhtB,EAAQgP,GAEjC/T,EAAI,EAAG+D,EAAI+tB,EAAY1yB,OAAY2E,EAAJ/D,EAAOA,IAC3CiE,EAAgB6tB,EAAa9xB,GAAK+xB,EAAc/xB,QAGjDiE,GAAgBlE,EAAMgU,EAWxB,OANAge,GAAehtB,EAAQgP,EAAO,UACzBge,EAAa3yB,OAAS,GAC1BwE,EAAemuB,GAAeC,GAAUjtB,EAAQhF,EAAM,WAIhDgU,GAGRke,cAAe,SAAUpuB,EAAOmB,EAASktB,EAASC,GAOjD,IANA,GAAIpyB,GAAMmR,EAAKjM,EAAKmtB,EAAMprB,EAAU0M,EACnCkX,EAAW5lB,EAAQ6lB,yBACnBwH,KACAryB,EAAI,EACJ+D,EAAIF,EAAMzE,OAEC2E,EAAJ/D,EAAOA,IAGd,GAFAD,EAAO8D,EAAO7D,GAETD,GAAiB,IAATA,EAGZ,GAA6B,WAAxBT,EAAOD,KAAMU,GAGjBT,EAAO8F,MAAOitB,EAAOtyB,EAAKP,UAAaO,GAASA,OAG1C,IAAM4wB,GAAMxwB,KAAMJ,GAIlB,CAUN,IATAmR,EAAMA,GAAO0Z,EAASxnB,YAAa4B,EAAQ1B,cAAc,QAGzD2B,GAAQyrB,GAAShtB,KAAM3D,KAAY,GAAI,KAAQ,GAAIoC,cACnDiwB,EAAOpB,GAAS/rB,IAAS+rB,GAAQvD,SACjCvc,EAAI4O,UAAYsS,EAAM,GAAMryB,EAAKkC,QAASwuB,GAAW,aAAgB2B,EAAM,GAG3E1e,EAAI0e,EAAM,GACF1e,KACPxC,EAAMA,EAAIsR,SAKXljB,GAAO8F,MAAOitB,EAAOnhB,EAAI8N,YAGzB9N,EAAM0Z,EAAS1nB,WAGfgO,EAAIkQ,YAAc,OAzBlBiR,GAAMnkB,KAAMlJ,EAAQstB,eAAgBvyB,GAkCvC,KAHA6qB,EAASxJ,YAAc,GAEvBphB,EAAI,EACKD,EAAOsyB,EAAOryB,MAItB,KAAKmyB,GAAmD,KAAtC7yB,EAAO8V,QAASrV,EAAMoyB,MAIxCnrB,EAAW1H,EAAO0H,SAAUjH,EAAKsD,cAAetD,GAGhDmR,EAAMnM,EAAQ6lB,EAASxnB,YAAarD,GAAQ,UAGvCiH,GACJpD,EAAesN,GAIXghB,GAEJ,IADAxe,EAAI,EACK3T,EAAOmR,EAAKwC,MACfod,GAAY3wB,KAAMJ,EAAKV,MAAQ,KACnC6yB,EAAQhkB,KAAMnO,EAMlB,OAAO6qB,IAGR2H,UAAW,SAAU1uB,GAKpB,IAJA,GAAI/B,GAAM/B,EAAMV,EAAMwC,EACrB+pB,EAAUtsB,EAAOsF,MAAMgnB,QACvB5rB,EAAI,EAE2BgC,UAAvBjC,EAAO8D,EAAO7D,IAAoBA,IAAM,CAChD,GAAKV,EAAOgqB,WAAYvpB,KACvB8B,EAAM9B,EAAMiE,GAAUtC,SAEjBG,IAAQC,EAAOkC,GAAUxC,MAAOK,KAAS,CAC7C,GAAKC,EAAK0C,OACT,IAAMnF,IAAQyC,GAAK0C,OACbonB,EAASvsB,GACbC,EAAOsF,MAAMyH,OAAQtM,EAAMV,GAI3BC,EAAOqtB,YAAa5sB,EAAMV,EAAMyC,EAAK6C,OAInCX,IAAUxC,MAAOK,UAEdmC,IAAUxC,MAAOK,SAKpBW,IAAUhB,MAAOzB,EAAMyC,GAAUd,cAK3CpC,EAAOiT,GAAGzN,QACT+P,KAAM,SAAU9M,GACf,MAAOrD,IAAQ1F,KAAM,SAAU+I,GAC9B,MAAiB/F,UAAV+F,EACNzI,EAAOuV,KAAM7V,MACbA,KAAK2M,QAAQ9K,KAAK,YACM,IAAlB7B,KAAKQ,UAAoC,KAAlBR,KAAKQ,UAAqC,IAAlBR,KAAKQ,YACxDR,KAAKoiB,YAAcrZ,MAGpB,KAAMA,EAAOR,UAAUnI,SAG3BozB,OAAQ,WACP,MAAOxzB,MAAKyzB,SAAUlrB,UAAW,SAAUxH,GAC1C,GAAuB,IAAlBf,KAAKQ,UAAoC,KAAlBR,KAAKQ,UAAqC,IAAlBR,KAAKQ,SAAiB,CACzE,GAAIqQ,GAAS9M,EAAoB/D,KAAMe,EACvC8P,GAAOzM,YAAarD,OAKvB2yB,QAAS,WACR,MAAO1zB,MAAKyzB,SAAUlrB,UAAW,SAAUxH,GAC1C,GAAuB,IAAlBf,KAAKQ,UAAoC,KAAlBR,KAAKQ,UAAqC,IAAlBR,KAAKQ,SAAiB,CACzE,GAAIqQ,GAAS9M,EAAoB/D,KAAMe,EACvC8P,GAAO8iB,aAAc5yB,EAAM8P,EAAO3M,gBAKrC0vB,OAAQ,WACP,MAAO5zB,MAAKyzB,SAAUlrB,UAAW,SAAUxH,GACrCf,KAAK+V,YACT/V,KAAK+V,WAAW4d,aAAc5yB,EAAMf,SAKvC6zB,MAAO,WACN,MAAO7zB,MAAKyzB,SAAUlrB,UAAW,SAAUxH,GACrCf,KAAK+V,YACT/V,KAAK+V,WAAW4d,aAAc5yB,EAAMf,KAAKuZ,gBAK5ClM,OAAQ,SAAUiG,EAAUwgB,GAK3B,IAJA,GAAI/yB,GACH8D,EAAQyO,EAAWhT,EAAOc,OAAQkS,EAAUtT,MAASA,KACrDgB,EAAI,EAEwB,OAApBD,EAAO8D,EAAM7D,IAAaA,IAC5B8yB,GAA8B,IAAlB/yB,EAAKP,UACtBF,EAAOizB,UAAWxtB,EAAQhF,IAGtBA,EAAKgV,aACJ+d,GAAYxzB,EAAO0H,SAAUjH,EAAKsD,cAAetD,IACrD6D,EAAemB,EAAQhF,EAAM,WAE9BA,EAAKgV,WAAWC,YAAajV,GAI/B,OAAOf,OAGR2M,MAAO,WAIN,IAHA,GAAI5L,GACHC,EAAI,EAEuB,OAAnBD,EAAOf,KAAKgB,IAAaA,IACV,IAAlBD,EAAKP,WAGTF,EAAOizB,UAAWxtB,EAAQhF,GAAM,IAGhCA,EAAKqhB,YAAc,GAIrB,OAAOpiB,OAGR+U,MAAO,SAAU6d,EAAeC,GAI/B,MAHAD,GAAiC,MAAjBA,GAAwB,EAAQA,EAChDC,EAAyC,MAArBA,EAA4BD,EAAgBC,EAEzD7yB,KAAKsP,IAAI,WACf,MAAOhP,GAAOyU,MAAO/U,KAAM4yB,EAAeC,MAI5CkB,KAAM,SAAUhrB,GACf,MAAOrD,IAAQ1F,KAAM,SAAU+I,GAC9B,GAAIhI,GAAOf,KAAM,OAChBgB,EAAI,EACJ+D,EAAI/E,KAAKI,MAEV,IAAe4C,SAAV+F,GAAyC,IAAlBhI,EAAKP,SAChC,MAAOO,GAAK+f,SAIb,IAAsB,gBAAV/X,KAAuB6oB,GAAazwB,KAAM4H,KACpDipB,IAAWN,GAAShtB,KAAMqE,KAAa,GAAI,KAAQ,GAAI5F,eAAkB,CAE1E4F,EAAQA,EAAM9F,QAASwuB,GAAW,YAElC,KACC,KAAY1sB,EAAJ/D,EAAOA,IACdD,EAAOf,KAAMgB,OAGU,IAAlBD,EAAKP,WACTF,EAAOizB,UAAWxtB,EAAQhF,GAAM,IAChCA,EAAK+f,UAAY/X,EAInBhI,GAAO,EAGN,MAAOwC,KAGLxC,GACJf,KAAK2M,QAAQ6mB,OAAQzqB,IAEpB,KAAMA,EAAOR,UAAUnI,SAG3B4zB,YAAa,WACZ,GAAIvd,GAAMlO,UAAW,EAcrB,OAXAvI,MAAKyzB,SAAUlrB,UAAW,SAAUxH,GACnC0V,EAAMzW,KAAK+V,WAEXzV,EAAOizB,UAAWxtB,EAAQ/F,OAErByW,GACJA,EAAIwd,aAAclzB,EAAMf,QAKnByW,IAAQA,EAAIrW,QAAUqW,EAAIjW,UAAYR,KAAOA,KAAKqN,UAG1DpG,OAAQ,SAAUqM,GACjB,MAAOtT,MAAKqN,OAAQiG,GAAU,IAG/BmgB,SAAU,SAAUpf,EAAMD,GAGzBC,EAAOxI,EAAOvD,SAAW+L,EAEzB,IAAIuX,GAAUtX,EAAO4e,EAASgB,EAAYhU,EAAMxZ,EAC/C1F,EAAI,EACJ+D,EAAI/E,KAAKI,OACTqD,EAAMzD,KACNm0B,EAAWpvB,EAAI,EACfgE,EAAQsL,EAAM,GACdxT,EAAaP,EAAOO,WAAYkI,EAGjC,IAAKlI,GACDkE,EAAI,GAAsB,gBAAVgE,KAChBgB,EAAQ+hB,YAAc+F,GAAS1wB,KAAM4H,GACxC,MAAO/I,MAAK6B,KAAK,SAAUyI,GAC1B,GAAI6b,GAAO1iB,EAAI8Q,GAAIjK,EACdzJ,KACJwT,EAAM,GAAMtL,EAAM9H,KAAMjB,KAAMsK,EAAO6b,EAAK4N,SAE3C5N,EAAKsN,SAAUpf,EAAMD,IAIvB,IAAKrP,IACJ6mB,EAAWtrB,EAAO2yB,cAAe5e,EAAMrU,KAAM,GAAIqE,eAAe,EAAOrE,MACvEsU,EAAQsX,EAAS1nB,WAEmB,IAA/B0nB,EAAS5L,WAAW5f,SACxBwrB,EAAWtX,GAGPA,GAAQ,CAMZ,IALA4e,EAAU5yB,EAAOgP,IAAKvJ,EAAQ6lB,EAAU,UAAYrnB,GACpD2vB,EAAahB,EAAQ9yB,OAIT2E,EAAJ/D,EAAOA,IACdkf,EAAO0L,EAEF5qB,IAAMmzB,IACVjU,EAAO5f,EAAOyU,MAAOmL,GAAM,GAAM,GAG5BgU,GAGJ5zB,EAAO8F,MAAO8sB,EAASntB,EAAQma,EAAM,YAIvC9L,EAASnT,KAAMjB,KAAMgB,GAAKkf,EAAMlf,EAGjC,IAAKkzB,EAOJ,IANAxtB,EAAMwsB,EAASA,EAAQ9yB,OAAS,GAAIiE,cAGpC/D,EAAOgP,IAAK4jB,EAAS1uB,GAGfxD,EAAI,EAAOkzB,EAAJlzB,EAAgBA,IAC5Bkf,EAAOgT,EAASlyB,GACX8wB,GAAY3wB,KAAM+e,EAAK7f,MAAQ,MAClC2E,GAAUU,OAAQwa,EAAM,eAAkB5f,EAAO0H,SAAUtB,EAAKwZ,KAE5DA,EAAKhb,IAEJ5E,EAAO8zB,UACX9zB,EAAO8zB,SAAUlU,EAAKhb,KAGvB5E,EAAOiV,WAAY2K,EAAKkC,YAAYnf,QAAS8uB,GAAc,MAQjE,MAAO/xB,SAITM,EAAOuB,MACN+E,SAAU,SACVytB,UAAW,UACXV,aAAc,SACdW,YAAa,QACbC,WAAY,eACV,SAAUxxB,EAAMssB,GAClB/uB,EAAOiT,GAAIxQ,GAAS,SAAUuQ,GAO7B,IANA,GAAIzO,GACHqB,KACAsuB,EAASl0B,EAAQgT,GACjBkB,EAAOggB,EAAOp0B,OAAS,EACvBY,EAAI,EAEQwT,GAALxT,EAAWA,IAClB6D,EAAQ7D,IAAMwT,EAAOxU,KAAOA,KAAK+U,OAAO,GACxCzU,EAAQk0B,EAAQxzB,IAAOquB,GAAYxqB,GAInCqK,EAAK5G,MAAOpC,EAAKrB,EAAMpC,MAGxB,OAAOzC,MAAKkU,UAAWhO,KAKzB,IAAIkB,IACHD,MA4DGe,GAAU,UAEVD,GAAY,GAAIqW,QAAQ,KAAOmN,GAAO,kBAAmB,KAEzD3jB,GAAY,SAAU/G,GAIxB,MAAKA,GAAKsD,cAAc0O,YAAY0hB,OAC5B1zB,EAAKsD,cAAc0O,YAAY2hB,iBAAkB3zB,EAAM,MAGxDhB,EAAO20B,iBAAkB3zB,EAAM,QAuExC,WAsBC,QAAS4zB,KACR9b,EAAIlS,MAAMiuB,QAGT,uKAGD/b,EAAIiI,UAAY,GAChBvD,EAAQnZ,YAAaywB,EAErB,IAAIC,GAAW/0B,EAAO20B,iBAAkB7b,EAAK,KAC7Ckc,GAAoC,OAAjBD,EAASzU,IAC5B2U,EAA0C,QAAnBF,EAASntB,MAEhC4V,EAAQvH,YAAa6e,GAnCtB,GAAIE,GAAkBC,EACrBzX,EAAU3d,EAASyH,gBACnBwtB,EAAYj1B,EAAS0E,cAAe,OACpCuU,EAAMjZ,EAAS0E,cAAe,MAEzBuU,GAAIlS,QAMVkS,EAAIlS,MAAMsuB,eAAiB,cAC3Bpc,EAAIkT,WAAW,GAAOplB,MAAMsuB,eAAiB,GAC7ClrB,EAAQmrB,gBAA+C,gBAA7Brc,EAAIlS,MAAMsuB,eAEpCJ,EAAUluB,MAAMiuB,QAAU,gFAE1BC,EAAUzwB,YAAayU,GAuBlB9Y,EAAO20B,kBACXp0B,EAAOwF,OAAQiE,GACdorB,cAAe,WAMd,MADAR,KACOI,GAER/qB,kBAAmB,WAIlB,MAH6B,OAAxBgrB,GACJL,IAEMK,GAERI,oBAAqB,WAOpB,GAAIlvB,GACHmvB,EAAYxc,EAAIzU,YAAaxE,EAAS0E,cAAe,OAiBtD,OAdA+wB,GAAU1uB,MAAMiuB,QAAU/b,EAAIlS,MAAMiuB,QAGnC,8HAEDS,EAAU1uB,MAAM2uB,YAAcD,EAAU1uB,MAAMgB,MAAQ,IACtDkR,EAAIlS,MAAMgB,MAAQ,MAClB4V,EAAQnZ,YAAaywB,GAErB3uB,GAAO+D,WAAYlK,EAAO20B,iBAAkBW,EAAW,MAAOC,aAE9D/X,EAAQvH,YAAa6e,GACrBhc,EAAI7C,YAAaqf,GAEVnvB,SAQX5F,EAAOi1B,KAAO,SAAUx0B,EAAMW,EAAS0S,EAAUC,GAChD,GAAInO,GAAKnD,EACRkU,IAGD,KAAMlU,IAAQrB,GACbuV,EAAKlU,GAAShC,EAAK4F,MAAO5D,GAC1BhC,EAAK4F,MAAO5D,GAASrB,EAASqB,EAG/BmD,GAAMkO,EAAS9L,MAAOvH,EAAMsT,MAG5B,KAAMtR,IAAQrB,GACbX,EAAK4F,MAAO5D,GAASkU,EAAKlU,EAG3B,OAAOmD,GAIR,IAGCsvB,IAAe,4BACftsB,GAAY,GAAIoV,QAAQ,KAAOmN,GAAO,SAAU,KAChDgK,GAAU,GAAInX,QAAQ,YAAcmN,GAAO,IAAK,KAEhDiK,IAAYC,SAAU,WAAYC,WAAY,SAAU9uB,QAAS,SACjE+uB,IACCC,cAAe,IACfC,WAAY,OAGbltB,IAAgB,SAAU,IAAK,MAAO,KAuKvCvI,GAAOwF,QAIN6H,UACCpC,SACC9I,IAAK,SAAU1B,EAAM2G,GACpB,GAAKA,EAAW,CAGf,GAAIxB,GAAMuB,EAAQ1G,EAAM,UACxB,OAAe,KAARmF,EAAa,IAAMA,MAO9B8vB,WACCC,aAAe,EACfC,aAAe,EACfC,UAAY,EACZC,YAAc,EACdL,YAAc,EACdM,YAAc,EACd9qB,SAAW,EACX+qB,OAAS,EACTC,SAAW,EACXC,QAAU,EACVC,QAAU,EACVC,MAAQ,GAKTC,UACCC,QAAS,YAIVjwB,MAAO,SAAU5F,EAAMgC,EAAMgG,EAAOO,GAGnC,GAAMvI,GAA0B,IAAlBA,EAAKP,UAAoC,IAAlBO,EAAKP,UAAmBO,EAAK4F,MAAlE,CAKA,GAAIT,GAAK7F,EAAM6L,EACdtD,EAAWtI,EAAOmN,UAAW1K,GAC7B4D,EAAQ5F,EAAK4F,KAQd,OANA5D,GAAOzC,EAAOq2B,SAAU/tB,KAAgBtI,EAAOq2B,SAAU/tB,GAAaJ,EAAgB7B,EAAOiC,IAG7FsD,EAAQ5L,EAAOqN,SAAU5K,IAAUzC,EAAOqN,SAAU/E,GAGrC5F,SAAV+F,EAiCCmD,GAAS,OAASA,IAAqDlJ,UAA3CkD,EAAMgG,EAAMzJ,IAAK1B,GAAM,EAAOuI,IACvDpD,EAIDS,EAAO5D,IArCd1C,QAAc0I,GAGA,WAAT1I,IAAsB6F,EAAMuvB,GAAQ/wB,KAAMqE,MAC9CA,GAAU7C,EAAI,GAAK,GAAMA,EAAI,GAAK+D,WAAY3J,EAAO0G,IAAKjG,EAAMgC,IAEhE1C,EAAO,UAIM,MAAT0I,GAAiBA,IAAUA,IAKlB,WAAT1I,GAAsBC,EAAO01B,UAAWptB,KAC5CG,GAAS,MAKJgB,EAAQmrB,iBAA6B,KAAVnsB,GAAiD,IAAjChG,EAAK1B,QAAS,gBAC9DsF,EAAO5D,GAAS,WAIXmJ,GAAW,OAASA,IAAwDlJ,UAA7C+F,EAAQmD,EAAMzI,IAAK1C,EAAMgI,EAAOO,MACpE3C,EAAO5D,GAASgG,IAjBjB,UA+BF/B,IAAK,SAAUjG,EAAMgC,EAAMuG,EAAOE,GACjC,GAAIC,GAAKwK,EAAK/H,EACbtD,EAAWtI,EAAOmN,UAAW1K,EAwB9B,OArBAA,GAAOzC,EAAOq2B,SAAU/tB,KAAgBtI,EAAOq2B,SAAU/tB,GAAaJ,EAAgBzH,EAAK4F,MAAOiC,IAGlGsD,EAAQ5L,EAAOqN,SAAU5K,IAAUzC,EAAOqN,SAAU/E,GAG/CsD,GAAS,OAASA,KACtBzC,EAAMyC,EAAMzJ,IAAK1B,GAAM,EAAMuI,IAIjBtG,SAARyG,IACJA,EAAMhC,EAAQ1G,EAAMgC,EAAMyG,IAId,WAARC,GAAoB1G,IAAQ8yB,MAChCpsB,EAAMosB,GAAoB9yB,IAIZ,KAAVuG,GAAgBA,GACpB2K,EAAMhK,WAAYR,GACXH,KAAU,GAAQhJ,EAAOgV,UAAWrB,GAAQA,GAAO,EAAIxK,GAExDA,KAITnJ,EAAOuB,MAAO,SAAU,SAAW,SAAUb,EAAG+B,GAC/CzC,EAAOqN,SAAU5K,IAChBN,IAAK,SAAU1B,EAAM2G,EAAU4B,GAC9B,MAAK5B,GAIG8tB,GAAar0B,KAAMb,EAAO0G,IAAKjG,EAAM,aAAsC,IAArBA,EAAK8I,YACjEvJ,EAAOi1B,KAAMx0B,EAAM20B,GAAS,WAC3B,MAAO/rB,GAAkB5I,EAAMgC,EAAMuG,KAEtCK,EAAkB5I,EAAMgC,EAAMuG,GARhC,QAYD7F,IAAK,SAAU1C,EAAMgI,EAAOO,GAC3B,GAAIE,GAASF,GAASxB,GAAW/G,EACjC,OAAO+H,GAAmB/H,EAAMgI,EAAOO,EACtCD,EACCtI,EACAgC,EACAuG,EACmD,eAAnDhJ,EAAO0G,IAAKjG,EAAM,aAAa,EAAOyI,GACtCA,GACG,OAORlJ,EAAOqN,SAAS2nB,YAAcntB,EAAc4B,EAAQqrB,oBACnD,SAAUr0B,EAAM2G,GACf,MAAKA,GACGpH,EAAOi1B,KAAMx0B,GAAQ+F,QAAW,gBACtCW,GAAU1G,EAAM,gBAFlB,SAQFT,EAAOuB,MACNg1B,OAAQ,GACRC,QAAS,GACTC,OAAQ,SACN,SAAUrkB,EAAQskB,GACpB12B,EAAOqN,SAAU+E,EAASskB,IACzBppB,OAAQ,SAAU7E,GAOjB,IANA,GAAI/H,GAAI,EACPi2B,KAGAC,EAAyB,gBAAVnuB,GAAqBA,EAAMuJ,MAAM,MAASvJ,GAE9C,EAAJ/H,EAAOA,IACdi2B,EAAUvkB,EAAShJ,GAAW1I,GAAMg2B,GACnCE,EAAOl2B,IAAOk2B,EAAOl2B,EAAI,IAAOk2B,EAAO,EAGzC,OAAOD,KAIH/uB,GAAQ/G,KAAMuR,KACnBpS,EAAOqN,SAAU+E,EAASskB,GAASvzB,IAAMqF,KAI3CxI,EAAOiT,GAAGzN,QACTkB,IAAK,SAAUjE,EAAMgG,GACpB,MAAOrD,IAAQ1F,KAAM,SAAUe,EAAMgC,EAAMgG,GAC1C,GAAIS,GAAQiL,EACXnF,KACAtO,EAAI,CAEL,IAAKV,EAAOoN,QAAS3K,GAAS,CAI7B,IAHAyG,EAAS1B,GAAW/G,GACpB0T,EAAM1R,EAAK3C,OAECqU,EAAJzT,EAASA,IAChBsO,EAAKvM,EAAM/B,IAAQV,EAAO0G,IAAKjG,EAAMgC,EAAM/B,IAAK,EAAOwI,EAGxD,OAAO8F,GAGR,MAAiBtM,UAAV+F,EACNzI,EAAOqG,MAAO5F,EAAMgC,EAAMgG,GAC1BzI,EAAO0G,IAAKjG,EAAMgC,IACjBA,EAAMgG,EAAOR,UAAUnI,OAAS,IAEpC+J,KAAM,WACL,MAAOD,GAAUlK,MAAM,IAExBoN,KAAM,WACL,MAAOlD,GAAUlK,OAElBiM,OAAQ,SAAUsG,GACjB,MAAsB,iBAAVA,GACJA,EAAQvS,KAAKmK,OAASnK,KAAKoN,OAG5BpN,KAAK6B,KAAK,WACX0I,GAAUvK,MACdM,EAAQN,MAAOmK,OAEf7J,EAAQN,MAAOoN,YAUnB9M,EAAOkK,MAAQA,EAEfA,EAAMI,WACLmJ,YAAavJ,EACbK,KAAM,SAAU9J,EAAMW,EAAS+I,EAAMC,EAAKC,EAAQwsB,GACjDn3B,KAAKe,KAAOA,EACZf,KAAKyK,KAAOA,EACZzK,KAAK2K,OAASA,GAAU,QACxB3K,KAAK0B,QAAUA,EACf1B,KAAKsN,MAAQtN,KAAKiL,IAAMjL,KAAKuB,MAC7BvB,KAAK0K,IAAMA,EACX1K,KAAKm3B,KAAOA,IAAU72B,EAAO01B,UAAWvrB,GAAS,GAAK,OAEvDlJ,IAAK,WACJ,GAAI2K,GAAQ1B,EAAM4sB,UAAWp3B,KAAKyK,KAElC,OAAOyB,IAASA,EAAMzJ,IACrByJ,EAAMzJ,IAAKzC,MACXwK,EAAM4sB,UAAU3I,SAAShsB,IAAKzC,OAEhC4O,IAAK,SAAUF,GACd,GAAI2oB,GACHnrB,EAAQ1B,EAAM4sB,UAAWp3B,KAAKyK,KAoB/B,OAlBKzK,MAAK0B,QAAQ8M,SACjBxO,KAAKgnB,IAAMqQ,EAAQ/2B,EAAOqK,OAAQ3K,KAAK2K,QACtC+D,EAAS1O,KAAK0B,QAAQ8M,SAAWE,EAAS,EAAG,EAAG1O,KAAK0B,QAAQ8M,UAG9DxO,KAAKgnB,IAAMqQ,EAAQ3oB,EAEpB1O,KAAKiL,KAAQjL,KAAK0K,IAAM1K,KAAKsN,OAAU+pB,EAAQr3B,KAAKsN,MAE/CtN,KAAK0B,QAAQ41B,MACjBt3B,KAAK0B,QAAQ41B,KAAKr2B,KAAMjB,KAAKe,KAAMf,KAAKiL,IAAKjL,MAGzCkM,GAASA,EAAMzI,IACnByI,EAAMzI,IAAKzD,MAEXwK,EAAM4sB,UAAU3I,SAAShrB,IAAKzD,MAExBA,OAITwK,EAAMI,UAAUC,KAAKD,UAAYJ,EAAMI,UAEvCJ,EAAM4sB,WACL3I,UACChsB,IAAK,SAAUiJ,GACd,GAAIqC,EAEJ,OAAiC,OAA5BrC,EAAM3K,KAAM2K,EAAMjB,OACpBiB,EAAM3K,KAAK4F,OAA2C,MAAlC+E,EAAM3K,KAAK4F,MAAO+E,EAAMjB,OAQ/CsD,EAASzN,EAAO0G,IAAK0E,EAAM3K,KAAM2K,EAAMjB,KAAM,IAErCsD,GAAqB,SAAXA,EAAwBA,EAAJ,GAT9BrC,EAAM3K,KAAM2K,EAAMjB,OAW3BhH,IAAK,SAAUiI,GAITpL,EAAOiP,GAAG+nB,KAAM5rB,EAAMjB,MAC1BnK,EAAOiP,GAAG+nB,KAAM5rB,EAAMjB,MAAQiB,GACnBA,EAAM3K,KAAK4F,QAAgE,MAArD+E,EAAM3K,KAAK4F,MAAOrG,EAAOq2B,SAAUjrB,EAAMjB,QAAoBnK,EAAOqN,SAAUjC,EAAMjB,OACrHnK,EAAOqG,MAAO+E,EAAM3K,KAAM2K,EAAMjB,KAAMiB,EAAMT,IAAMS,EAAMyrB,MAExDzrB,EAAM3K,KAAM2K,EAAMjB,MAASiB,EAAMT,OAQrCT,EAAM4sB,UAAUpH,UAAYxlB,EAAM4sB,UAAUxH,YAC3CnsB,IAAK,SAAUiI,GACTA,EAAM3K,KAAKP,UAAYkL,EAAM3K,KAAKgV,aACtCrK,EAAM3K,KAAM2K,EAAMjB,MAASiB,EAAMT,OAKpC3K,EAAOqK,QACN4sB,OAAQ,SAAUC,GACjB,MAAOA,IAERC,MAAO,SAAUD,GAChB,MAAO,GAAMruB,KAAKuuB,IAAKF,EAAIruB,KAAKwuB,IAAO,IAIzCr3B,EAAOiP,GAAK/E,EAAMI,UAAUC,KAG5BvK,EAAOiP,GAAG+nB,OAKV,IACCtsB,IAAO4sB,GACP3qB,GAAW,yBACX4qB,GAAS,GAAIvZ,QAAQ,iBAAmBmN,GAAO,cAAe,KAC9DqM,GAAO,cACP7pB,IAAwBnC,GACxBF,IACCmsB,KAAO,SAAUttB,EAAM1B,GACtB,GAAI2C,GAAQ1L,KAAKwL,YAAaf,EAAM1B,GACnC8H,EAASnF,EAAMnK,MACf21B,EAAQW,GAAOnzB,KAAMqE,GACrBouB,EAAOD,GAASA,EAAO,KAAS52B,EAAO01B,UAAWvrB,GAAS,GAAK,MAGhE6C,GAAUhN,EAAO01B,UAAWvrB,IAAmB,OAAT0sB,IAAkBtmB,IACvDgnB,GAAOnzB,KAAMpE,EAAO0G,IAAK0E,EAAM3K,KAAM0J,IACtCutB,EAAQ,EACRC,EAAgB,EAEjB,IAAK3qB,GAASA,EAAO,KAAQ6pB,EAAO,CAEnCA,EAAOA,GAAQ7pB,EAAO,GAGtB4pB,EAAQA,MAGR5pB,GAASuD,GAAU,CAEnB,GAGCmnB,GAAQA,GAAS,KAGjB1qB,GAAgB0qB,EAChB13B,EAAOqG,MAAO+E,EAAM3K,KAAM0J,EAAM6C,EAAQ6pB,SAI/Ba,KAAWA,EAAQtsB,EAAMnK,MAAQsP,IAAqB,IAAVmnB,KAAiBC,GAaxE,MATKf,KACJ5pB,EAAQ5B,EAAM4B,OAASA,IAAUuD,GAAU,EAC3CnF,EAAMyrB,KAAOA,EAEbzrB,EAAMhB,IAAMwsB,EAAO,GAClB5pB,GAAU4pB,EAAO,GAAM,GAAMA,EAAO,IACnCA,EAAO,IAGHxrB,IAiUVpL,GAAOuN,UAAYvN,EAAOwF,OAAQ+H,GAEjCqqB,QAAS,SAAUnsB,EAAOqI,GACpB9T,EAAOO,WAAYkL,IACvBqI,EAAWrI,EACXA,GAAU,MAEVA,EAAQA,EAAMuG,MAAM,IAOrB,KAJA,GAAI7H,GACHH,EAAQ,EACRlK,EAAS2L,EAAM3L,OAEAA,EAARkK,EAAiBA,IACxBG,EAAOsB,EAAOzB,GACdsB,GAAUnB,GAASmB,GAAUnB,OAC7BmB,GAAUnB,GAAOyF,QAASkE,IAI5B+jB,UAAW,SAAU/jB,EAAUsf,GACzBA,EACJzlB,GAAoBiC,QAASkE,GAE7BnG,GAAoBiB,KAAMkF,MAK7B9T,EAAO83B,MAAQ,SAAUA,EAAOztB,EAAQ4I,GACvC,GAAI8kB,GAAMD,GAA0B,gBAAVA,GAAqB93B,EAAOwF,UAAYsyB,IACjE1oB,SAAU6D,IAAOA,GAAM5I,GACtBrK,EAAOO,WAAYu3B,IAAWA,EAC/B5pB,SAAU4pB,EACVztB,OAAQ4I,GAAM5I,GAAUA,IAAWrK,EAAOO,WAAY8J,IAAYA,EAwBnE,OArBA0tB,GAAI7pB,SAAWlO,EAAOiP,GAAGya,IAAM,EAA4B,gBAAjBqO,GAAI7pB,SAAwB6pB,EAAI7pB,SACzE6pB,EAAI7pB,WAAYlO,GAAOiP,GAAG+oB,OAASh4B,EAAOiP,GAAG+oB,OAAQD,EAAI7pB,UAAalO,EAAOiP,GAAG+oB,OAAO7J,UAGtE,MAAb4J,EAAI7rB,OAAiB6rB,EAAI7rB,SAAU,KACvC6rB,EAAI7rB,MAAQ,MAIb6rB,EAAIphB,IAAMohB,EAAI3oB,SAEd2oB,EAAI3oB,SAAW,WACTpP,EAAOO,WAAYw3B,EAAIphB,MAC3BohB,EAAIphB,IAAIhW,KAAMjB,MAGVq4B,EAAI7rB,OACRlM,EAAO6qB,QAASnrB,KAAMq4B,EAAI7rB,QAIrB6rB,GAGR/3B,EAAOiT,GAAGzN,QACTyyB,OAAQ,SAAUH,EAAOI,EAAI7tB,EAAQyJ,GAGpC,MAAOpU,MAAKoB,OAAQmJ,IAAWvD,IAAK,UAAW,GAAImD,OAGjDO,MAAM+tB,SAAUltB,QAASitB,GAAMJ,EAAOztB,EAAQyJ,IAEjDqkB,QAAS,SAAUhuB,EAAM2tB,EAAOztB,EAAQyJ,GACvC,GAAIzH,GAAQrM,EAAO4M,cAAezC,GACjCiuB,EAASp4B,EAAO83B,MAAOA,EAAOztB,EAAQyJ,GACtCukB,EAAc,WAEb,GAAItsB,GAAOwB,EAAW7N,KAAMM,EAAOwF,UAAY2E,GAAQiuB,IAGlD/rB,GAAS3H,GAAUvC,IAAKzC,KAAM,YAClCqM,EAAK8C,MAAM,GAKd,OAFCwpB,GAAYC,OAASD,EAEfhsB,GAAS+rB,EAAOlsB,SAAU,EAChCxM,KAAK6B,KAAM82B,GACX34B,KAAKwM,MAAOksB,EAAOlsB,MAAOmsB,IAE5BxpB,KAAM,SAAU9O,EAAMirB,EAAYlc,GACjC,GAAIypB,GAAY,SAAU3sB,GACzB,GAAIiD,GAAOjD,EAAMiD,WACVjD,GAAMiD,KACbA,EAAMC,GAYP,OATqB,gBAAT/O,KACX+O,EAAUkc,EACVA,EAAajrB,EACbA,EAAO2C,QAEHsoB,GAAcjrB,KAAS,GAC3BL,KAAKwM,MAAOnM,GAAQ,SAGdL,KAAK6B,KAAK,WAChB,GAAIspB,IAAU,EACb7gB,EAAgB,MAARjK,GAAgBA,EAAO,aAC/By4B,EAASx4B,EAAOw4B,OAChBh2B,EAAOkC,GAAUvC,IAAKzC,KAEvB,IAAKsK,EACCxH,EAAMwH,IAAWxH,EAAMwH,GAAQ6E,MACnC0pB,EAAW/1B,EAAMwH,QAGlB,KAAMA,IAASxH,GACTA,EAAMwH,IAAWxH,EAAMwH,GAAQ6E,MAAQ2oB,GAAK32B,KAAMmJ,IACtDuuB,EAAW/1B,EAAMwH,GAKpB,KAAMA,EAAQwuB,EAAO14B,OAAQkK,KACvBwuB,EAAQxuB,GAAQvJ,OAASf,MAAiB,MAARK,GAAgBy4B,EAAQxuB,GAAQkC,QAAUnM,IAChFy4B,EAAQxuB,GAAQ+B,KAAK8C,KAAMC,GAC3B+b,GAAU,EACV2N,EAAOlkB,OAAQtK,EAAO,KAOnB6gB,IAAY/b,IAChB9O,EAAO6qB,QAASnrB,KAAMK,MAIzBu4B,OAAQ,SAAUv4B,GAIjB,MAHKA,MAAS,IACbA,EAAOA,GAAQ,MAETL,KAAK6B,KAAK,WAChB,GAAIyI,GACHxH,EAAOkC,GAAUvC,IAAKzC,MACtBwM,EAAQ1J,EAAMzC,EAAO,SACrB6L,EAAQpJ,EAAMzC,EAAO,cACrBy4B,EAASx4B,EAAOw4B,OAChB14B,EAASoM,EAAQA,EAAMpM,OAAS,CAajC,KAVA0C,EAAK81B,QAAS,EAGdt4B,EAAOkM,MAAOxM,KAAMK,MAEf6L,GAASA,EAAMiD,MACnBjD,EAAMiD,KAAKlO,KAAMjB,MAAM,GAIlBsK,EAAQwuB,EAAO14B,OAAQkK,KACvBwuB,EAAQxuB,GAAQvJ,OAASf,MAAQ84B,EAAQxuB,GAAQkC,QAAUnM,IAC/Dy4B,EAAQxuB,GAAQ+B,KAAK8C,MAAM,GAC3B2pB,EAAOlkB,OAAQtK,EAAO,GAKxB,KAAMA,EAAQ,EAAWlK,EAARkK,EAAgBA,IAC3BkC,EAAOlC,IAAWkC,EAAOlC,GAAQsuB,QACrCpsB,EAAOlC,GAAQsuB,OAAO33B,KAAMjB,YAKvB8C,GAAK81B,YAKft4B,EAAOuB,MAAO,SAAU,OAAQ,QAAU,SAAUb,EAAG+B,GACtD,GAAIg2B,GAAQz4B,EAAOiT,GAAIxQ,EACvBzC,GAAOiT,GAAIxQ,GAAS,SAAUq1B,EAAOztB,EAAQyJ,GAC5C,MAAgB,OAATgkB,GAAkC,iBAAVA,GAC9BW,EAAMzwB,MAAOtI,KAAMuI,WACnBvI,KAAKy4B,QAASvtB,EAAOnI,GAAM,GAAQq1B,EAAOztB,EAAQyJ,MAKrD9T,EAAOuB,MACNm3B,UAAW9tB,EAAM,QACjB+tB,QAAS/tB,EAAM,QACfguB,YAAahuB,EAAM,UACnBiuB,QAAU5tB,QAAS,QACnB6tB,SAAW7tB,QAAS,QACpB8tB,YAAc9tB,QAAS,WACrB,SAAUxI,EAAMgJ,GAClBzL,EAAOiT,GAAIxQ,GAAS,SAAUq1B,EAAOztB,EAAQyJ,GAC5C,MAAOpU,MAAKy4B,QAAS1sB,EAAOqsB,EAAOztB,EAAQyJ,MAI7C9T,EAAOw4B,UACPx4B,EAAOiP,GAAGnB,KAAO,WAChB,GAAIoB,GACHxO,EAAI,EACJ83B,EAASx4B,EAAOw4B,MAIjB,KAFA9tB,GAAQ1K,EAAO2K,MAEPjK,EAAI83B,EAAO14B,OAAQY,IAC1BwO,EAAQspB,EAAQ93B,GAEVwO,KAAWspB,EAAQ93B,KAAQwO,GAChCspB,EAAOlkB,OAAQ5T,IAAK,EAIhB83B,GAAO14B,QACZE,EAAOiP,GAAGJ,OAEXnE,GAAQhI,QAGT1C,EAAOiP,GAAGC,MAAQ,SAAUA,GAC3BlP,EAAOw4B,OAAO5pB,KAAMM,GACfA,IACJlP,EAAOiP,GAAGjC,QAEVhN,EAAOw4B,OAAO9b,OAIhB1c,EAAOiP,GAAG+pB,SAAW,GAErBh5B,EAAOiP,GAAGjC,MAAQ,WACXsqB,KACLA,GAAU2B,YAAaj5B,EAAOiP,GAAGnB,KAAM9N,EAAOiP,GAAG+pB,YAInDh5B,EAAOiP,GAAGJ,KAAO,WAChBqqB,cAAe5B,IACfA,GAAU,MAGXt3B,EAAOiP,GAAG+oB,QACTmB,KAAM,IACNC,KAAM,IAENjL,SAAU,KAMXnuB,EAAOiT,GAAGomB,MAAQ,SAAUC,EAAMv5B,GAIjC,MAHAu5B,GAAOt5B,EAAOiP,GAAKjP,EAAOiP,GAAG+oB,OAAQsB,IAAUA,EAAOA,EACtDv5B,EAAOA,GAAQ,KAERL,KAAKwM,MAAOnM,EAAM,SAAUqmB,EAAMxa,GACxC,GAAI2tB,GAAU9uB,WAAY2b,EAAMkT,EAChC1tB,GAAMiD,KAAO,WACZ2qB,aAAcD,OAMjB,WACC,GAAI9Y,GAAQnhB,EAAS0E,cAAe,SACnCgU,EAAS1Y,EAAS0E,cAAe,UACjC+zB,EAAM/f,EAAOlU,YAAaxE,EAAS0E,cAAe,UAEnDyc,GAAM1gB,KAAO,WAIb0J,EAAQgwB,QAA0B,KAAhBhZ,EAAMhY,MAIxBgB,EAAQiwB,YAAc3B,EAAI/nB,SAI1BgI,EAAOkM,UAAW,EAClBza,EAAQkwB,aAAe5B,EAAI7T,SAI3BzD,EAAQnhB,EAAS0E,cAAe,SAChCyc,EAAMhY,MAAQ,IACdgY,EAAM1gB,KAAO,QACb0J,EAAQmwB,WAA6B,MAAhBnZ,EAAMhY,QAI5B,IAAIoxB,IAAUC,GACbphB,GAAa1Y,EAAOwhB,KAAK9I,UAE1B1Y,GAAOiT,GAAGzN,QACTic,KAAM,SAAUhf,EAAMgG,GACrB,MAAOrD,IAAQ1F,KAAMM,EAAOyhB,KAAMhf,EAAMgG,EAAOR,UAAUnI,OAAS,IAGnEi6B,WAAY,SAAUt3B,GACrB,MAAO/C,MAAK6B,KAAK,WAChBvB,EAAO+5B,WAAYr6B,KAAM+C,QAK5BzC,EAAOwF,QACNic,KAAM,SAAUhhB,EAAMgC,EAAMgG,GAC3B,GAAImD,GAAOhG,EACVo0B,EAAQv5B,EAAKP,QAGd,IAAMO,GAAkB,IAAVu5B,GAAyB,IAAVA,GAAyB,IAAVA,EAK5C,aAAYv5B,GAAKqC,eAAiB6oB,GAC1B3rB,EAAOmK,KAAM1J,EAAMgC,EAAMgG,IAKlB,IAAVuxB,GAAgBh6B,EAAO0lB,SAAUjlB,KACrCgC,EAAOA,EAAKI,cACZ+I,EAAQ5L,EAAOi6B,UAAWx3B,KACvBzC,EAAOwhB,KAAKhgB,MAAMqd,KAAKhe,KAAM4B,GAASq3B,GAAWD,KAGtCn3B,SAAV+F,EAaOmD,GAAS,OAASA,IAA6C,QAAnChG,EAAMgG,EAAMzJ,IAAK1B,EAAMgC,IACvDmD,GAGPA,EAAM5F,EAAOwc,KAAKiF,KAAMhhB,EAAMgC,GAGhB,MAAPmD,EACNlD,OACAkD,GApBc,OAAV6C,EAGOmD,GAAS,OAASA,IAAoDlJ,UAA1CkD,EAAMgG,EAAMzI,IAAK1C,EAAMgI,EAAOhG,IAC9DmD,GAGPnF,EAAKiX,aAAcjV,EAAMgG,EAAQ,IAC1BA,OAPPzI,GAAO+5B,WAAYt5B,EAAMgC,KAuB5Bs3B,WAAY,SAAUt5B,EAAMgI,GAC3B,GAAIhG,GAAMy3B,EACTx5B,EAAI,EACJy5B,EAAY1xB,GAASA,EAAMjH,MAAOC,GAEnC,IAAK04B,GAA+B,IAAlB15B,EAAKP,SACtB,KAASuC,EAAO03B,EAAUz5B,MACzBw5B,EAAWl6B,EAAOo6B,QAAS33B,IAAUA,EAGhCzC,EAAOwhB,KAAKhgB,MAAMqd,KAAKhe,KAAM4B,KAEjChC,EAAMy5B,IAAa,GAGpBz5B,EAAK4D,gBAAiB5B,IAKzBw3B,WACCl6B,MACCoD,IAAK,SAAU1C,EAAMgI,GACpB,IAAMgB,EAAQmwB,YAAwB,UAAVnxB,GAC3BzI,EAAO2D,SAAUlD,EAAM,SAAY,CACnC,GAAI0I,GAAM1I,EAAKgI,KAKf,OAJAhI,GAAKiX,aAAc,OAAQjP,GACtBU,IACJ1I,EAAKgI,MAAQU,GAEPV,QAQZqxB,IACC32B,IAAK,SAAU1C,EAAMgI,EAAOhG,GAO3B,MANKgG,MAAU,EAEdzI,EAAO+5B,WAAYt5B,EAAMgC,GAEzBhC,EAAKiX,aAAcjV,EAAMA,GAEnBA,IAGTzC,EAAOuB,KAAMvB,EAAOwhB,KAAKhgB,MAAMqd,KAAKuM,OAAO5pB,MAAO,QAAU,SAAUd,EAAG+B,GACxE,GAAI43B,GAAS3hB,GAAYjW,IAAUzC,EAAOwc,KAAKiF,IAE/C/I,IAAYjW,GAAS,SAAUhC,EAAMgC,EAAMoa,GAC1C,GAAIjX,GAAKP,CAUT,OATMwX,KAELxX,EAASqT,GAAYjW,GACrBiW,GAAYjW,GAASmD,EACrBA,EAAqC,MAA/By0B,EAAQ55B,EAAMgC,EAAMoa,GACzBpa,EAAKI,cACL,KACD6V,GAAYjW,GAAS4C,GAEfO,IAOT,IAAI00B,IAAa,qCAEjBt6B,GAAOiT,GAAGzN,QACT2E,KAAM,SAAU1H,EAAMgG,GACrB,MAAOrD,IAAQ1F,KAAMM,EAAOmK,KAAM1H,EAAMgG,EAAOR,UAAUnI,OAAS,IAGnEy6B,WAAY,SAAU93B,GACrB,MAAO/C,MAAK6B,KAAK,iBACT7B,MAAMM,EAAOo6B,QAAS33B,IAAUA,QAK1CzC,EAAOwF,QACN40B,SACCI,MAAO,UACPC,QAAS,aAGVtwB,KAAM,SAAU1J,EAAMgC,EAAMgG,GAC3B,GAAI7C,GAAKgG,EAAO8uB,EACfV,EAAQv5B,EAAKP,QAGd,IAAMO,GAAkB,IAAVu5B,GAAyB,IAAVA,GAAyB,IAAVA,EAY5C,MARAU,GAAmB,IAAVV,IAAgBh6B,EAAO0lB,SAAUjlB,GAErCi6B,IAEJj4B,EAAOzC,EAAOo6B,QAAS33B,IAAUA,EACjCmJ,EAAQ5L,EAAO82B,UAAWr0B,IAGZC,SAAV+F,EACGmD,GAAS,OAASA,IAAoDlJ,UAA1CkD,EAAMgG,EAAMzI,IAAK1C,EAAMgI,EAAOhG,IAChEmD,EACEnF,EAAMgC,GAASgG,EAGXmD,GAAS,OAASA,IAA6C,QAAnChG,EAAMgG,EAAMzJ,IAAK1B,EAAMgC,IACzDmD,EACAnF,EAAMgC,IAITq0B,WACC9S,UACC7hB,IAAK,SAAU1B,GACd,MAAOA,GAAKk6B,aAAc,aAAgBL,GAAWz5B,KAAMJ,EAAKkD,WAAclD,EAAKsjB,KAClFtjB,EAAKujB,SACL,QAMCva,EAAQiwB,cACb15B,EAAO82B,UAAU9mB,UAChB7N,IAAK,SAAU1B,GACd,GAAIqf,GAASrf,EAAKgV,UAIlB,OAHKqK,IAAUA,EAAOrK,YACrBqK,EAAOrK,WAAW0O,cAEZ,QAKVnkB,EAAOuB,MACN,WACA,WACA,YACA,cACA,cACA,UACA,UACA,SACA,cACA,mBACE,WACFvB,EAAOo6B,QAAS16B,KAAKmD,eAAkBnD,MAMxC,IAAIk7B,IAAS,aAEb56B,GAAOiT,GAAGzN,QACTq1B,SAAU,SAAUpyB,GACnB,GAAIqyB,GAASr6B,EAAMQ,EAAK85B,EAAO3mB,EAAG4mB,EACjCC,EAA2B,gBAAVxyB,IAAsBA,EACvC/H,EAAI,EACJyT,EAAMzU,KAAKI,MAEZ,IAAKE,EAAOO,WAAYkI,GACvB,MAAO/I,MAAK6B,KAAK,SAAU6S,GAC1BpU,EAAQN,MAAOm7B,SAAUpyB,EAAM9H,KAAMjB,KAAM0U,EAAG1U,KAAKwgB,aAIrD,IAAK+a,EAIJ,IAFAH,GAAYryB,GAAS,IAAKjH,MAAOC,QAErB0S,EAAJzT,EAASA,IAOhB,GANAD,EAAOf,KAAMgB,GACbO,EAAwB,IAAlBR,EAAKP,WAAoBO,EAAKyf,WACjC,IAAMzf,EAAKyf,UAAY,KAAMvd,QAASi4B,GAAQ,KAChD,KAGU,CAEV,IADAxmB,EAAI,EACK2mB,EAAQD,EAAQ1mB,MACnBnT,EAAIF,QAAS,IAAMg6B,EAAQ,KAAQ,IACvC95B,GAAO85B,EAAQ,IAKjBC,GAAah7B,EAAOsV,KAAMrU,GACrBR,EAAKyf,YAAc8a,IACvBv6B,EAAKyf,UAAY8a,GAMrB,MAAOt7B,OAGRw7B,YAAa,SAAUzyB,GACtB,GAAIqyB,GAASr6B,EAAMQ,EAAK85B,EAAO3mB,EAAG4mB,EACjCC,EAA+B,IAArBhzB,UAAUnI,QAAiC,gBAAV2I,IAAsBA,EACjE/H,EAAI,EACJyT,EAAMzU,KAAKI,MAEZ,IAAKE,EAAOO,WAAYkI,GACvB,MAAO/I,MAAK6B,KAAK,SAAU6S,GAC1BpU,EAAQN,MAAOw7B,YAAazyB,EAAM9H,KAAMjB,KAAM0U,EAAG1U,KAAKwgB,aAGxD,IAAK+a,EAGJ,IAFAH,GAAYryB,GAAS,IAAKjH,MAAOC,QAErB0S,EAAJzT,EAASA,IAQhB,GAPAD,EAAOf,KAAMgB,GAEbO,EAAwB,IAAlBR,EAAKP,WAAoBO,EAAKyf,WACjC,IAAMzf,EAAKyf,UAAY,KAAMvd,QAASi4B,GAAQ,KAChD,IAGU,CAEV,IADAxmB,EAAI,EACK2mB,EAAQD,EAAQ1mB,MAExB,KAAQnT,EAAIF,QAAS,IAAMg6B,EAAQ,MAAS,GAC3C95B,EAAMA,EAAI0B,QAAS,IAAMo4B,EAAQ,IAAK,IAKxCC,GAAavyB,EAAQzI,EAAOsV,KAAMrU,GAAQ,GACrCR,EAAKyf,YAAc8a,IACvBv6B,EAAKyf,UAAY8a,GAMrB,MAAOt7B,OAGRy7B,YAAa,SAAU1yB,EAAO2yB,GAC7B,GAAIr7B,SAAc0I,EAElB,OAAyB,iBAAb2yB,IAAmC,WAATr7B,EAC9Bq7B,EAAW17B,KAAKm7B,SAAUpyB,GAAU/I,KAAKw7B,YAAazyB,GAGzDzI,EAAOO,WAAYkI,GAChB/I,KAAK6B,KAAK,SAAUb,GAC1BV,EAAQN,MAAOy7B,YAAa1yB,EAAM9H,KAAKjB,KAAMgB,EAAGhB,KAAKwgB,UAAWkb,GAAWA,KAItE17B,KAAK6B,KAAK,WAChB,GAAc,WAATxB,EAOJ,IALA,GAAImgB,GACHxf,EAAI,EACJmlB,EAAO7lB,EAAQN,MACf27B,EAAa5yB,EAAMjH,MAAOC,QAElBye,EAAYmb,EAAY36B,MAE3BmlB,EAAKyV,SAAUpb,GACnB2F,EAAKqV,YAAahb,GAElB2F,EAAKgV,SAAU3a,QAKNngB,IAAS4rB,IAAyB,YAAT5rB,KAC/BL,KAAKwgB,WAETxb,GAAUvB,IAAKzD,KAAM,gBAAiBA,KAAKwgB,WAO5CxgB,KAAKwgB,UAAYxgB,KAAKwgB,WAAazX,KAAU,EAAQ,GAAK/D,GAAUvC,IAAKzC,KAAM,kBAAqB,OAKvG47B,SAAU,SAAUtoB,GAInB,IAHA,GAAIkN,GAAY,IAAMlN,EAAW,IAChCtS,EAAI,EACJ+D,EAAI/E,KAAKI,OACE2E,EAAJ/D,EAAOA,IACd,GAA0B,IAArBhB,KAAKgB,GAAGR,WAAmB,IAAMR,KAAKgB,GAAGwf,UAAY,KAAKvd,QAAQi4B,GAAQ,KAAK75B,QAASmf,IAAe,EAC3G,OAAO,CAIT,QAAO,IAOT,IAAIqb,IAAU,KAEdv7B,GAAOiT,GAAGzN,QACT2D,IAAK,SAAUV,GACd,GAAImD,GAAOhG,EAAKrF,EACfE,EAAOf,KAAK,EAEb,EAAA,GAAMuI,UAAUnI,OAsBhB,MAFAS,GAAaP,EAAOO,WAAYkI,GAEzB/I,KAAK6B,KAAK,SAAUb,GAC1B,GAAIyI,EAEmB,KAAlBzJ,KAAKQ,WAKTiJ,EADI5I,EACEkI,EAAM9H,KAAMjB,KAAMgB,EAAGV,EAAQN,MAAOyJ,OAEpCV,EAIK,MAAPU,EACJA,EAAM,GAEoB,gBAARA,GAClBA,GAAO,GAEInJ,EAAOoN,QAASjE,KAC3BA,EAAMnJ,EAAOgP,IAAK7F,EAAK,SAAUV,GAChC,MAAgB,OAATA,EAAgB,GAAKA,EAAQ,MAItCmD,EAAQ5L,EAAOw7B,SAAU97B,KAAKK,OAAUC,EAAOw7B,SAAU97B,KAAKiE,SAASd,eAGjE+I,GAAW,OAASA,IAA8ClJ,SAApCkJ,EAAMzI,IAAKzD,KAAMyJ,EAAK,WACzDzJ,KAAK+I,MAAQU,KAnDd,IAAK1I,EAGJ,MAFAmL,GAAQ5L,EAAOw7B,SAAU/6B,EAAKV,OAAUC,EAAOw7B,SAAU/6B,EAAKkD,SAASd,eAElE+I,GAAS,OAASA,IAAgDlJ,UAAtCkD,EAAMgG,EAAMzJ,IAAK1B,EAAM,UAChDmF,GAGRA,EAAMnF,EAAKgI,MAEW,gBAAR7C,GAEbA,EAAIjD,QAAQ44B,GAAS,IAEd,MAAP31B,EAAc,GAAKA,OA4CxB5F,EAAOwF,QACNg2B,UACC7J,QACCxvB,IAAK,SAAU1B,GACd,GAAI0I,GAAMnJ,EAAOwc,KAAKiF,KAAMhhB,EAAM,QAClC,OAAc,OAAP0I,EACNA,EAGAnJ,EAAOsV,KAAMtV,EAAOuV,KAAM9U,MAG7BuX,QACC7V,IAAK,SAAU1B,GAYd,IAXA,GAAIgI,GAAOkpB,EACVvwB,EAAUX,EAAKW,QACf4I,EAAQvJ,EAAK0jB,cACb8M,EAAoB,eAAdxwB,EAAKV,MAAiC,EAARiK,EACpCD,EAASknB,EAAM,QACfnoB,EAAMmoB,EAAMjnB,EAAQ,EAAI5I,EAAQtB,OAChCY,EAAY,EAARsJ,EACHlB,EACAmoB,EAAMjnB,EAAQ,EAGJlB,EAAJpI,EAASA,IAIhB,GAHAixB,EAASvwB,EAASV,IAGXixB,EAAO3hB,UAAYtP,IAAMsJ,KAE5BP,EAAQkwB,aAAehI,EAAOzN,SAAiD,OAAtCyN,EAAO7uB,aAAc,gBAC7D6uB,EAAOlc,WAAWyO,WAAalkB,EAAO2D,SAAUguB,EAAOlc,WAAY,aAAiB,CAMxF,GAHAhN,EAAQzI,EAAQ2xB,GAASxoB,MAGpB8nB,EACJ,MAAOxoB,EAIRsB,GAAO6E,KAAMnG,GAIf,MAAOsB,IAGR5G,IAAK,SAAU1C,EAAMgI,GAMpB,IALA,GAAIgzB,GAAW9J,EACdvwB,EAAUX,EAAKW,QACf2I,EAAS/J,EAAO4V,UAAWnN,GAC3B/H,EAAIU,EAAQtB,OAELY,KACPixB,EAASvwB,EAASV,IACZixB,EAAO3hB,SAAWhQ,EAAO8V,QAAS6b,EAAOlpB,MAAOsB,IAAY,KACjE0xB,GAAY,EAQd,OAHMA,KACLh7B,EAAK0jB,cAAgB,IAEfpa,OAOX/J,EAAOuB,MAAO,QAAS,YAAc,WACpCvB,EAAOw7B,SAAU97B,OAChByD,IAAK,SAAU1C,EAAMgI,GACpB,MAAKzI,GAAOoN,QAAS3E,GACXhI,EAAKwF,QAAUjG,EAAO8V,QAAS9V,EAAOS,GAAM0I,MAAOV,IAAW,EADxE,SAKIgB,EAAQgwB,UACbz5B,EAAOw7B,SAAU97B,MAAOyC,IAAM,SAAU1B,GACvC,MAAsC,QAA/BA,EAAKqC,aAAa,SAAoB,KAAOrC,EAAKgI,UAW5DzI,EAAOuB,KAAM,0MAEqDyQ,MAAM,KAAM,SAAUtR,EAAG+B,GAG1FzC,EAAOiT,GAAIxQ,GAAS,SAAUD,EAAMyQ,GACnC,MAAOhL,WAAUnI,OAAS,EACzBJ,KAAKsxB,GAAIvuB,EAAM,KAAMD,EAAMyQ,GAC3BvT,KAAK4tB,QAAS7qB,MAIjBzC,EAAOiT,GAAGzN,QACTk2B,MAAO,SAAUC,EAAQC,GACxB,MAAOl8B,MAAK+wB,WAAYkL,GAASjL,WAAYkL,GAASD,IAGvDE,KAAM,SAAU5P,EAAOzpB,EAAMyQ,GAC5B,MAAOvT,MAAKsxB,GAAI/E,EAAO,KAAMzpB,EAAMyQ,IAEpC6oB,OAAQ,SAAU7P,EAAOhZ,GACxB,MAAOvT,MAAKgqB,IAAKuC,EAAO,KAAMhZ,IAG/B8oB,SAAU,SAAU/oB,EAAUiZ,EAAOzpB,EAAMyQ,GAC1C,MAAOvT,MAAKsxB,GAAI/E,EAAOjZ,EAAUxQ,EAAMyQ,IAExC+oB,WAAY,SAAUhpB,EAAUiZ,EAAOhZ,GAEtC,MAA4B,KAArBhL,UAAUnI,OAAeJ,KAAKgqB,IAAK1W,EAAU,MAAStT,KAAKgqB,IAAKuC,EAAOjZ,GAAY,KAAMC,KAKlG,IAAIgpB,IAAQj8B,EAAO2K,MAEfuxB,GAAS,IAMbl8B,GAAOgD,UAAY,SAAUR,GAC5B,MAAO25B,MAAKC,MAAO55B,EAAO,KAK3BxC,EAAOq8B,SAAW,SAAU75B,GAC3B,GAAIuX,GAAKnI,CACT,KAAMpP,GAAwB,gBAATA,GACpB,MAAO,KAIR,KACCoP,EAAM,GAAI0qB,WACVviB,EAAMnI,EAAI2qB,gBAAiB/5B,EAAM,YAChC,MAAQS,GACT8W,EAAMrX,OAMP,QAHMqX,GAAOA,EAAIlW,qBAAsB,eAAgB/D,SACtDE,EAAOkS,MAAO,gBAAkB1P,GAE1BuX,EAIR,IACCyiB,IAAQ,OACRC,GAAM,gBACNC,GAAW,6BAEXC,GAAiB,4DACjBC,GAAa,iBACbC,GAAY,QACZC,GAAO,4DAWPC,MAOA1sB,MAGA2sB,GAAW,KAAKzxB,OAAQ,KAGxB0xB,GAAex9B,EAAOkkB,SAASI,KAG/BmZ,GAAeJ,GAAK14B,KAAM64B,GAAap6B,kBAqOxC7C,GAAOwF,QAGN23B,OAAQ,EAGRC,gBACAC,QAEA3sB,cACC4sB,IAAKL,GACLl9B,KAAM,MACNw9B,QAASZ,GAAe97B,KAAMq8B,GAAc,IAC5Ch+B,QAAQ,EACRs+B,aAAa,EACbC,OAAO,EACPC,YAAa,mDAabxT,SACCuN,IAAKuF,GACLznB,KAAM,aACNke,KAAM,YACN1Z,IAAK,4BACL4jB,KAAM,qCAGP1sB,UACC8I,IAAK,MACL0Z,KAAM,OACNkK,KAAM,QAGP7rB,gBACCiI,IAAK,cACLxE,KAAM,eACNooB,KAAM,gBAKPtsB,YAGCusB,SAAUre,OAGVse,aAAa,EAGbC,YAAa99B,EAAOgD,UAGpB+6B,WAAY/9B,EAAOq8B,UAOpB5rB,aACC6sB,KAAK,EACL53B,SAAS,IAOXs4B,UAAW,SAAUztB,EAAQ0tB,GAC5B,MAAOA,GAGN3tB,EAAYA,EAAYC,EAAQvQ,EAAO0Q,cAAgButB,GAGvD3tB,EAAYtQ,EAAO0Q,aAAcH,IAGnC2tB,cAAe5uB,EAA6BytB,IAC5CoB,cAAe7uB,EAA6Be,IAG5C+tB,KAAM,SAAUd,EAAKl8B,GAkRpB,QAASyL,GAAMwxB,EAAQC,EAAkBztB,EAAW0tB,GACnD,GAAI/sB,GAAWgtB,EAAStsB,EAAOX,EAAUktB,EACxCC,EAAaJ,CAGC,KAAVrsB,IAKLA,EAAQ,EAGH0sB,GACJnF,aAAcmF,GAKfC,EAAYl8B,OAGZm8B,EAAwBN,GAAW,GAGnCzuB,EAAM6Z,WAAa0U,EAAS,EAAI,EAAI,EAGpC7sB,EAAY6sB,GAAU,KAAgB,IAATA,GAA2B,MAAXA,EAGxCxtB,IACJU,EAAWZ,EAAqBC,EAAGd,EAAOe,IAI3CU,EAAWD,EAAaV,EAAGW,EAAUzB,EAAO0B,GAGvCA,GAGCZ,EAAEkuB,aACNL,EAAW3uB,EAAMsB,kBAAkB,iBAC9BqtB,IACJz+B,EAAOo9B,aAAc2B,GAAaN,GAEnCA,EAAW3uB,EAAMsB,kBAAkB,QAC9BqtB,IACJz+B,EAAOq9B,KAAM0B,GAAaN,IAKZ,MAAXJ,GAA6B,SAAXztB,EAAE7Q,KACxB2+B,EAAa,YAGS,MAAXL,EACXK,EAAa,eAIbA,EAAantB,EAASU,MACtBusB,EAAUjtB,EAAS/O,KACnB0P,EAAQX,EAASW,MACjBV,GAAaU,KAIdA,EAAQwsB,GACHL,IAAWK,KACfA,EAAa,QACC,EAATL,IACJA,EAAS,KAMZvuB,EAAMuuB,OAASA,EACfvuB,EAAM4uB,YAAeJ,GAAoBI,GAAe,GAGnDltB,EACJ5D,EAASY,YAAawwB,GAAmBR,EAASE,EAAY5uB,IAE9DlC,EAASmB,WAAYiwB,GAAmBlvB,EAAO4uB,EAAYxsB,IAI5DpC,EAAMmvB,WAAYA,GAClBA,EAAav8B,OAERw8B,GACJC,EAAmB7R,QAAS9b,EAAY,cAAgB,aACrD1B,EAAOc,EAAGY,EAAYgtB,EAAUtsB,IAIpCktB,EAAiBnX,SAAU+W,GAAmBlvB,EAAO4uB,IAEhDQ,IACJC,EAAmB7R,QAAS,gBAAkBxd,EAAOc,MAE3C5Q,EAAOm9B,QAChBn9B,EAAOsF,MAAMgoB,QAAQ,cAzXJ,gBAARgQ,KACXl8B,EAAUk8B,EACVA,EAAM56B,QAIPtB,EAAUA,KAEV,IAAIw9B,GAEHG,EAEAF,EACAQ,EAEAV,EAEA/H,EAEAsI,EAEAx+B,EAEAkQ,EAAI5Q,EAAOg+B,aAAe58B,GAE1B49B,EAAkBpuB,EAAElL,SAAWkL,EAE/BuuB,EAAqBvuB,EAAElL,UAAas5B,EAAgB9+B,UAAY8+B,EAAgBxrB,QAC/ExT,EAAQg/B,GACRh/B,EAAOsF,MAERsI,EAAW5N,EAAO6N,WAClBuxB,EAAmBp/B,EAAOonB,UAAU,eAEpC6X,EAAaruB,EAAEquB,eAEfK,KACAC,KAEAttB,EAAQ,EAERutB,EAAW,WAEX1vB,GACC6Z,WAAY,EAGZvY,kBAAmB,SAAU7O,GAC5B,GAAIf,EACJ,IAAe,IAAVyQ,EAAc,CAClB,IAAMotB,EAEL,IADAA,KACS79B,EAAQk7B,GAASt4B,KAAMy6B,IAC/BQ,EAAiB79B,EAAM,GAAGqB,eAAkBrB,EAAO,EAGrDA,GAAQ69B,EAAiB98B,EAAIM,eAE9B,MAAgB,OAATrB,EAAgB,KAAOA,GAI/Bi+B,sBAAuB,WACtB,MAAiB,KAAVxtB,EAAc4sB,EAAwB,MAI9Ca,iBAAkB,SAAUj9B,EAAMgG,GACjC,GAAIk3B,GAAQl9B,EAAKI,aAKjB,OAJMoP,KACLxP,EAAO88B,EAAqBI,GAAUJ,EAAqBI,IAAWl9B,EACtE68B,EAAgB78B,GAASgG,GAEnB/I,MAIRkgC,iBAAkB,SAAU7/B,GAI3B,MAHMkS,KACLrB,EAAEO,SAAWpR,GAEPL,MAIRu/B,WAAY,SAAUjwB,GACrB,GAAIkG,EACJ,IAAKlG,EACJ,GAAa,EAARiD,EACJ,IAAMiD,IAAQlG,GAEbiwB,EAAY/pB,IAAW+pB,EAAY/pB,GAAQlG,EAAKkG,QAIjDpF,GAAMvD,OAAQyC,EAAKc,EAAMuuB,QAG3B,OAAO3+B,OAIRmgC,MAAO,SAAUnB,GAChB,GAAIoB,GAAYpB,GAAcc,CAK9B,OAJKZ,IACJA,EAAUiB,MAAOC,GAElBjzB,EAAM,EAAGizB,GACFpgC,MAyCV,IApCAkO,EAASa,QAASqB,GAAQV,SAAWgwB,EAAiB75B,IACtDuK,EAAM0uB,QAAU1uB,EAAMjD,KACtBiD,EAAMoC,MAAQpC,EAAMT,KAMpBuB,EAAE0sB,MAAUA,GAAO1sB,EAAE0sB,KAAOL,IAAiB,IAAKt6B,QAAS65B,GAAO,IAChE75B,QAASk6B,GAAWK,GAAc,GAAM,MAG1CtsB,EAAE7Q,KAAOqB,EAAQ2+B,QAAU3+B,EAAQrB,MAAQ6Q,EAAEmvB,QAAUnvB,EAAE7Q,KAGzD6Q,EAAEjB,UAAY3P,EAAOsV,KAAM1E,EAAElB,UAAY,KAAM7M,cAAcrB,MAAOC,MAAiB,IAG/D,MAAjBmP,EAAEovB,cACNpJ,EAAQkG,GAAK14B,KAAMwM,EAAE0sB,IAAIz6B,eACzB+N,EAAEovB,eAAkBpJ,GACjBA,EAAO,KAAQsG,GAAc,IAAOtG,EAAO,KAAQsG,GAAc,KAChEtG,EAAO,KAAwB,UAAfA,EAAO,GAAkB,KAAO,WAC/CsG,GAAc,KAA+B,UAAtBA,GAAc,GAAkB,KAAO,UAK/DtsB,EAAEpO,MAAQoO,EAAE4sB,aAAiC,gBAAX5sB,GAAEpO,OACxCoO,EAAEpO,KAAOxC,EAAOigC,MAAOrvB,EAAEpO,KAAMoO,EAAEyB,cAIlCxC,EAA+BktB,GAAYnsB,EAAGxP,EAAS0O,GAGxC,IAAVmC,EACJ,MAAOnC,EAKRovB,GAAcl/B,EAAOsF,OAASsL,EAAE1R,OAG3BggC,GAAmC,IAApBl/B,EAAOm9B,UAC1Bn9B,EAAOsF,MAAMgoB,QAAQ,aAItB1c,EAAE7Q,KAAO6Q,EAAE7Q,KAAKqI,cAGhBwI,EAAEsvB,YAActD,GAAW/7B,KAAM+P,EAAE7Q,MAInCg/B,EAAWnuB,EAAE0sB,IAGP1sB,EAAEsvB,aAGFtvB,EAAEpO,OACNu8B,EAAanuB,EAAE0sB,MAASpB,GAAOr7B,KAAMk+B,GAAa,IAAM,KAAQnuB,EAAEpO,WAE3DoO,GAAEpO,MAILoO,EAAE1O,SAAU,IAChB0O,EAAE0sB,IAAMb,GAAI57B,KAAMk+B,GAGjBA,EAASp8B,QAAS85B,GAAK,OAASR,MAGhC8C,GAAa7C,GAAOr7B,KAAMk+B,GAAa,IAAM,KAAQ,KAAO9C,OAK1DrrB,EAAEkuB,aACD9+B,EAAOo9B,aAAc2B,IACzBjvB,EAAM4vB,iBAAkB,oBAAqB1/B,EAAOo9B,aAAc2B,IAE9D/+B,EAAOq9B,KAAM0B,IACjBjvB,EAAM4vB,iBAAkB,gBAAiB1/B,EAAOq9B,KAAM0B,MAKnDnuB,EAAEpO,MAAQoO,EAAEsvB,YAActvB,EAAE8sB,eAAgB,GAASt8B,EAAQs8B,cACjE5tB,EAAM4vB,iBAAkB,eAAgB9uB,EAAE8sB,aAI3C5tB,EAAM4vB,iBACL,SACA9uB,EAAEjB,UAAW,IAAOiB,EAAEsZ,QAAStZ,EAAEjB,UAAU,IAC1CiB,EAAEsZ,QAAStZ,EAAEjB,UAAU,KAA8B,MAArBiB,EAAEjB,UAAW,GAAc,KAAOqtB,GAAW,WAAa,IAC1FpsB,EAAEsZ,QAAS,KAIb,KAAMxpB,IAAKkQ,GAAE2tB,QACZzuB,EAAM4vB,iBAAkBh/B,EAAGkQ,EAAE2tB,QAAS79B,GAIvC,IAAKkQ,EAAEuvB,aAAgBvvB,EAAEuvB,WAAWx/B,KAAMq+B,EAAiBlvB,EAAOc,MAAQ,GAAmB,IAAVqB,GAElF,MAAOnC,GAAM+vB,OAIdL,GAAW,OAGX,KAAM9+B,KAAO89B,QAAS,EAAGtsB,MAAO,EAAG9C,SAAU,GAC5CU,EAAOpP,GAAKkQ,EAAGlQ,GAOhB,IAHAk+B,EAAY/uB,EAA+BQ,GAAYO,EAAGxP,EAAS0O,GAK5D,CACNA,EAAM6Z,WAAa,EAGduV,GACJC,EAAmB7R,QAAS,YAAcxd,EAAOc,IAG7CA,EAAE6sB,OAAS7sB,EAAE2oB,QAAU,IAC3BoF,EAAel0B,WAAW,WACzBqF,EAAM+vB,MAAM,YACVjvB,EAAE2oB,SAGN,KACCtnB,EAAQ,EACR2sB,EAAUwB,KAAMd,EAAgBzyB,GAC/B,MAAQ5J,GAET,KAAa,EAARgP,GAIJ,KAAMhP,EAHN4J,GAAM,GAAI5J,QArBZ4J,GAAM,GAAI,eA6IX,OAAOiD,IAGRuwB,QAAS,SAAU/C,EAAK96B,EAAMsR,GAC7B,MAAO9T,GAAOmC,IAAKm7B,EAAK96B,EAAMsR,EAAU,SAGzCwsB,UAAW,SAAUhD,EAAKxpB,GACzB,MAAO9T,GAAOmC,IAAKm7B,EAAK56B,OAAWoR,EAAU,aAI/C9T,EAAOuB,MAAQ,MAAO,QAAU,SAAUb,EAAGq/B,GAC5C//B,EAAQ+/B,GAAW,SAAUzC,EAAK96B,EAAMsR,EAAU/T,GAQjD,MANKC,GAAOO,WAAYiC,KACvBzC,EAAOA,GAAQ+T,EACfA,EAAWtR,EACXA,EAAOE,QAGD1C,EAAOo+B,MACbd,IAAKA,EACLv9B,KAAMggC,EACNrwB,SAAU3P,EACVyC,KAAMA,EACNg8B,QAAS1qB,OAMZ9T,EAAO8zB,SAAW,SAAUwJ,GAC3B,MAAOt9B,GAAOo+B,MACbd,IAAKA,EACLv9B,KAAM,MACN2P,SAAU,SACV+tB,OAAO,EACPv+B,QAAQ,EACRqhC,UAAU,KAKZvgC,EAAOiT,GAAGzN,QACTg7B,QAAS,SAAU/M,GAClB,GAAIX,EAEJ,OAAK9yB,GAAOO,WAAYkzB,GAChB/zB,KAAK6B,KAAK,SAAUb,GAC1BV,EAAQN,MAAO8gC,QAAS/M,EAAK9yB,KAAKjB,KAAMgB,OAIrChB,KAAM,KAGVozB,EAAO9yB,EAAQyzB,EAAM/zB,KAAM,GAAIqE,eAAgBkQ,GAAI,GAAIQ,OAAO,GAEzD/U,KAAM,GAAI+V,YACdqd,EAAKO,aAAc3zB,KAAM,IAG1BozB,EAAK9jB,IAAI,WAGR,IAFA,GAAIvO,GAAOf,KAEHe,EAAKggC,mBACZhgC,EAAOA,EAAKggC,iBAGb,OAAOhgC,KACLyyB,OAAQxzB,OAGLA,OAGRghC,UAAW,SAAUjN,GACpB,MAAKzzB,GAAOO,WAAYkzB,GAChB/zB,KAAK6B,KAAK,SAAUb,GAC1BV,EAAQN,MAAOghC,UAAWjN,EAAK9yB,KAAKjB,KAAMgB,MAIrChB,KAAK6B,KAAK,WAChB,GAAIskB,GAAO7lB,EAAQN,MAClBuR,EAAW4U,EAAK5U,UAEZA,GAASnR,OACbmR,EAASuvB,QAAS/M,GAGlB5N,EAAKqN,OAAQO,MAKhBX,KAAM,SAAUW,GACf,GAAIlzB,GAAaP,EAAOO,WAAYkzB,EAEpC,OAAO/zB,MAAK6B,KAAK,SAAUb,GAC1BV,EAAQN,MAAO8gC,QAASjgC,EAAakzB,EAAK9yB,KAAKjB,KAAMgB,GAAK+yB,MAI5DkN,OAAQ,WACP,MAAOjhC,MAAKogB,SAASve,KAAK,WACnBvB,EAAO2D,SAAUjE,KAAM,SAC5BM,EAAQN,MAAOg0B,YAAah0B,KAAKggB,cAEhCtV,SAKLpK,EAAOwhB,KAAKyD,QAAQnb,OAAS,SAAUrJ,GAGtC,MAAOA,GAAK8I,aAAe,GAAK9I,EAAK+I,cAAgB,GAEtDxJ,EAAOwhB,KAAKyD,QAAQ2b,QAAU,SAAUngC,GACvC,OAAQT,EAAOwhB,KAAKyD,QAAQnb,OAAQrJ,GAMrC,IAAIogC,IAAM,OACTtuB,GAAW,QACXuuB,GAAQ,SACRC,GAAkB,wCAClBC,GAAe,oCAgChBhhC,GAAOigC,MAAQ,SAAUrnB,EAAGvG,GAC3B,GAAID,GACHxB,KACArL,EAAM,SAAUhD,EAAKkG,GAEpBA,EAAQzI,EAAOO,WAAYkI,GAAUA,IAAqB,MAATA,EAAgB,GAAKA;AACtEmI,EAAGA,EAAE9Q,QAAWmhC,mBAAoB1+B,GAAQ,IAAM0+B,mBAAoBx4B,GASxE,IALqB/F,SAAhB2P,IACJA,EAAcrS,EAAO0Q,cAAgB1Q,EAAO0Q,aAAa2B,aAIrDrS,EAAOoN,QAASwL,IAASA,EAAEpF,SAAWxT,EAAO0U,cAAekE,GAEhE5Y,EAAOuB,KAAMqX,EAAG,WACfrT,EAAK7F,KAAK+C,KAAM/C,KAAK+I,aAMtB,KAAM2J,IAAUwG,GACfzG,EAAaC,EAAQwG,EAAGxG,GAAUC,EAAa9M,EAKjD,OAAOqL,GAAEkH,KAAM,KAAMnV,QAASk+B,GAAK,MAGpC7gC,EAAOiT,GAAGzN,QACT07B,UAAW,WACV,MAAOlhC,GAAOigC,MAAOvgC,KAAKyhC,mBAE3BA,eAAgB,WACf,MAAOzhC,MAAKsP,IAAI,WAEf,GAAI5O,GAAWJ,EAAOmK,KAAMzK,KAAM,WAClC,OAAOU,GAAWJ,EAAO4V,UAAWxV,GAAaV,OAEjDoB,OAAO,WACP,GAAIf,GAAOL,KAAKK,IAGhB,OAAOL,MAAK+C,OAASzC,EAAQN,MAAOomB,GAAI,cACvCkb,GAAangC,KAAMnB,KAAKiE,YAAeo9B,GAAgBlgC,KAAMd,KAC3DL,KAAKuG,UAAYD,GAAenF,KAAMd,MAEzCiP,IAAI,SAAUtO,EAAGD,GACjB,GAAI0I,GAAMnJ,EAAQN,MAAOyJ,KAEzB,OAAc,OAAPA,EACN,KACAnJ,EAAOoN,QAASjE,GACfnJ,EAAOgP,IAAK7F,EAAK,SAAUA,GAC1B,OAAS1G,KAAMhC,EAAKgC,KAAMgG,MAAOU,EAAIxG,QAASm+B,GAAO,YAEpDr+B,KAAMhC,EAAKgC,KAAMgG,MAAOU,EAAIxG,QAASm+B,GAAO,WAC9C3+B,SAKLnC,EAAO0Q,aAAa0wB,IAAM,WACzB,IACC,MAAO,IAAIC,gBACV,MAAOp+B,KAGV,IAAIq+B,IAAQ,EACXC,MACAC,IAECC,EAAG,IAGHC,KAAM,KAEPC,GAAe3hC,EAAO0Q,aAAa0wB,KAK/B3hC,GAAOwgB,aACXxgB,EAAOwgB,YAAa,WAAY,WAC/B,IAAM,GAAI1d,KAAOg/B,IAChBA,GAAch/B,OAKjBkH,EAAQm4B,OAASD,IAAkB,mBAAqBA,IACxDl4B,EAAQ20B,KAAOuD,KAAiBA,GAEhC3hC,EAAOm+B,cAAc,SAAU/8B,GAC9B,GAAI0S,EAGJ,OAAKrK,GAAQm4B,MAAQD,KAAiBvgC,EAAQ4+B,aAE5CI,KAAM,SAAU7B,EAASnvB,GACxB,GAAI1O,GACH0gC,EAAMhgC,EAAQggC,MACdhqB,IAAOkqB,EAKR,IAHAF,EAAIS,KAAMzgC,EAAQrB,KAAMqB,EAAQk8B,IAAKl8B,EAAQq8B,MAAOr8B,EAAQ0gC,SAAU1gC,EAAQyjB,UAGzEzjB,EAAQ2gC,UACZ,IAAMrhC,IAAKU,GAAQ2gC,UAClBX,EAAK1gC,GAAMU,EAAQ2gC,UAAWrhC,EAK3BU,GAAQ+P,UAAYiwB,EAAIxB,kBAC5BwB,EAAIxB,iBAAkBx+B,EAAQ+P,UAQzB/P,EAAQ4+B,aAAgBzB,EAAQ,sBACrCA,EAAQ,oBAAsB,iBAI/B,KAAM79B,IAAK69B,GACV6C,EAAI1B,iBAAkBh/B,EAAG69B,EAAS79B,GAInCoT,GAAW,SAAU/T,GACpB,MAAO,YACD+T,UACGytB,IAAcnqB,GACrBtD,EAAWstB,EAAIY,OAASZ,EAAIa,QAAU,KAExB,UAATliC,EACJqhC,EAAIvB,QACgB,UAAT9/B,EACXqP,EAECgyB,EAAI/C,OACJ+C,EAAI1C,YAGLtvB,EACCoyB,GAAkBJ,EAAI/C,SAAY+C,EAAI/C,OACtC+C,EAAI1C,WAIwB,gBAArB0C,GAAIc,cACV3sB,KAAM6rB,EAAIc,cACPx/B,OACJ0+B,EAAI3B,4BAQT2B,EAAIY,OAASluB,IACbstB,EAAIa,QAAUnuB,EAAS,SAGvBA,EAAWytB,GAAcnqB,GAAOtD,EAAS,QAEzC,KAECstB,EAAIhB,KAAMh/B,EAAQ8+B,YAAc9+B,EAAQoB,MAAQ,MAC/C,MAAQS,GAET,GAAK6Q,EACJ,KAAM7Q,KAKT48B,MAAO,WACD/rB,GACJA,MAvFJ,SAkGD9T,EAAOg+B,WACN9T,SACC/U,OAAQ,6FAETlE,UACCkE,OAAQ,uBAET9D,YACC8wB,cAAe,SAAU5sB,GAExB,MADAvV,GAAOiV,WAAYM,GACZA,MAMVvV,EAAOk+B,cAAe,SAAU,SAAUttB,GACxBlO,SAAZkO,EAAE1O,QACN0O,EAAE1O,OAAQ,GAEN0O,EAAEovB,cACNpvB,EAAE7Q,KAAO,SAKXC,EAAOm+B,cAAe,SAAU,SAAUvtB,GAEzC,GAAKA,EAAEovB,YAAc,CACpB,GAAI7qB,GAAQrB,CACZ,QACCssB,KAAM,SAAU1+B,EAAG0N,GAClB+F,EAASnV,EAAO,YAAYmK,MAC3BszB,OAAO,EACP2E,QAASxxB,EAAEyxB,cACXz9B,IAAKgM,EAAE0sB,MACLtM,GACF,aACAld,EAAW,SAAUwuB,GACpBntB,EAAOpI,SACP+G,EAAW,KACNwuB,GACJlzB,EAAuB,UAAbkzB,EAAIviC,KAAmB,IAAM,IAAKuiC,EAAIviC,QAInDT,EAASkW,KAAK1R,YAAaqR,EAAQ,KAEpC0qB,MAAO,WACD/rB,GACJA,QAUL,IAAIyuB,OACHC,GAAS,mBAGVxiC,GAAOg+B,WACNyE,MAAO,WACPC,cAAe,WACd,GAAI5uB,GAAWyuB,GAAa7lB,OAAW1c,EAAOoC,QAAU,IAAQ65B,IAEhE,OADAv8B,MAAMoU,IAAa,EACZA,KAKT9T,EAAOk+B,cAAe,aAAc,SAAUttB,EAAG+xB,EAAkB7yB,GAElE,GAAI8yB,GAAcC,EAAaC,EAC9BC,EAAWnyB,EAAE6xB,SAAU,IAAWD,GAAO3hC,KAAM+P,EAAE0sB,KAChD,MACkB,gBAAX1sB,GAAEpO,QAAwBoO,EAAE8sB,aAAe,IAAK38B,QAAQ,sCAAwCyhC,GAAO3hC,KAAM+P,EAAEpO,OAAU,OAIlI,OAAKugC,IAAiC,UAArBnyB,EAAEjB,UAAW,IAG7BizB,EAAehyB,EAAE8xB,cAAgB1iC,EAAOO,WAAYqQ,EAAE8xB,eACrD9xB,EAAE8xB,gBACF9xB,EAAE8xB,cAGEK,EACJnyB,EAAGmyB,GAAanyB,EAAGmyB,GAAWpgC,QAAS6/B,GAAQ,KAAOI,GAC3ChyB,EAAE6xB,SAAU,IACvB7xB,EAAE0sB,MAASpB,GAAOr7B,KAAM+P,EAAE0sB,KAAQ,IAAM,KAAQ1sB,EAAE6xB,MAAQ,IAAMG,GAIjEhyB,EAAES,WAAW,eAAiB,WAI7B,MAHMyxB,IACL9iC,EAAOkS,MAAO0wB,EAAe,mBAEvBE,EAAmB,IAI3BlyB,EAAEjB,UAAW,GAAM,OAGnBkzB,EAAcpjC,EAAQmjC,GACtBnjC,EAAQmjC,GAAiB,WACxBE,EAAoB76B,WAIrB6H,EAAMvD,OAAO,WAEZ9M,EAAQmjC,GAAiBC,EAGpBjyB,EAAGgyB,KAEPhyB,EAAE8xB,cAAgBC,EAAiBD,cAGnCH,GAAa3zB,KAAMg0B,IAIfE,GAAqB9iC,EAAOO,WAAYsiC,IAC5CA,EAAaC,EAAmB,IAGjCA,EAAoBD,EAAcngC,SAI5B,UAtDR,SAgED1C,EAAOgmB,UAAY,SAAUxjB,EAAMkD,EAASs9B,GAC3C,IAAMxgC,GAAwB,gBAATA,GACpB,MAAO,KAEgB,kBAAZkD,KACXs9B,EAAct9B,EACdA,GAAU,GAEXA,EAAUA,GAAWpG,CAErB,IAAI2jC,GAASrd,GAAWxhB,KAAM5B,GAC7BowB,GAAWoQ,KAGZ,OAAKC,IACKv9B,EAAQ1B,cAAei/B,EAAO,MAGxCA,EAASjjC,EAAO2yB,eAAiBnwB,GAAQkD,EAASktB,GAE7CA,GAAWA,EAAQ9yB,QACvBE,EAAQ4yB,GAAU7lB,SAGZ/M,EAAO8F,SAAWm9B,EAAOvjB,aAKjC,IAAIwjB,IAAQljC,EAAOiT,GAAG6c,IAKtB9vB,GAAOiT,GAAG6c,KAAO,SAAUwN,EAAK6F,EAAQrvB,GACvC,GAAoB,gBAARwpB,IAAoB4F,GAC/B,MAAOA,IAAMl7B,MAAOtI,KAAMuI,UAG3B,IAAI+K,GAAUjT,EAAMwR,EACnBsU,EAAOnmB,KACPgqB,EAAM4T,EAAIv8B,QAAQ,IA+CnB,OA7CK2oB,IAAO,IACX1W,EAAWhT,EAAOsV,KAAMgoB,EAAIj1B,MAAOqhB,IACnC4T,EAAMA,EAAIj1B,MAAO,EAAGqhB,IAIhB1pB,EAAOO,WAAY4iC,IAGvBrvB,EAAWqvB,EACXA,EAASzgC,QAGEygC,GAA4B,gBAAXA,KAC5BpjC,EAAO,QAIH8lB,EAAK/lB,OAAS,GAClBE,EAAOo+B,MACNd,IAAKA,EAGLv9B,KAAMA,EACN2P,SAAU,OACVlN,KAAM2gC,IACJt2B,KAAK,SAAUq1B,GAGjB3wB,EAAWtJ,UAEX4d,EAAK4N,KAAMzgB,EAIVhT,EAAO,SAASkzB,OAAQlzB,EAAOgmB,UAAWkc,IAAiB1lB,KAAMxJ,GAGjEkvB,KAEC9yB,SAAU0E,GAAY,SAAUhE,EAAOuuB,GACzCxY,EAAKtkB,KAAMuS,EAAUvC,IAAczB,EAAMoyB,aAAc7D,EAAQvuB,MAI1DpQ,MAORM,EAAOuB,MAAQ,YAAa,WAAY,eAAgB,YAAa,cAAe,YAAc,SAAUb,EAAGX,GAC9GC,EAAOiT,GAAIlT,GAAS,SAAUkT,GAC7B,MAAOvT,MAAKsxB,GAAIjxB,EAAMkT,MAOxBjT,EAAOwhB,KAAKyD,QAAQme,SAAW,SAAU3iC,GACxC,MAAOT,GAAOQ,KAAKR,EAAOw4B,OAAQ,SAAUvlB,GAC3C,MAAOxS,KAASwS,EAAGxS,OACjBX,OAMJ,IAAImd,IAAUxd,EAAOH,SAASyH,eAS9B/G,GAAOqjC,QACNC,UAAW,SAAU7iC,EAAMW,EAASV,GACnC,GAAI6iC,GAAaC,EAASC,EAAWC,EAAQC,EAAWC,EAAYC,EACnExO,EAAWr1B,EAAO0G,IAAKjG,EAAM,YAC7BqjC,EAAU9jC,EAAQS,GAClBgL,IAGiB,YAAb4pB,IACJ50B,EAAK4F,MAAMgvB,SAAW,YAGvBsO,EAAYG,EAAQT,SACpBI,EAAYzjC,EAAO0G,IAAKjG,EAAM,OAC9BmjC,EAAa5jC,EAAO0G,IAAKjG,EAAM,QAC/BojC,GAAmC,aAAbxO,GAAwC,UAAbA,KAC9CoO,EAAYG,GAAa7iC,QAAQ,QAAU,GAIzC8iC,GACJN,EAAcO,EAAQzO,WACtBqO,EAASH,EAAYxjB,IACrByjB,EAAUD,EAAYQ,OAGtBL,EAAS/5B,WAAY85B,IAAe,EACpCD,EAAU75B,WAAYi6B,IAAgB,GAGlC5jC,EAAOO,WAAYa,KACvBA,EAAUA,EAAQT,KAAMF,EAAMC,EAAGijC,IAGd,MAAfviC,EAAQ2e,MACZtU,EAAMsU,IAAQ3e,EAAQ2e,IAAM4jB,EAAU5jB,IAAQ2jB,GAE1B,MAAhBtiC,EAAQ2iC,OACZt4B,EAAMs4B,KAAS3iC,EAAQ2iC,KAAOJ,EAAUI,KAASP,GAG7C,SAAWpiC,GACfA,EAAQ4iC,MAAMrjC,KAAMF,EAAMgL,GAG1Bq4B,EAAQp9B,IAAK+E,KAKhBzL,EAAOiT,GAAGzN,QACT69B,OAAQ,SAAUjiC,GACjB,GAAK6G,UAAUnI,OACd,MAAmB4C,UAAZtB,EACN1B,KACAA,KAAK6B,KAAK,SAAUb,GACnBV,EAAOqjC,OAAOC,UAAW5jC,KAAM0B,EAASV,IAI3C,IAAIuc,GAASgnB,EACZxjC,EAAOf,KAAM,GACbwkC,GAAQnkB,IAAK,EAAGgkB,KAAM,GACtB39B,EAAM3F,GAAQA,EAAKsD,aAEpB,IAAMqC,EAON,MAHA6W,GAAU7W,EAAIW,gBAGR/G,EAAO0H,SAAUuV,EAASxc,UAMpBA,GAAK0jC,wBAA0BxY,KAC1CuY,EAAMzjC,EAAK0jC,yBAEZF,EAAMzxB,EAAWpM,IAEhB2Z,IAAKmkB,EAAInkB,IAAMkkB,EAAIG,YAAcnnB,EAAQ0S,UACzCoU,KAAMG,EAAIH,KAAOE,EAAII,YAAcpnB,EAAQsS,aAXpC2U,GAeT7O,SAAU,WACT,GAAM31B,KAAM,GAAZ,CAIA,GAAI4kC,GAAcjB,EACjB5iC,EAAOf,KAAM,GACb6kC,GAAiBxkB,IAAK,EAAGgkB,KAAM,EAuBhC,OApBwC,UAAnC/jC,EAAO0G,IAAKjG,EAAM,YAEtB4iC,EAAS5iC,EAAK0jC,yBAIdG,EAAe5kC,KAAK4kC,eAGpBjB,EAAS3jC,KAAK2jC,SACRrjC,EAAO2D,SAAU2gC,EAAc,GAAK,UACzCC,EAAeD,EAAajB,UAI7BkB,EAAaxkB,KAAO/f,EAAO0G,IAAK49B,EAAc,GAAK,kBAAkB,GACrEC,EAAaR,MAAQ/jC,EAAO0G,IAAK49B,EAAc,GAAK,mBAAmB,KAKvEvkB,IAAKsjB,EAAOtjB,IAAMwkB,EAAaxkB,IAAM/f,EAAO0G,IAAKjG,EAAM,aAAa,GACpEsjC,KAAMV,EAAOU,KAAOQ,EAAaR,KAAO/jC,EAAO0G,IAAKjG,EAAM,cAAc,MAI1E6jC,aAAc,WACb,MAAO5kC,MAAKsP,IAAI,WAGf,IAFA,GAAIs1B,GAAe5kC,KAAK4kC,cAAgBrnB,GAEhCqnB,IAAmBtkC,EAAO2D,SAAU2gC,EAAc,SAAuD,WAA3CtkC,EAAO0G,IAAK49B,EAAc,aAC/FA,EAAeA,EAAaA,YAG7B,OAAOA,IAAgBrnB,QAM1Bjd,EAAOuB,MAAQ+tB,WAAY,cAAeI,UAAW,eAAiB,SAAUqQ,EAAQ51B,GACvF,GAAI4V,GAAM,gBAAkB5V,CAE5BnK,GAAOiT,GAAI8sB,GAAW,SAAU52B,GAC/B,MAAO/D,IAAQ1F,KAAM,SAAUe,EAAMs/B,EAAQ52B,GAC5C,GAAI86B,GAAMzxB,EAAW/R,EAErB,OAAaiC,UAARyG,EACG86B,EAAMA,EAAK95B,GAAS1J,EAAMs/B,QAG7BkE,EACJA,EAAIO,SACFzkB,EAAYtgB,EAAO4kC,YAAbl7B,EACP4W,EAAM5W,EAAM1J,EAAO2kC,aAIpB3jC,EAAMs/B,GAAW52B,IAEhB42B,EAAQ52B,EAAKlB,UAAUnI,OAAQ,SAUpCE,EAAOuB,MAAQ,MAAO,QAAU,SAAUb,EAAGyJ,GAC5CnK,EAAOqN,SAAUlD,GAAStC,EAAc4B,EAAQorB,cAC/C,SAAUp0B,EAAM2G,GACf,MAAKA,IACJA,EAAWD,EAAQ1G,EAAM0J,GAElBxC,GAAU9G,KAAMuG,GACtBpH,EAAQS,GAAO40B,WAAYlrB,GAAS,KACpC/C,GALF,WAaHpH,EAAOuB,MAAQkjC,OAAQ,SAAUC,MAAO,SAAW,SAAUjiC,EAAM1C,GAClEC,EAAOuB,MAAQi1B,QAAS,QAAU/zB,EAAMiB,QAAS3D,EAAM4kC,GAAI,QAAUliC,GAAQ,SAAUmiC,EAAcC,GAEpG7kC,EAAOiT,GAAI4xB,GAAa,SAAUtO,EAAQ9tB,GACzC,GAAImhB,GAAY3hB,UAAUnI,SAAY8kC,GAAkC,iBAAXrO,IAC5DvtB,EAAQ47B,IAAkBrO,KAAW,GAAQ9tB,KAAU,EAAO,SAAW,SAE1E,OAAOrD,IAAQ1F,KAAM,SAAUe,EAAMV,EAAM0I,GAC1C,GAAIrC,EAEJ,OAAKpG,GAAOC,SAAUQ,GAIdA,EAAKnB,SAASyH,gBAAiB,SAAWtE,GAI3B,IAAlBhC,EAAKP,UACTkG,EAAM3F,EAAKsG,gBAIJ8B,KAAKC,IACXrI,EAAK8F,KAAM,SAAW9D,GAAQ2D,EAAK,SAAW3D,GAC9ChC,EAAK8F,KAAM,SAAW9D,GAAQ2D,EAAK,SAAW3D,GAC9C2D,EAAK,SAAW3D,KAIDC,SAAV+F,EAENzI,EAAO0G,IAAKjG,EAAMV,EAAMiJ,GAGxBhJ,EAAOqG,MAAO5F,EAAMV,EAAM0I,EAAOO,IAChCjJ,EAAM6pB,EAAY2M,EAAS7zB,OAAWknB,EAAW,WAOvD5pB,EAAOiT,GAAG6xB,KAAO,WAChB,MAAOplC,MAAKI,QAGbE,EAAOiT,GAAG8xB,QAAU/kC,EAAOiT,GAAG2T,QAkBP,kBAAXoe,SAAyBA,OAAOC,KAC3CD,OAAQ,YAAc,WACrB,MAAOhlC,IAOT,IAECklC,IAAUzlC,EAAOO,OAGjBmlC,GAAK1lC,EAAO2lC,CAwBb,OAtBAplC,GAAOqlC,WAAa,SAAU70B,GAS7B,MARK/Q,GAAO2lC,IAAMplC,IACjBP,EAAO2lC,EAAID,IAGP30B,GAAQ/Q,EAAOO,SAAWA,IAC9BP,EAAOO,OAASklC,IAGVllC,SAMIL,KAAagsB,KACxBlsB,EAAOO,OAASP,EAAO2lC,EAAIplC,GAMrBA;;;;;;;;;;;AAiBN,SAAU4jB,EAAMzkB,GACS,kBAAX6lC,SAAyBA,OAAOC,IAEvCD,QAAQ,UAAW7lC,GACO,gBAAZE,SAIdD,OAAOC,QAAUF,EAAQmmC,QAAQ,WAGjC1hB,EAAK2hB,SAAWpmC,EAAQykB,EAAK5jB,SAEnCN,KAAM,SAAU0lC,GAEhB,QAASI,GAASpkC,GAChB1B,KAAK+lC,SACL/lC,KAAKgmC,kBAAoB,OACzBhmC,KAAK6K,OAGL7K,KAAK0B,QAAUgkC,EAAE5/B,UAAW9F,KAAK+T,YAAYkyB,UAC7CjmC,KAAKiyB,OAAOvwB,GAudd,MAldAokC,GAASG,UACPC,WAAY,iBACZC,6BAA6B,EAC7BC,aAAc,IACdC,qBAAqB,EACrBC,kBAAmB,IAGnBC,gBAAiB,GACjBC,eAAgB,IAChBC,sBAAsB,EACtBC,YAAY,EACZC,kBAAkB,EASlBC,eAAe,GAGjBd,EAASl7B,UAAUqnB,OAAS,SAASvwB,GACnCgkC,EAAE5/B,OAAO9F,KAAK0B,QAASA,IAGzBokC,EAASl7B,UAAUi8B,gBAAkB,SAASC,EAAiBC,GAC7D,MAAO/mC,MAAK0B,QAAQwkC,WAAWjjC,QAAQ,MAAO6jC,GAAiB7jC,QAAQ,MAAO8jC,IAGhFjB,EAASl7B,UAAUC,KAAO,WACxB,GAAIsb,GAAOnmB,IAEX0lC,GAAE9lC,UAAUwC,MAAM,WAChB+jB,EAAK6gB,SACL7gB,EAAK8gB,WAMTnB,EAASl7B,UAAUo8B,OAAS,WAC1B,GAAI7gB,GAAOnmB,IACX0lC,GAAE,QAAQpU,GAAG,QAAS,+EAAgF,SAAS1rB,GAE7G,MADAugB,GAAK7Y,MAAMo4B,EAAE9/B,EAAMkpB,iBACZ,KAMXgX,EAASl7B,UAAUq8B,MAAQ,WACzB,GAAI9gB,GAAOnmB,IACX0lC,GAAE,qoBAAqoB9+B,SAAS8+B,EAAE,SAGlpB1lC,KAAKknC,UAAkBxB,EAAE,aACzB1lC,KAAKmnC,SAAkBzB,EAAE,oBACzB1lC,KAAKonC,gBAAkBpnC,KAAKknC,UAAUpqB,KAAK,sBAC3C9c,KAAKqnC,WAAkBrnC,KAAKknC,UAAUpqB,KAAK,iBAC3C9c,KAAKsnC,OAAkBtnC,KAAKknC,UAAUpqB,KAAK,aAC3C9c,KAAKunC,KAAkBvnC,KAAKknC,UAAUpqB,KAAK,WAG3C9c,KAAKwnC,kBACHnnB,IAAKonB,SAASznC,KAAKqnC,WAAWrgC,IAAI,eAAgB,IAClD0gC,MAAOD,SAASznC,KAAKqnC,WAAWrgC,IAAI,iBAAkB,IACtD2gC,OAAQF,SAASznC,KAAKqnC,WAAWrgC,IAAI,kBAAmB,IACxDq9B,KAAMoD,SAASznC,KAAKqnC,WAAWrgC,IAAI,gBAAiB,KAGtDhH,KAAK4nC,kBACHvnB,IAAKonB,SAASznC,KAAKsnC,OAAOtgC,IAAI,oBAAqB,IACnD0gC,MAAOD,SAASznC,KAAKsnC,OAAOtgC,IAAI,sBAAuB,IACvD2gC,OAAQF,SAASznC,KAAKsnC,OAAOtgC,IAAI,uBAAwB,IACzDq9B,KAAMoD,SAASznC,KAAKsnC,OAAOtgC,IAAI,qBAAsB,KAIvDhH,KAAKmnC,SAAS/5B,OAAOkkB,GAAG,QAAS,WAE/B,MADAnL,GAAKzb,OACE,IAGT1K,KAAKknC,UAAU95B,OAAOkkB,GAAG,QAAS,SAAS1rB,GAIzC,MAHmC,aAA/B8/B,EAAE9/B,EAAMiL,QAAQkR,KAAK,OACvBoE,EAAKzb,OAEA,IAGT1K,KAAKonC,gBAAgB9V,GAAG,QAAS,SAAS1rB,GAIxC,MAHmC,aAA/B8/B,EAAE9/B,EAAMiL,QAAQkR,KAAK,OACvBoE,EAAKzb,OAEA,IAGT1K,KAAKknC,UAAUpqB,KAAK,YAAYwU,GAAG,QAAS,WAM1C,MAL+B,KAA3BnL,EAAK6f,kBACP7f,EAAK0hB,YAAY1hB,EAAK4f,MAAM3lC,OAAS,GAErC+lB,EAAK0hB,YAAY1hB,EAAK6f,kBAAoB,IAErC,IAGThmC,KAAKknC,UAAUpqB,KAAK,YAAYwU,GAAG,QAAS,WAM1C,MALInL,GAAK6f,oBAAsB7f,EAAK4f,MAAM3lC,OAAS,EACjD+lB,EAAK0hB,YAAY,GAEjB1hB,EAAK0hB,YAAY1hB,EAAK6f,kBAAoB,IAErC,IAgBThmC,KAAKunC,KAAKjW,GAAG,YAAa,SAAS1rB,GACb,IAAhBA,EAAMwF,QACR+a,EAAKohB,KAAKvgC,IAAI,iBAAkB,QAEhCmf,EAAK+gB,UAAU3V,IAAI,cAAe,WAChCxmB,WAAW,WACP/K,KAAKunC,KAAKvgC,IAAI,iBAAkB,SAClCm1B,KAAKhW,GAAO,QAMpBnmB,KAAKknC,UAAUpqB,KAAK,yBAAyBwU,GAAG,QAAS,WAEvD,MADAnL,GAAKzb,OACE,KAKXo7B,EAASl7B,UAAU0C,MAAQ,SAASw6B,GAelC,QAASC,GAAWD,GAClB3hB,EAAK4f,MAAM72B,MACT84B,KAAMF,EAAM/lB,KAAK,QACjBkmB,MAAOH,EAAM/lB,KAAK,eAAiB+lB,EAAM/lB,KAAK,WAjBlD,GAAIoE,GAAUnmB,KACVkoC,EAAUxC,EAAE3lC,OAEhBmoC,GAAQ5W,GAAG,SAAUoU,EAAE/uB,MAAM3W,KAAKmoC,YAAanoC,OAE/C0lC,EAAE,yBAAyB1+B,KACzB4uB,WAAY,WAGd51B,KAAKmoC,cAELnoC,KAAK+lC,QACL,IAWIqC,GAXAC,EAAc,EAUdC,EAAoBR,EAAM/lB,KAAK,gBAGnC,IAAIumB,EAAmB,CACrBF,EAAS1C,EAAEoC,EAAMr9B,KAAK,WAAa,mBAAqB69B,EAAoB,KAC5E,KAAK,GAAItnC,GAAI,EAAGA,EAAIonC,EAAOhoC,OAAQY,IAAMA,EACvC+mC,EAAWrC,EAAE0C,EAAOpnC,KAChBonC,EAAOpnC,KAAO8mC,EAAM,KACtBO,EAAcrnC,OAIlB,IAA0B,aAAtB8mC,EAAM/lB,KAAK,OAEbgmB,EAAWD,OACN,CAELM,EAAS1C,EAAEoC,EAAMr9B,KAAK,WAAa,SAAWq9B,EAAM/lB,KAAK,OAAS,KAClE,KAAK,GAAIrN,GAAI,EAAGA,EAAI0zB,EAAOhoC,OAAQsU,IAAMA,EACvCqzB,EAAWrC,EAAE0C,EAAO1zB,KAChB0zB,EAAO1zB,KAAOozB,EAAM,KACtBO,EAAc3zB,GAOtB,GAAI2L,GAAO6nB,EAAQlY,YAAchwB,KAAK0B,QAAQ6kC,gBAC1ClC,EAAO6D,EAAQtY,YACnB5vB,MAAKknC,UAAUlgC,KACbqZ,IAAKA,EAAM,KACXgkB,KAAMA,EAAO,OACZlL,OAAOn5B,KAAK0B,QAAQ0kC,cAGnBpmC,KAAK0B,QAAQilC,kBACfjB,EAAE,QAAQvK,SAAS,wBAGrBn7B,KAAK6nC,YAAYQ,IAInBvC,EAASl7B,UAAUi9B,YAAc,SAASQ,GACxC,GAAIliB,GAAOnmB,IAEXA,MAAKuoC,oBACL,IAAIjB,GAAStnC,KAAKknC,UAAUpqB,KAAK,YAEjC9c,MAAKmnC,SAAShO,OAAOn5B,KAAK0B,QAAQ0kC,cAElCV,EAAE,cAAcvM,OAAO,QACvBn5B,KAAKknC,UAAUpqB,KAAK,uFAAuF1P,OAE3GpN,KAAKonC,gBAAgBjM,SAAS,YAG9B,IAAIqN,GAAY,GAAIC,MACpBD,GAAUlG,OAAS,WACjB,GAAIoG,GACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAEJ1B,GAAOvlB,KAAK,MAAOoE,EAAK4f,MAAMsC,GAAaL,MAE3CU,EAAahD,EAAE8C,GAEflB,EAAO3/B,MAAM6gC,EAAU7gC,OACvB2/B,EAAOh8B,OAAOk9B,EAAUl9B,QAEpB6a,EAAKzkB,QAAQ2kC,sBAIf2C,EAAiBtD,EAAE3lC,QAAQ4H,QAC3BohC,EAAiBrD,EAAE3lC,QAAQuL,SAC3Bw9B,EAAiBE,EAAc7iB,EAAKqhB,iBAAiBnD,KAAOle,EAAKqhB,iBAAiBE,MAAQvhB,EAAKyhB,iBAAiBvD,KAAOle,EAAKyhB,iBAAiBF,MAAQ,GACrJmB,EAAiBE,EAAe5iB,EAAKqhB,iBAAiBnnB,IAAM8F,EAAKqhB,iBAAiBG,OAASxhB,EAAKyhB,iBAAiBvnB,IAAM8F,EAAKyhB,iBAAiBD,OAAS,IAGlJxhB,EAAKzkB,QAAQmG,UAAYse,EAAKzkB,QAAQmG,SAAWihC,IACnDA,EAAgB3iB,EAAKzkB,QAAQmG,UAE3Bse,EAAKzkB,QAAQunC,WAAa9iB,EAAKzkB,QAAQunC,UAAYH,IACrDD,EAAiB1iB,EAAKzkB,QAAQunC,YAI3BT,EAAU7gC,MAAQmhC,GAAmBN,EAAUl9B,OAASu9B,KACtDL,EAAU7gC,MAAQmhC,EAAkBN,EAAUl9B,OAASu9B,GAC1DD,EAAcE,EACdH,EAAclB,SAASe,EAAUl9B,QAAUk9B,EAAU7gC,MAAQihC,GAAa,IAC1EtB,EAAO3/B,MAAMihC,GACbtB,EAAOh8B,OAAOq9B,KAEdA,EAAcE,EACdD,EAAanB,SAASe,EAAU7gC,OAAS6gC,EAAUl9B,OAASq9B,GAAc,IAC1ErB,EAAO3/B,MAAMihC,GACbtB,EAAOh8B,OAAOq9B,MAIpBxiB,EAAK+iB,cAAc5B,EAAO3/B,QAAS2/B,EAAOh8B,WAG5Ck9B,EAAUtjC,IAAelF,KAAK+lC,MAAMsC,GAAaL,KACjDhoC,KAAKgmC,kBAAoBqC,GAI3BvC,EAASl7B,UAAUu9B,YAAc,WAC/BnoC,KAAKmnC,SACFx/B,MAAM+9B,EAAE9lC,UAAU+H,SAClB2D,OAAOo6B,EAAE9lC,UAAU0L,WAIxBw6B,EAASl7B,UAAUs+B,cAAgB,SAASN,EAAYD,GAQtD,QAASQ,KACPhjB,EAAK+gB,UAAUpqB,KAAK,qBAAqBnV,MAAMyhC,GAC/CjjB,EAAK+gB,UAAUpqB,KAAK,gBAAgBxR,OAAO+9B,GAC3CljB,EAAK+gB,UAAUpqB,KAAK,gBAAgBxR,OAAO+9B,GAC3CljB,EAAKmjB,YAXP,GAAInjB,GAAOnmB,KAEPupC,EAAYvpC,KAAKonC,gBAAgBoC,aACjCC,EAAYzpC,KAAKonC,gBAAgBsC,cACjCN,EAAYR,EAAa5oC,KAAKwnC,iBAAiBnD,KAAOrkC,KAAKwnC,iBAAiBE,MAAQ1nC,KAAK4nC,iBAAiBvD,KAAOrkC,KAAK4nC,iBAAiBF,MACvI2B,EAAYV,EAAc3oC,KAAKwnC,iBAAiBnnB,IAAMrgB,KAAKwnC,iBAAiBG,OAAS3nC,KAAK4nC,iBAAiBvnB,IAAMrgB,KAAK4nC,iBAAiBD,MASvI4B,KAAaH,GAAYK,IAAcJ,EACzCrpC,KAAKonC,gBAAgB3O,SACnB9wB,MAAOyhC,EACP99B,OAAQ+9B,GACPrpC,KAAK0B,QAAQ8kC,eAAgB,QAAS,WACvC2C,MAGFA,KAKJrD,EAASl7B,UAAU0+B,UAAY,WAC7BtpC,KAAKknC,UAAUpqB,KAAK,cAAc3N,MAAK,GAAM/B,OAC7CpN,KAAKknC,UAAUpqB,KAAK,aAAaqc,OAAOn5B,KAAK0B,QAAQ4kC,mBAErDtmC,KAAK2pC,YACL3pC,KAAK4pC,gBACL5pC,KAAK6pC,2BACL7pC,KAAK8pC,qBAIPhE,EAASl7B,UAAU++B,UAAY,WAI7B,GAAII,IAAgB,CACpB,KACEnqC,SAASoqC,YAAY,cACrBD,EAAiB/pC,KAAK0B,QAAmC,6BAAI,GAAO,EACpE,MAAO6B,IAETvD,KAAKknC,UAAUpqB,KAAK,WAAW3S,OAE3BnK,KAAK+lC,MAAM3lC,OAAS,IAClBJ,KAAK0B,QAAQglC,YACXqD,GACF/pC,KAAKknC,UAAUpqB,KAAK,sBAAsB9V,IAAI,UAAW,KAE3DhH,KAAKknC,UAAUpqB,KAAK,sBAAsB3S,SAEtCnK,KAAKgmC,kBAAoB,IAC3BhmC,KAAKknC,UAAUpqB,KAAK,YAAY3S,OAC5B4/B,GACF/pC,KAAKknC,UAAUpqB,KAAK,YAAY9V,IAAI,UAAW,MAG/ChH,KAAKgmC,kBAAoBhmC,KAAK+lC,MAAM3lC,OAAS,IAC/CJ,KAAKknC,UAAUpqB,KAAK,YAAY3S,OAC5B4/B,GACF/pC,KAAKknC,UAAUpqB,KAAK,YAAY9V,IAAI,UAAW,SAQzD8+B,EAASl7B,UAAUg/B,cAAgB,WACjC,GAAIzjB,GAAOnmB,IAIX,IAAwD,mBAA7CA,MAAK+lC,MAAM/lC,KAAKgmC,mBAAmBiC,OACC,KAA7CjoC,KAAK+lC,MAAM/lC,KAAKgmC,mBAAmBiC,MAAc,CACjD,GAAIgC,GAAWjqC,KAAKknC,UAAUpqB,KAAK,cAC/B9c,MAAK0B,QAAQklC,cACfqD,EAASp0B,KAAK7V,KAAK+lC,MAAM/lC,KAAKgmC,mBAAmBiC,OAEjDgC,EAASlW,KAAK/zB,KAAK+lC,MAAM/lC,KAAKgmC,mBAAmBiC,OAEnDgC,EAAS9Q,OAAO,QACbrc,KAAK,KAAKwU,GAAG,QAAS,SAAS1rB,GACC5C,SAA3B0iC,EAAE1lC,MAAM+hB,KAAK,UACfhiB,OAAOoiC,KAAKuD,EAAE1lC,MAAM+hB,KAAK,QAAS2jB,EAAE1lC,MAAM+hB,KAAK,WAE/CkC,SAASI,KAAOqhB,EAAE1lC,MAAM+hB,KAAK,UAKrC,GAAI/hB,KAAK+lC,MAAM3lC,OAAS,GAAKJ,KAAK0B,QAAQ+kC,qBAAsB,CAC9D,GAAIyD,GAAYlqC,KAAK6mC,gBAAgB7mC,KAAKgmC,kBAAoB,EAAGhmC,KAAK+lC,MAAM3lC,OAC5EJ,MAAKknC,UAAUpqB,KAAK,cAAcjH,KAAKq0B,GAAW/Q,OAAO,YAEzDn5B,MAAKknC,UAAUpqB,KAAK,cAAc1P,MAGpCpN,MAAKonC,gBAAgB5L,YAAY,aAEjCx7B,KAAKknC,UAAUpqB,KAAK,qBAAqBqc,OAAOn5B,KAAK0B,QAAQ8kC,eAAgB,WAC3E,MAAOrgB,GAAKgiB,iBAKhBrC,EAASl7B,UAAUi/B,yBAA2B,WAC5C,GAAI7pC,KAAK+lC,MAAM3lC,OAASJ,KAAKgmC,kBAAoB,EAAG,CAClD,GAAImE,GAAc,GAAI1B,MACtB0B,GAAYjlC,IAAMlF,KAAK+lC,MAAM/lC,KAAKgmC,kBAAoB,GAAGgC,KAE3D,GAAIhoC,KAAKgmC,kBAAoB,EAAG,CAC9B,GAAIoE,GAAc,GAAI3B,MACtB2B,GAAYllC,IAAMlF,KAAK+lC,MAAM/lC,KAAKgmC,kBAAoB,GAAGgC,OAI7DlC,EAASl7B,UAAUk/B,kBAAoB,WACrCpE,EAAE9lC,UAAU0xB,GAAG,iBAAkBoU,EAAE/uB,MAAM3W,KAAKqqC,eAAgBrqC,QAGhE8lC,EAASl7B,UAAU29B,mBAAqB,WACtC7C,EAAE9lC,UAAUoqB,IAAI,cAGlB8b,EAASl7B,UAAUy/B,eAAiB,SAASzkC,GAC3C,GAAI0kC,GAAqB,GACrBC,EAAqB,GACrBC,EAAqB,GAErBC,EAAU7kC,EAAM2pB,QAChB1sB,EAAUgd,OAAOC,aAAa2qB,GAAStnC,aACvCsnC,KAAYH,GAAeznC,EAAIf,MAAM,SACvC9B,KAAK0K,MACY,MAAR7H,GAAe4nC,IAAYF,EACL,IAA3BvqC,KAAKgmC,kBACPhmC,KAAK6nC,YAAY7nC,KAAKgmC,kBAAoB,GACjChmC,KAAK0B,QAAQglC,YAAc1mC,KAAK+lC,MAAM3lC,OAAS,GACxDJ,KAAK6nC,YAAY7nC,KAAK+lC,MAAM3lC,OAAS,IAEtB,MAARyC,GAAe4nC,IAAYD,KAChCxqC,KAAKgmC,oBAAsBhmC,KAAK+lC,MAAM3lC,OAAS,EACjDJ,KAAK6nC,YAAY7nC,KAAKgmC,kBAAoB,GACjChmC,KAAK0B,QAAQglC,YAAc1mC,KAAK+lC,MAAM3lC,OAAS,GACxDJ,KAAK6nC,YAAY,KAMvB/B,EAASl7B,UAAUF,IAAM,WACvB1K,KAAKuoC,qBACL7C,EAAE3lC,QAAQiqB,IAAI,SAAUhqB,KAAKmoC,aAC7BnoC,KAAKknC,UAAU9N,QAAQp5B,KAAK0B,QAAQ0kC,cACpCpmC,KAAKmnC,SAAS/N,QAAQp5B,KAAK0B,QAAQ0kC,cACnCV,EAAE,yBAAyB1+B,KACzB4uB,WAAY,YAEV51B,KAAK0B,QAAQilC,kBACfjB,EAAE,QAAQlK,YAAY,yBAInB,GAAIsK","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file +{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArrayLike","obj","length","type","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","nodeType","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","dataUser","set","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","context","tag","ret","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","l","dataPriv","get","buildFragment","scripts","selection","ignored","tmp","wrap","contains","j","fragment","createDocumentFragment","nodes","rhtml","appendChild","createElement","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","push","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","err","on","types","selector","fn","one","origFn","event","off","apply","arguments","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","extend","fixInput","rcheckableType","checked","defaultValue","domManip","collection","args","callback","concat","first","hasScripts","node","doc","iNoClone","value","support","checkClone","rchecked","index","self","eq","html","map","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","slice","cssPrefixes","setPositiveNumber","subtract","matches","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","values","isHidden","Tween","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","properties","result","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","fail","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","split","throws","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","last","len","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","isNumeric","realStringObj","code","script","indirect","eval","trim","text","head","string","makeArray","results","Object","second","invert","callbackInverse","callbackExpect","arg","Date","Symbol","iterator","Sizzle","seed","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","join","rsibling","testContext","qsaError","select","createCache","cache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","els","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","then","fns","newDefer","tuple","returned","notify","resolve","reject","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","defineProperty","writable","configurable","stored","camel","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","old","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","suffix","expanded","parts","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","video","disableKeyboardNav","$video","sizeContainer","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":"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","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file diff --git a/dist/js/lightbox.js b/dist/js/lightbox.js index 22783f21..2f8f8d91 100644 --- a/dist/js/lightbox.js +++ b/dist/js/lightbox.js @@ -8,6 +8,8 @@ * Copyright 2007, 2015 Lokesh Dhakar * Released under the MIT license * https://github.com/lokesh/lightbox2/blob/master/LICENSE + * + * @preserve */ // Uses Node, AMD or browser globals to create a module. @@ -59,7 +61,11 @@ If the caption data is user submitted or from some other untrusted source, then set this to true to prevent xss and other injection attacks. */ - sanitizeTitle: false + sanitizeTitle: false, + /* + Adding a hasVideo option, which is false by default. + */ + hasVideo: false }; Lightbox.prototype.option = function(options) { @@ -103,6 +109,10 @@ this.$image = this.$lightbox.find('.lb-image'); this.$nav = this.$lightbox.find('.lb-nav'); + if (self.options.hasVideo) { + this.$image.after($('')); + } + // Store css values for future lookup this.containerPadding = { top: parseInt(this.$container.css('padding-top'), 10), @@ -222,11 +232,21 @@ if ($links[i] === $link[0]) { imageNumber = i; } + if (self.options.hasVideo && typeof $($links[i]).attr('data-video') !== 'undefined' && $($links[i]).attr('data-video') === 'true') { + self.album[i].video = true; + } else { + self.album[i].video = false; + } } } else { if ($link.attr('rel') === 'lightbox') { // If image is not part of a set addToAlbum($link); + if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -235,6 +255,11 @@ if ($links[j] === $link[0]) { imageNumber = j; } + if (self.options.hasVideo && typeof $($links[j]).attr('data-video') !== 'undefined' && $($links[j]).attr('data-video') === 'true') { + self.album[j].video = true; + } else { + self.album[j].video = false; + } } } } @@ -265,10 +290,16 @@ this.$overlay.fadeIn(this.options.fadeDuration); $('.lb-loader').fadeIn('slow'); - this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + this.$lightbox.find('.lb-image, .lb-video, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); this.$outerContainer.addClass('animating'); + if (self.options.hasVideo && self.album[imageNumber].video) { + var $video = this.$lightbox.find('.lb-video'); + $video.attr('src', self.album[imageNumber].link); + self.sizeContainer($video.width(), $video.height()); + } + // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); preloader.onload = function() { @@ -304,7 +335,8 @@ maxImageHeight = self.options.maxHeight; } - // Is there a fitting issue? + // Is the current image's width or height is greater than the maxImageWidth or maxImageHeight + // option than we need to size down while maintaining the aspect ratio. if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { imageWidth = maxImageWidth; @@ -321,7 +353,6 @@ } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; @@ -364,7 +395,11 @@ // Display the image and its details and begin preload neighboring images. Lightbox.prototype.showImage = function() { this.$lightbox.find('.lb-loader').stop(true).hide(); - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + if (this.options.hasVideo && this.album[this.currentImageIndex].video) { + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + } else { + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + } this.updateNav(); this.updateDetails(); diff --git a/dist/js/lightbox.min.js b/dist/js/lightbox.min.js index fe3a275c..45d4f192 100644 --- a/dist/js/lightbox.min.js +++ b/dist/js/lightbox.min.js @@ -8,6 +8,8 @@ * Copyright 2007, 2015 Lokesh Dhakar * Released under the MIT license * https://github.com/lokesh/lightbox2/blob/master/LICENSE + * + * @preserve */ -!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||e.height>i)&&(e.width/j>e.height/i?(h=j,g=parseInt(e.height/(e.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(e.width/(e.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},e.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=this.options.alwaysShowNavOnTouchDevices?!0:!1}catch(b){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):("n"===f||e===d)&&(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||f.height>i)&&(f.width/j>f.height/i?(h=j,g=parseInt(f.height/(f.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(f.width/(f.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},f.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox.min.map \ No newline at end of file diff --git a/dist/js/lightbox.min.map b/dist/js/lightbox.min.map index 1b12021a..bd80c142 100644 --- a/dist/js/lightbox.min.map +++ b/dist/js/lightbox.min.map @@ -1 +1 @@ -{"version":3,"sources":["../../src/js/lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","width","height","maxWidth","maxHeight","sizeContainer","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","removeClass","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":";;;;;;;;;;;CAaC,SAAUA,EAAMC,GACS,kBAAXC,SAAyBA,OAAOC,IAEvCD,QAAQ,UAAWD,GACO,gBAAZG,SAIdC,OAAOD,QAAUH,EAAQK,QAAQ,WAGjCN,EAAKO,SAAWN,EAAQD,EAAKQ,SAEnCC,KAAM,SAAUC,GAEhB,QAASC,GAASC,GAChBH,KAAKI,SACLJ,KAAKK,kBAAoB,OACzBL,KAAKM,OAGLN,KAAKG,QAAUF,EAAEM,UAAWP,KAAKQ,YAAYC,UAC7CT,KAAKU,OAAOP,GAudd,MAldAD,GAASO,UACPE,WAAY,iBACZC,6BAA6B,EAC7BC,aAAc,IACdC,qBAAqB,EACrBC,kBAAmB,IAGnBC,gBAAiB,GACjBC,eAAgB,IAChBC,sBAAsB,EACtBC,YAAY,EACZC,kBAAkB,EASlBC,eAAe,GAGjBnB,EAASoB,UAAUZ,OAAS,SAASP,GACnCF,EAAEM,OAAOP,KAAKG,QAASA,IAGzBD,EAASoB,UAAUC,gBAAkB,SAASC,EAAiBC,GAC7D,MAAOzB,MAAKG,QAAQQ,WAAWe,QAAQ,MAAOF,GAAiBE,QAAQ,MAAOD,IAGhFvB,EAASoB,UAAUhB,KAAO,WACxB,GAAIqB,GAAO3B,IAEXC,GAAE2B,UAAUC,MAAM,WAChBF,EAAKG,SACLH,EAAKI,WAMT7B,EAASoB,UAAUQ,OAAS,WAC1B,GAAIH,GAAO3B,IACXC,GAAE,QAAQ+B,GAAG,QAAS,+EAAgF,SAASC,GAE7G,MADAN,GAAKO,MAAMjC,EAAEgC,EAAME,iBACZ,KAMXjC,EAASoB,UAAUS,MAAQ,WACzB,GAAIJ,GAAO3B,IACXC,GAAE,qoBAAqoBmC,SAASnC,EAAE,SAGlpBD,KAAKqC,UAAkBpC,EAAE,aACzBD,KAAKsC,SAAkBrC,EAAE,oBACzBD,KAAKuC,gBAAkBvC,KAAKqC,UAAUG,KAAK,sBAC3CxC,KAAKyC,WAAkBzC,KAAKqC,UAAUG,KAAK,iBAC3CxC,KAAK0C,OAAkB1C,KAAKqC,UAAUG,KAAK,aAC3CxC,KAAK2C,KAAkB3C,KAAKqC,UAAUG,KAAK,WAG3CxC,KAAK4C,kBACHC,IAAKC,SAAS9C,KAAKyC,WAAWM,IAAI,eAAgB,IAClDC,MAAOF,SAAS9C,KAAKyC,WAAWM,IAAI,iBAAkB,IACtDE,OAAQH,SAAS9C,KAAKyC,WAAWM,IAAI,kBAAmB,IACxDG,KAAMJ,SAAS9C,KAAKyC,WAAWM,IAAI,gBAAiB,KAGtD/C,KAAKmD,kBACHN,IAAKC,SAAS9C,KAAK0C,OAAOK,IAAI,oBAAqB,IACnDC,MAAOF,SAAS9C,KAAK0C,OAAOK,IAAI,sBAAuB,IACvDE,OAAQH,SAAS9C,KAAK0C,OAAOK,IAAI,uBAAwB,IACzDG,KAAMJ,SAAS9C,KAAK0C,OAAOK,IAAI,qBAAsB,KAIvD/C,KAAKsC,SAASc,OAAOpB,GAAG,QAAS,WAE/B,MADAL,GAAK0B,OACE,IAGTrD,KAAKqC,UAAUe,OAAOpB,GAAG,QAAS,SAASC,GAIzC,MAHmC,aAA/BhC,EAAEgC,EAAMqB,QAAQC,KAAK,OACvB5B,EAAK0B,OAEA,IAGTrD,KAAKuC,gBAAgBP,GAAG,QAAS,SAASC,GAIxC,MAHmC,aAA/BhC,EAAEgC,EAAMqB,QAAQC,KAAK,OACvB5B,EAAK0B,OAEA,IAGTrD,KAAKqC,UAAUG,KAAK,YAAYR,GAAG,QAAS,WAM1C,MAL+B,KAA3BL,EAAKtB,kBACPsB,EAAK6B,YAAY7B,EAAKvB,MAAMqD,OAAS,GAErC9B,EAAK6B,YAAY7B,EAAKtB,kBAAoB,IAErC,IAGTL,KAAKqC,UAAUG,KAAK,YAAYR,GAAG,QAAS,WAM1C,MALIL,GAAKtB,oBAAsBsB,EAAKvB,MAAMqD,OAAS,EACjD9B,EAAK6B,YAAY,GAEjB7B,EAAK6B,YAAY7B,EAAKtB,kBAAoB,IAErC,IAgBTL,KAAK2C,KAAKX,GAAG,YAAa,SAASC,GACb,IAAhBA,EAAMyB,QACR/B,EAAKgB,KAAKI,IAAI,iBAAkB,QAEhCpB,EAAKU,UAAUsB,IAAI,cAAe,WAChCC,WAAW,WACP5D,KAAK2C,KAAKI,IAAI,iBAAkB,SAClCc,KAAKlC,GAAO,QAMpB3B,KAAKqC,UAAUG,KAAK,yBAAyBR,GAAG,QAAS,WAEvD,MADAL,GAAK0B,OACE,KAKXnD,EAASoB,UAAUY,MAAQ,SAAS4B,GAelC,QAASC,GAAWD,GAClBnC,EAAKvB,MAAM4D,MACTC,KAAMH,EAAMP,KAAK,QACjBW,MAAOJ,EAAMP,KAAK,eAAiBO,EAAMP,KAAK,WAjBlD,GAAI5B,GAAU3B,KACVmE,EAAUlE,EAAEmE,OAEhBD,GAAQnC,GAAG,SAAU/B,EAAEoE,MAAMrE,KAAKsE,YAAatE,OAE/CC,EAAE,yBAAyB8C,KACzBwB,WAAY,WAGdvE,KAAKsE,cAELtE,KAAKI,QACL,IAWIoE,GAXAC,EAAc,EAUdC,EAAoBZ,EAAMP,KAAK,gBAGnC,IAAImB,EAAmB,CACrBF,EAASvE,EAAE6D,EAAMa,KAAK,WAAa,mBAAqBD,EAAoB,KAC5E,KAAK,GAAIE,GAAI,EAAGA,EAAIJ,EAAOf,OAAQmB,IAAMA,EACvCb,EAAW9D,EAAEuE,EAAOI,KAChBJ,EAAOI,KAAOd,EAAM,KACtBW,EAAcG,OAIlB,IAA0B,aAAtBd,EAAMP,KAAK,OAEbQ,EAAWD,OACN,CAELU,EAASvE,EAAE6D,EAAMa,KAAK,WAAa,SAAWb,EAAMP,KAAK,OAAS,KAClE,KAAK,GAAIsB,GAAI,EAAGA,EAAIL,EAAOf,OAAQoB,IAAMA,EACvCd,EAAW9D,EAAEuE,EAAOK,KAChBL,EAAOK,KAAOf,EAAM,KACtBW,EAAcI,GAOtB,GAAIhC,GAAOsB,EAAQW,YAAc9E,KAAKG,QAAQa,gBAC1CkC,EAAOiB,EAAQY,YACnB/E,MAAKqC,UAAUU,KACbF,IAAKA,EAAM,KACXK,KAAMA,EAAO,OACZ8B,OAAOhF,KAAKG,QAAQU,cAGnBb,KAAKG,QAAQiB,kBACfnB,EAAE,QAAQgF,SAAS,wBAGrBjF,KAAKwD,YAAYiB,IAInBvE,EAASoB,UAAUkC,YAAc,SAASiB,GACxC,GAAI9C,GAAO3B,IAEXA,MAAKkF,oBACL,IAAIxC,GAAS1C,KAAKqC,UAAUG,KAAK,YAEjCxC,MAAKsC,SAAS0C,OAAOhF,KAAKG,QAAQU,cAElCZ,EAAE,cAAc+E,OAAO,QACvBhF,KAAKqC,UAAUG,KAAK,uFAAuFY,OAE3GpD,KAAKuC,gBAAgB0C,SAAS,YAG9B,IAAIE,GAAY,GAAIC,MACpBD,GAAUE,OAAS,WACjB,GAAIC,GACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAEJlD,GAAOa,KAAK,MAAO5B,EAAKvB,MAAMqE,GAAaR,MAE3CqB,EAAarF,EAAEkF,GAEfzC,EAAOmD,MAAMV,EAAUU,OACvBnD,EAAOoD,OAAOX,EAAUW,QAEpBnE,EAAKxB,QAAQW,sBAIf8E,EAAiB3F,EAAEmE,QAAQyB,QAC3BF,EAAiB1F,EAAEmE,QAAQ0B,SAC3BJ,EAAiBE,EAAcjE,EAAKiB,iBAAiBM,KAAOvB,EAAKiB,iBAAiBI,MAAQrB,EAAKwB,iBAAiBD,KAAOvB,EAAKwB,iBAAiBH,MAAQ,GACrJyC,EAAiBE,EAAehE,EAAKiB,iBAAiBC,IAAMlB,EAAKiB,iBAAiBK,OAAStB,EAAKwB,iBAAiBN,IAAMlB,EAAKwB,iBAAiBF,OAAS,IAGlJtB,EAAKxB,QAAQ4F,UAAYpE,EAAKxB,QAAQ4F,SAAWL,IACnDA,EAAgB/D,EAAKxB,QAAQ4F,UAE3BpE,EAAKxB,QAAQ6F,WAAarE,EAAKxB,QAAQ6F,UAAYN,IACrDD,EAAiB9D,EAAKxB,QAAQ6F,YAI3Bb,EAAUU,MAAQH,GAAmBP,EAAUW,OAASL,KACtDN,EAAUU,MAAQH,EAAkBP,EAAUW,OAASL,GAC1DD,EAAcE,EACdH,EAAczC,SAASqC,EAAUW,QAAUX,EAAUU,MAAQL,GAAa,IAC1E9C,EAAOmD,MAAML,GACb9C,EAAOoD,OAAOP,KAEdA,EAAcE,EACdD,EAAa1C,SAASqC,EAAUU,OAASV,EAAUW,OAASP,GAAc,IAC1E7C,EAAOmD,MAAML,GACb9C,EAAOoD,OAAOP,MAIpB5D,EAAKsE,cAAcvD,EAAOmD,QAASnD,EAAOoD,WAG5CX,EAAUe,IAAelG,KAAKI,MAAMqE,GAAaR,KACjDjE,KAAKK,kBAAoBoE,GAI3BvE,EAASoB,UAAUgD,YAAc,WAC/BtE,KAAKsC,SACFuD,MAAM5F,EAAE2B,UAAUiE,SAClBC,OAAO7F,EAAE2B,UAAUkE,WAIxB5F,EAASoB,UAAU2E,cAAgB,SAAST,EAAYD,GAQtD,QAASY,KACPxE,EAAKU,UAAUG,KAAK,qBAAqBqD,MAAMO,GAC/CzE,EAAKU,UAAUG,KAAK,gBAAgBsD,OAAOO,GAC3C1E,EAAKU,UAAUG,KAAK,gBAAgBsD,OAAOO,GAC3C1E,EAAK2E,YAXP,GAAI3E,GAAO3B,KAEPuG,EAAYvG,KAAKuC,gBAAgBiE,aACjCC,EAAYzG,KAAKuC,gBAAgBmE,cACjCN,EAAYZ,EAAaxF,KAAK4C,iBAAiBM,KAAOlD,KAAK4C,iBAAiBI,MAAQhD,KAAKmD,iBAAiBD,KAAOlD,KAAKmD,iBAAiBH,MACvIqD,EAAYd,EAAcvF,KAAK4C,iBAAiBC,IAAM7C,KAAK4C,iBAAiBK,OAASjD,KAAKmD,iBAAiBN,IAAM7C,KAAKmD,iBAAiBF,MASvIsD,KAAaH,GAAYK,IAAcJ,EACzCrG,KAAKuC,gBAAgBoE,SACnBd,MAAOO,EACPN,OAAQO,GACPrG,KAAKG,QAAQc,eAAgB,QAAS,WACvCkF,MAGFA,KAKJjG,EAASoB,UAAUgF,UAAY,WAC7BtG,KAAKqC,UAAUG,KAAK,cAAcoE,MAAK,GAAMxD,OAC7CpD,KAAKqC,UAAUG,KAAK,aAAawC,OAAOhF,KAAKG,QAAQY,mBAErDf,KAAK6G,YACL7G,KAAK8G,gBACL9G,KAAK+G,2BACL/G,KAAKgH,qBAIP9G,EAASoB,UAAUuF,UAAY,WAI7B,GAAII,IAAgB,CACpB,KACErF,SAASsF,YAAY,cACrBD,EAAiBjH,KAAKG,QAAmC,6BAAI,GAAO,EACpE,MAAOgH,IAETnH,KAAKqC,UAAUG,KAAK,WAAW4E,OAE3BpH,KAAKI,MAAMqD,OAAS,IAClBzD,KAAKG,QAAQgB,YACX8F,GACFjH,KAAKqC,UAAUG,KAAK,sBAAsBO,IAAI,UAAW,KAE3D/C,KAAKqC,UAAUG,KAAK,sBAAsB4E,SAEtCpH,KAAKK,kBAAoB,IAC3BL,KAAKqC,UAAUG,KAAK,YAAY4E,OAC5BH,GACFjH,KAAKqC,UAAUG,KAAK,YAAYO,IAAI,UAAW,MAG/C/C,KAAKK,kBAAoBL,KAAKI,MAAMqD,OAAS,IAC/CzD,KAAKqC,UAAUG,KAAK,YAAY4E,OAC5BH,GACFjH,KAAKqC,UAAUG,KAAK,YAAYO,IAAI,UAAW,SAQzD7C,EAASoB,UAAUwF,cAAgB,WACjC,GAAInF,GAAO3B,IAIX,IAAwD,mBAA7CA,MAAKI,MAAMJ,KAAKK,mBAAmB6D,OACC,KAA7ClE,KAAKI,MAAMJ,KAAKK,mBAAmB6D,MAAc,CACjD,GAAImD,GAAWrH,KAAKqC,UAAUG,KAAK,cAC/BxC,MAAKG,QAAQkB,cACfgG,EAASC,KAAKtH,KAAKI,MAAMJ,KAAKK,mBAAmB6D,OAEjDmD,EAASE,KAAKvH,KAAKI,MAAMJ,KAAKK,mBAAmB6D,OAEnDmD,EAASrC,OAAO,QACbxC,KAAK,KAAKR,GAAG,QAAS,SAASC,GACCuF,SAA3BvH,EAAED,MAAMuD,KAAK,UACfa,OAAOqD,KAAKxH,EAAED,MAAMuD,KAAK,QAAStD,EAAED,MAAMuD,KAAK,WAE/CmE,SAASC,KAAO1H,EAAED,MAAMuD,KAAK,UAKrC,GAAIvD,KAAKI,MAAMqD,OAAS,GAAKzD,KAAKG,QAAQe,qBAAsB,CAC9D,GAAI0G,GAAY5H,KAAKuB,gBAAgBvB,KAAKK,kBAAoB,EAAGL,KAAKI,MAAMqD,OAC5EzD,MAAKqC,UAAUG,KAAK,cAAc8E,KAAKM,GAAW5C,OAAO,YAEzDhF,MAAKqC,UAAUG,KAAK,cAAcY,MAGpCpD,MAAKuC,gBAAgBsF,YAAY,aAEjC7H,KAAKqC,UAAUG,KAAK,qBAAqBwC,OAAOhF,KAAKG,QAAQc,eAAgB,WAC3E,MAAOU,GAAK2C,iBAKhBpE,EAASoB,UAAUyF,yBAA2B,WAC5C,GAAI/G,KAAKI,MAAMqD,OAASzD,KAAKK,kBAAoB,EAAG,CAClD,GAAIyH,GAAc,GAAI1C,MACtB0C,GAAY5B,IAAMlG,KAAKI,MAAMJ,KAAKK,kBAAoB,GAAG4D,KAE3D,GAAIjE,KAAKK,kBAAoB,EAAG,CAC9B,GAAI0H,GAAc,GAAI3C,MACtB2C,GAAY7B,IAAMlG,KAAKI,MAAMJ,KAAKK,kBAAoB,GAAG4D,OAI7D/D,EAASoB,UAAU0F,kBAAoB,WACrC/G,EAAE2B,UAAUI,GAAG,iBAAkB/B,EAAEoE,MAAMrE,KAAKgI,eAAgBhI,QAGhEE,EAASoB,UAAU4D,mBAAqB,WACtCjF,EAAE2B,UAAUqG,IAAI,cAGlB/H,EAASoB,UAAU0G,eAAiB,SAAS/F,GAC3C,GAAIiG,GAAqB,GACrBC,EAAqB,GACrBC,EAAqB,GAErBC,EAAUpG,EAAMqG,QAChBC,EAAUC,OAAOC,aAAaJ,GAASK,aACvCL,KAAYH,GAAeK,EAAII,MAAM,SACvC3I,KAAKqD,MACY,MAARkF,GAAeF,IAAYF,EACL,IAA3BnI,KAAKK,kBACPL,KAAKwD,YAAYxD,KAAKK,kBAAoB,GACjCL,KAAKG,QAAQgB,YAAcnB,KAAKI,MAAMqD,OAAS,GACxDzD,KAAKwD,YAAYxD,KAAKI,MAAMqD,OAAS,IAEtB,MAAR8E,GAAeF,IAAYD,KAChCpI,KAAKK,oBAAsBL,KAAKI,MAAMqD,OAAS,EACjDzD,KAAKwD,YAAYxD,KAAKK,kBAAoB,GACjCL,KAAKG,QAAQgB,YAAcnB,KAAKI,MAAMqD,OAAS,GACxDzD,KAAKwD,YAAY,KAMvBtD,EAASoB,UAAU+B,IAAM,WACvBrD,KAAKkF,qBACLjF,EAAEmE,QAAQ6D,IAAI,SAAUjI,KAAKsE,aAC7BtE,KAAKqC,UAAUuG,QAAQ5I,KAAKG,QAAQU,cACpCb,KAAKsC,SAASsG,QAAQ5I,KAAKG,QAAQU,cACnCZ,EAAE,yBAAyB8C,KACzBwB,WAAY,YAEVvE,KAAKG,QAAQiB,kBACfnB,EAAE,QAAQ4H,YAAY,yBAInB,GAAI3H","file":"lightbox.min.js"} \ No newline at end of file +{"version":3,"sources":["..\\..\\src\\js\\lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","after","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","video","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","$video","sizeContainer","width","height","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxWidth","maxHeight","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","removeClass","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":"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","file":"lightbox.min.js"} \ No newline at end of file diff --git a/examples/video.html b/examples/video.html new file mode 100644 index 00000000..b86239d2 --- /dev/null +++ b/examples/video.html @@ -0,0 +1,50 @@ + + + + + Lightbox Example + + + + +
+

Two Individual Images

+
+ image-1 + image-1 +
+ +
+ +

A Four Image Set

+
+ + + + +
+ +
+ +

Images with a video that has a thumbnail image

+ + + + +
+ +
+

+ For more information, visit http://lokeshdhakar.com/projects/lightbox2/ +

+
+ + + + + + diff --git a/src/js/lightbox.js b/src/js/lightbox.js index 89aff092..2f8f8d91 100644 --- a/src/js/lightbox.js +++ b/src/js/lightbox.js @@ -61,7 +61,11 @@ If the caption data is user submitted or from some other untrusted source, then set this to true to prevent xss and other injection attacks. */ - sanitizeTitle: false + sanitizeTitle: false, + /* + Adding a hasVideo option, which is false by default. + */ + hasVideo: false }; Lightbox.prototype.option = function(options) { @@ -105,6 +109,10 @@ this.$image = this.$lightbox.find('.lb-image'); this.$nav = this.$lightbox.find('.lb-nav'); + if (self.options.hasVideo) { + this.$image.after($('')); + } + // Store css values for future lookup this.containerPadding = { top: parseInt(this.$container.css('padding-top'), 10), @@ -224,11 +232,21 @@ if ($links[i] === $link[0]) { imageNumber = i; } + if (self.options.hasVideo && typeof $($links[i]).attr('data-video') !== 'undefined' && $($links[i]).attr('data-video') === 'true') { + self.album[i].video = true; + } else { + self.album[i].video = false; + } } } else { if ($link.attr('rel') === 'lightbox') { // If image is not part of a set addToAlbum($link); + if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -237,6 +255,11 @@ if ($links[j] === $link[0]) { imageNumber = j; } + if (self.options.hasVideo && typeof $($links[j]).attr('data-video') !== 'undefined' && $($links[j]).attr('data-video') === 'true') { + self.album[j].video = true; + } else { + self.album[j].video = false; + } } } } @@ -267,10 +290,16 @@ this.$overlay.fadeIn(this.options.fadeDuration); $('.lb-loader').fadeIn('slow'); - this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); + this.$lightbox.find('.lb-image, .lb-video, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide(); this.$outerContainer.addClass('animating'); + if (self.options.hasVideo && self.album[imageNumber].video) { + var $video = this.$lightbox.find('.lb-video'); + $video.attr('src', self.album[imageNumber].link); + self.sizeContainer($video.width(), $video.height()); + } + // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); preloader.onload = function() { @@ -324,7 +353,6 @@ } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; @@ -367,7 +395,11 @@ // Display the image and its details and begin preload neighboring images. Lightbox.prototype.showImage = function() { this.$lightbox.find('.lb-loader').stop(true).hide(); - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + if (this.options.hasVideo && this.album[this.currentImageIndex].video) { + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + } else { + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + } this.updateNav(); this.updateDetails(); From 74648c4d6e58e4c3c9319e73f41c24de5ed40d0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Vigh?= Date: Thu, 12 Jan 2017 15:39:57 +0100 Subject: [PATCH 2/9] add border to iframe --- examples/video.html | 3 ++- src/css/lightbox.css | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/examples/video.html b/examples/video.html index b86239d2..1d4716d8 100644 --- a/examples/video.html +++ b/examples/video.html @@ -30,7 +30,8 @@

Images with a video that has a thumbnail image

- + +
diff --git a/src/css/lightbox.css b/src/css/lightbox.css index 80958352..2ec5ab29 100644 --- a/src/css/lightbox.css +++ b/src/css/lightbox.css @@ -40,6 +40,10 @@ body.lb-disable-scrolling { border: 4px solid white; } +.lightbox .lb-video { + border: 4px solid white; +} + .lightbox a img { border: none; } From d66b03d61813ecabbd9a1b079fdd1ceac220e6e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Vigh?= Date: Fri, 13 Jan 2017 12:50:05 +0100 Subject: [PATCH 3/9] remove video on changeImage --- src/js/lightbox.js | 192 +++++++++++++++++++++++---------------------- 1 file changed, 99 insertions(+), 93 deletions(-) diff --git a/src/js/lightbox.js b/src/js/lightbox.js index 2f8f8d91..438c61d0 100644 --- a/src/js/lightbox.js +++ b/src/js/lightbox.js @@ -14,18 +14,18 @@ // Uses Node, AMD or browser globals to create a module. (function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(require('jquery')); - } else { - // Browser globals (root is window) - root.lightbox = factory(root.jQuery); - } + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require('jquery')); + } else { + // Browser globals (root is window) + root.lightbox = factory(root.jQuery); + } }(this, function ($) { function Lightbox(options) { @@ -54,32 +54,32 @@ wrapAround: false, disableScrolling: false, /* - Sanitize Title - If the caption data is trusted, for example you are hardcoding it in, then leave this to false. - This will free you to add html tags, such as links, in the caption. + Sanitize Title + If the caption data is trusted, for example you are hardcoding it in, then leave this to false. + This will free you to add html tags, such as links, in the caption. - If the caption data is user submitted or from some other untrusted source, then set this to true - to prevent xss and other injection attacks. + If the caption data is user submitted or from some other untrusted source, then set this to true + to prevent xss and other injection attacks. */ sanitizeTitle: false, /* - Adding a hasVideo option, which is false by default. - */ + Adding a hasVideo option, which is false by default. + */ hasVideo: false }; - Lightbox.prototype.option = function(options) { + Lightbox.prototype.option = function (options) { $.extend(this.options, options); }; - Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { + Lightbox.prototype.imageCountLabel = function (currentImageNum, totalImages) { return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); }; - Lightbox.prototype.init = function() { + Lightbox.prototype.init = function () { var self = this; // Both enable and build methods require the body tag to be in the DOM. - $(document).ready(function() { + $(document).ready(function () { self.enable(); self.build(); }); @@ -87,9 +87,9 @@ // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes // that contain 'lightbox'. When these are clicked, start lightbox. - Lightbox.prototype.enable = function() { + Lightbox.prototype.enable = function () { var self = this; - $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { + $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function (event) { self.start($(event.currentTarget)); return false; }); @@ -97,17 +97,17 @@ // Build html for the lightbox and the overlay. // Attach event handlers to the new DOM elements. click click click - Lightbox.prototype.build = function() { + Lightbox.prototype.build = function () { var self = this; $('
').appendTo($('body')); // Cache jQuery objects - this.$lightbox = $('#lightbox'); - this.$overlay = $('#lightboxOverlay'); + this.$lightbox = $('#lightbox'); + this.$overlay = $('#lightboxOverlay'); this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); - this.$container = this.$lightbox.find('.lb-container'); - this.$image = this.$lightbox.find('.lb-image'); - this.$nav = this.$lightbox.find('.lb-nav'); + this.$container = this.$lightbox.find('.lb-container'); + this.$image = this.$lightbox.find('.lb-image'); + this.$nav = this.$lightbox.find('.lb-nav'); if (self.options.hasVideo) { this.$image.after($('')); @@ -129,26 +129,26 @@ }; // Attach event handlers to the newly minted DOM elements - this.$overlay.hide().on('click', function() { + this.$overlay.hide().on('click', function () { self.end(); return false; }); - this.$lightbox.hide().on('click', function(event) { + this.$lightbox.hide().on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$outerContainer.on('click', function(event) { + this.$outerContainer.on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$lightbox.find('.lb-prev').on('click', function() { + this.$lightbox.find('.lb-prev').on('click', function () { if (self.currentImageIndex === 0) { self.changeImage(self.album.length - 1); } else { @@ -157,7 +157,7 @@ return false; }); - this.$lightbox.find('.lb-next').on('click', function() { + this.$lightbox.find('.lb-next').on('click', function () { if (self.currentImageIndex === self.album.length - 1) { self.changeImage(0); } else { @@ -167,40 +167,40 @@ }); /* - Show context menu for image on right-click + Show context menu for image on right-click - There is a div containing the navigation that spans the entire image and lives above of it. If - you right-click, you are right clicking this div and not the image. This prevents users from - saving the image or using other context menu actions with the image. + There is a div containing the navigation that spans the entire image and lives above of it. If + you right-click, you are right clicking this div and not the image. This prevents users from + saving the image or using other context menu actions with the image. - To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we - set pointer-events to none on the nav div. This is so that the upcoming right-click event on - the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs - we set the pointer events back to auto for the nav div so it can capture hover and left-click - events as usual. + To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we + set pointer-events to none on the nav div. This is so that the upcoming right-click event on + the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs + we set the pointer events back to auto for the nav div so it can capture hover and left-click + events as usual. */ - this.$nav.on('mousedown', function(event) { + this.$nav.on('mousedown', function (event) { if (event.which === 3) { self.$nav.css('pointer-events', 'none'); - self.$lightbox.one('contextmenu', function() { - setTimeout(function() { - this.$nav.css('pointer-events', 'auto'); + self.$lightbox.one('contextmenu', function () { + setTimeout(function () { + this.$nav.css('pointer-events', 'auto'); }.bind(self), 0); }); } }); - this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { + this.$lightbox.find('.lb-loader, .lb-close').on('click', function () { self.end(); return false; }); }; // Show overlay and lightbox. If the image is part of a set, add siblings to album array. - Lightbox.prototype.start = function($link) { - var self = this; + Lightbox.prototype.start = function ($link) { + var self = this; var $window = $(window); $window.on('resize', $.proxy(this.sizeOverlay, this)); @@ -243,10 +243,10 @@ // If image is not part of a set addToAlbum($link); if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { - self.album[0].video = true; - } else { - self.album[0].video = false; - } + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -265,7 +265,7 @@ } // Position Lightbox - var top = $window.scrollTop() + this.options.positionFromTop; + var top = $window.scrollTop() + this.options.positionFromTop; var left = $window.scrollLeft(); this.$lightbox.css({ top: top + 'px', @@ -281,7 +281,7 @@ }; // Hide most UI elements in preparation for the animated resizing of the lightbox. - Lightbox.prototype.changeImage = function(imageNumber) { + Lightbox.prototype.changeImage = function (imageNumber) { var self = this; this.disableKeyboardNav(); @@ -294,15 +294,20 @@ this.$outerContainer.addClass('animating'); - if (self.options.hasVideo && self.album[imageNumber].video) { - var $video = this.$lightbox.find('.lb-video'); + if (self.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + + if (self.album[imageNumber].video) { $video.attr('src', self.album[imageNumber].link); self.sizeContainer($video.width(), $video.height()); + } else { + $video.attr('src', ''); + } } // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); - preloader.onload = function() { + preloader.onload = function () { var $preloader; var imageHeight; var imageWidth; @@ -322,9 +327,9 @@ // Fit image inside the viewport. // Take into account the border around the image and an additional 10px gutter on each side. - windowWidth = $(window).width(); - windowHeight = $(window).height(); - maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; + windowWidth = $(window).width(); + windowHeight = $(window).height(); + maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120; // Check if image size is larger then maxWidth|maxHeight in settings @@ -339,7 +344,7 @@ // option than we need to size down while maintaining the aspect ratio. if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { - imageWidth = maxImageWidth; + imageWidth = maxImageWidth; imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); $image.width(imageWidth); $image.height(imageHeight); @@ -353,24 +358,24 @@ } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; + preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; // Stretch overlay to fit the viewport - Lightbox.prototype.sizeOverlay = function() { + Lightbox.prototype.sizeOverlay = function () { this.$overlay .width($(document).width()) .height($(document).height()); }; // Animate the size of the lightbox to fit the image we are showing - Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { + Lightbox.prototype.sizeContainer = function (imageWidth, imageHeight) { var self = this; - var oldWidth = this.$outerContainer.outerWidth(); + var oldWidth = this.$outerContainer.outerWidth(); var oldHeight = this.$outerContainer.outerHeight(); - var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; + var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; function postResize() { @@ -384,7 +389,7 @@ this.$outerContainer.animate({ width: newWidth, height: newHeight - }, this.options.resizeDuration, 'swing', function() { + }, this.options.resizeDuration, 'swing', function () { postResize(); }); } else { @@ -393,12 +398,12 @@ }; // Display the image and its details and begin preload neighboring images. - Lightbox.prototype.showImage = function() { + Lightbox.prototype.showImage = function () { this.$lightbox.find('.lb-loader').stop(true).hide(); if (this.options.hasVideo && this.album[this.currentImageIndex].video) { - this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); } else { - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); } this.updateNav(); @@ -408,7 +413,7 @@ }; // Display previous and next navigation if appropriate. - Lightbox.prototype.updateNav = function() { + Lightbox.prototype.updateNav = function () { // Check to see if the browser supports touch events. If so, we take the conservative approach // and assume that mouse hover events are not supported and always show prev/next navigation // arrows in image sets. @@ -416,7 +421,8 @@ try { document.createEvent('TouchEvent'); alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; - } catch (e) {} + } catch (e) { + } this.$lightbox.find('.lb-nav').show(); @@ -444,7 +450,7 @@ }; // Display caption, image number, and closing button. - Lightbox.prototype.updateDetails = function() { + Lightbox.prototype.updateDetails = function () { var self = this; // Enable anchor clicks in the injected caption html. @@ -458,13 +464,13 @@ $caption.html(this.album[this.currentImageIndex].title); } $caption.fadeIn('fast') - .find('a').on('click', function(event) { - if ($(this).attr('target') !== undefined) { - window.open($(this).attr('href'), $(this).attr('target')); - } else { - location.href = $(this).attr('href'); - } - }); + .find('a').on('click', function (event) { + if ($(this).attr('target') !== undefined) { + window.open($(this).attr('href'), $(this).attr('target')); + } else { + location.href = $(this).attr('href'); + } + }); } if (this.album.length > 1 && this.options.showImageNumberLabel) { @@ -476,13 +482,13 @@ this.$outerContainer.removeClass('animating'); - this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { + this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function () { return self.sizeOverlay(); }); }; // Preload previous and next images in set. - Lightbox.prototype.preloadNeighboringImages = function() { + Lightbox.prototype.preloadNeighboringImages = function () { if (this.album.length > this.currentImageIndex + 1) { var preloadNext = new Image(); preloadNext.src = this.album[this.currentImageIndex + 1].link; @@ -493,21 +499,21 @@ } }; - Lightbox.prototype.enableKeyboardNav = function() { + Lightbox.prototype.enableKeyboardNav = function () { $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); }; - Lightbox.prototype.disableKeyboardNav = function() { + Lightbox.prototype.disableKeyboardNav = function () { $(document).off('.keyboard'); }; - Lightbox.prototype.keyboardAction = function(event) { - var KEYCODE_ESC = 27; - var KEYCODE_LEFTARROW = 37; + Lightbox.prototype.keyboardAction = function (event) { + var KEYCODE_ESC = 27; + var KEYCODE_LEFTARROW = 37; var KEYCODE_RIGHTARROW = 39; var keycode = event.keyCode; - var key = String.fromCharCode(keycode).toLowerCase(); + var key = String.fromCharCode(keycode).toLowerCase(); if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { this.end(); } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { @@ -526,7 +532,7 @@ }; // Closing time. :-( - Lightbox.prototype.end = function() { + Lightbox.prototype.end = function () { this.disableKeyboardNav(); $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); From d2302d70f8321ae348576181a4cbe77e11062088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Vigh?= Date: Fri, 13 Jan 2017 13:11:48 +0100 Subject: [PATCH 4/9] update navigation styles over video --- dist/css/lightbox.css | 30 ++++ dist/css/lightbox.min.css | 2 +- dist/js/lightbox-plus-jquery.js | 200 ++++++++++++++------------- dist/js/lightbox-plus-jquery.min.js | 2 +- dist/js/lightbox-plus-jquery.min.map | 2 +- dist/js/lightbox.js | 200 ++++++++++++++------------- dist/js/lightbox.min.js | 2 +- dist/js/lightbox.min.map | 2 +- examples/video.html | 1 + src/css/lightbox.css | 26 ++++ src/js/lightbox.js | 8 ++ 11 files changed, 284 insertions(+), 191 deletions(-) diff --git a/dist/css/lightbox.css b/dist/css/lightbox.css index 80958352..43d5952f 100644 --- a/dist/css/lightbox.css +++ b/dist/css/lightbox.css @@ -40,6 +40,10 @@ body.lb-disable-scrolling { border: 4px solid white; } +.lightbox .lb-video { + border: 4px solid white; +} + .lightbox a img { border: none; } @@ -211,3 +215,29 @@ body.lb-disable-scrolling { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } + +.lb-video-nav { + position: relative; +} + +.lb-video-nav .lb-nav { + position: initial; +} + +.lb-video-nav .lb-nav .lb-prev { + position: absolute; + width: 65px; + height: 70%; + top: 50%; + transform: translateY(-50%); + z-index: 10; +} + +.lb-video-nav .lb-nav .lb-next { + position: absolute; + width: 65px; + height: 70%; + top: 50%; + transform: translateY(-50%); + z-index: 10; +} diff --git a/dist/css/lightbox.min.css b/dist/css/lightbox.min.css index 158db828..719ce15d 100644 --- a/dist/css/lightbox.min.css +++ b/dist/css/lightbox.min.css @@ -1 +1 @@ -.lb-loader,.lightbox{text-align:center;line-height:0}body:after{content:url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);display:none}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1} \ No newline at end of file +.lb-loader,.lightbox{text-align:center;line-height:0}body:after{content:url(../images/close.png) url(../images/loading.gif) url(../images/prev.png) url(../images/next.png);display:none}.lb-dataContainer:after,.lb-outerContainer:after{content:"";clear:both}body.lb-disable-scrolling{overflow:hidden}.lightboxOverlay{position:absolute;top:0;left:0;z-index:9999;background-color:#000;filter:alpha(Opacity=80);opacity:.8;display:none}.lightbox{position:absolute;left:0;width:100%;z-index:10000;font-weight:400}.lightbox .lb-image{display:block;height:auto;max-width:inherit;max-height:none;border-radius:3px;border:4px solid #fff}.lightbox .lb-video{border:4px solid #fff}.lightbox a img{border:none}.lb-outerContainer{position:relative;width:250px;height:250px;margin:0 auto;border-radius:4px;background-color:#fff}.lb-loader,.lb-nav{position:absolute;left:0}.lb-outerContainer:after{display:table}.lb-loader{top:43%;height:25%;width:100%}.lb-cancel{display:block;width:32px;height:32px;margin:0 auto;background:url(../images/loading.gif) no-repeat}.lb-nav{top:0;height:100%;width:100%;z-index:10}.lb-container>.nav{left:0}.lb-nav a{outline:0;background-image:url(data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)}.lb-next,.lb-prev{height:100%;cursor:pointer;display:block}.lb-nav a.lb-prev{width:34%;left:0;float:left;background:url(../images/prev.png) left 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-prev:hover{filter:alpha(Opacity=100);opacity:1}.lb-nav a.lb-next{width:64%;right:0;float:right;background:url(../images/next.png) right 48% no-repeat;filter:alpha(Opacity=0);opacity:0;-webkit-transition:opacity .6s;-moz-transition:opacity .6s;-o-transition:opacity .6s;transition:opacity .6s}.lb-nav a.lb-next:hover{filter:alpha(Opacity=100);opacity:1}.lb-dataContainer{margin:0 auto;padding-top:5px;width:100%;-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.lb-dataContainer:after{display:table}.lb-data{padding:0 4px;color:#ccc}.lb-data .lb-details{width:85%;float:left;text-align:left;line-height:1.1em}.lb-data .lb-caption{font-size:13px;font-weight:700;line-height:1em}.lb-data .lb-caption a{color:#4ae}.lb-data .lb-number{display:block;clear:left;padding-bottom:1em;font-size:12px;color:#999}.lb-data .lb-close{display:block;float:right;width:30px;height:30px;background:url(../images/close.png) top right no-repeat;text-align:right;outline:0;filter:alpha(Opacity=70);opacity:.7;-webkit-transition:opacity .2s;-moz-transition:opacity .2s;-o-transition:opacity .2s;transition:opacity .2s}.lb-data .lb-close:hover{cursor:pointer;filter:alpha(Opacity=100);opacity:1}.lb-video-nav{position:relative}.lb-video-nav .lb-nav{position:initial}.lb-video-nav .lb-nav .lb-next,.lb-video-nav .lb-nav .lb-prev{position:absolute;width:65px;height:70%;top:50%;transform:translateY(-50%);z-index:10} \ No newline at end of file diff --git a/dist/js/lightbox-plus-jquery.js b/dist/js/lightbox-plus-jquery.js index 8a75d2ee..c81ce24d 100644 --- a/dist/js/lightbox-plus-jquery.js +++ b/dist/js/lightbox-plus-jquery.js @@ -9829,18 +9829,18 @@ return jQuery; // Uses Node, AMD or browser globals to create a module. (function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(require('jquery')); - } else { - // Browser globals (root is window) - root.lightbox = factory(root.jQuery); - } + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require('jquery')); + } else { + // Browser globals (root is window) + root.lightbox = factory(root.jQuery); + } }(this, function ($) { function Lightbox(options) { @@ -9869,32 +9869,32 @@ return jQuery; wrapAround: false, disableScrolling: false, /* - Sanitize Title - If the caption data is trusted, for example you are hardcoding it in, then leave this to false. - This will free you to add html tags, such as links, in the caption. + Sanitize Title + If the caption data is trusted, for example you are hardcoding it in, then leave this to false. + This will free you to add html tags, such as links, in the caption. - If the caption data is user submitted or from some other untrusted source, then set this to true - to prevent xss and other injection attacks. + If the caption data is user submitted or from some other untrusted source, then set this to true + to prevent xss and other injection attacks. */ sanitizeTitle: false, /* - Adding a hasVideo option, which is false by default. - */ + Adding a hasVideo option, which is false by default. + */ hasVideo: false }; - Lightbox.prototype.option = function(options) { + Lightbox.prototype.option = function (options) { $.extend(this.options, options); }; - Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { + Lightbox.prototype.imageCountLabel = function (currentImageNum, totalImages) { return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); }; - Lightbox.prototype.init = function() { + Lightbox.prototype.init = function () { var self = this; // Both enable and build methods require the body tag to be in the DOM. - $(document).ready(function() { + $(document).ready(function () { self.enable(); self.build(); }); @@ -9902,9 +9902,9 @@ return jQuery; // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes // that contain 'lightbox'. When these are clicked, start lightbox. - Lightbox.prototype.enable = function() { + Lightbox.prototype.enable = function () { var self = this; - $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { + $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function (event) { self.start($(event.currentTarget)); return false; }); @@ -9912,17 +9912,17 @@ return jQuery; // Build html for the lightbox and the overlay. // Attach event handlers to the new DOM elements. click click click - Lightbox.prototype.build = function() { + Lightbox.prototype.build = function () { var self = this; $('
').appendTo($('body')); // Cache jQuery objects - this.$lightbox = $('#lightbox'); - this.$overlay = $('#lightboxOverlay'); + this.$lightbox = $('#lightbox'); + this.$overlay = $('#lightboxOverlay'); this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); - this.$container = this.$lightbox.find('.lb-container'); - this.$image = this.$lightbox.find('.lb-image'); - this.$nav = this.$lightbox.find('.lb-nav'); + this.$container = this.$lightbox.find('.lb-container'); + this.$image = this.$lightbox.find('.lb-image'); + this.$nav = this.$lightbox.find('.lb-nav'); if (self.options.hasVideo) { this.$image.after($('')); @@ -9944,26 +9944,26 @@ return jQuery; }; // Attach event handlers to the newly minted DOM elements - this.$overlay.hide().on('click', function() { + this.$overlay.hide().on('click', function () { self.end(); return false; }); - this.$lightbox.hide().on('click', function(event) { + this.$lightbox.hide().on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$outerContainer.on('click', function(event) { + this.$outerContainer.on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$lightbox.find('.lb-prev').on('click', function() { + this.$lightbox.find('.lb-prev').on('click', function () { if (self.currentImageIndex === 0) { self.changeImage(self.album.length - 1); } else { @@ -9972,7 +9972,7 @@ return jQuery; return false; }); - this.$lightbox.find('.lb-next').on('click', function() { + this.$lightbox.find('.lb-next').on('click', function () { if (self.currentImageIndex === self.album.length - 1) { self.changeImage(0); } else { @@ -9982,40 +9982,40 @@ return jQuery; }); /* - Show context menu for image on right-click + Show context menu for image on right-click - There is a div containing the navigation that spans the entire image and lives above of it. If - you right-click, you are right clicking this div and not the image. This prevents users from - saving the image or using other context menu actions with the image. + There is a div containing the navigation that spans the entire image and lives above of it. If + you right-click, you are right clicking this div and not the image. This prevents users from + saving the image or using other context menu actions with the image. - To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we - set pointer-events to none on the nav div. This is so that the upcoming right-click event on - the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs - we set the pointer events back to auto for the nav div so it can capture hover and left-click - events as usual. + To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we + set pointer-events to none on the nav div. This is so that the upcoming right-click event on + the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs + we set the pointer events back to auto for the nav div so it can capture hover and left-click + events as usual. */ - this.$nav.on('mousedown', function(event) { + this.$nav.on('mousedown', function (event) { if (event.which === 3) { self.$nav.css('pointer-events', 'none'); - self.$lightbox.one('contextmenu', function() { - setTimeout(function() { - this.$nav.css('pointer-events', 'auto'); + self.$lightbox.one('contextmenu', function () { + setTimeout(function () { + this.$nav.css('pointer-events', 'auto'); }.bind(self), 0); }); } }); - this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { + this.$lightbox.find('.lb-loader, .lb-close').on('click', function () { self.end(); return false; }); }; // Show overlay and lightbox. If the image is part of a set, add siblings to album array. - Lightbox.prototype.start = function($link) { - var self = this; + Lightbox.prototype.start = function ($link) { + var self = this; var $window = $(window); $window.on('resize', $.proxy(this.sizeOverlay, this)); @@ -10058,10 +10058,10 @@ return jQuery; // If image is not part of a set addToAlbum($link); if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { - self.album[0].video = true; - } else { - self.album[0].video = false; - } + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -10080,7 +10080,7 @@ return jQuery; } // Position Lightbox - var top = $window.scrollTop() + this.options.positionFromTop; + var top = $window.scrollTop() + this.options.positionFromTop; var left = $window.scrollLeft(); this.$lightbox.css({ top: top + 'px', @@ -10096,7 +10096,7 @@ return jQuery; }; // Hide most UI elements in preparation for the animated resizing of the lightbox. - Lightbox.prototype.changeImage = function(imageNumber) { + Lightbox.prototype.changeImage = function (imageNumber) { var self = this; this.disableKeyboardNav(); @@ -10109,15 +10109,28 @@ return jQuery; this.$outerContainer.addClass('animating'); - if (self.options.hasVideo && self.album[imageNumber].video) { - var $video = this.$lightbox.find('.lb-video'); + if (self.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); + + if (self.album[imageNumber].video) { $video.attr('src', self.album[imageNumber].link); self.sizeContainer($video.width(), $video.height()); + if (!$hasVideoNav) { + $lbContainer.addClass('lb-video-nav'); + } + } else { + $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } + } } // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); - preloader.onload = function() { + preloader.onload = function () { var $preloader; var imageHeight; var imageWidth; @@ -10137,9 +10150,9 @@ return jQuery; // Fit image inside the viewport. // Take into account the border around the image and an additional 10px gutter on each side. - windowWidth = $(window).width(); - windowHeight = $(window).height(); - maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; + windowWidth = $(window).width(); + windowHeight = $(window).height(); + maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120; // Check if image size is larger then maxWidth|maxHeight in settings @@ -10154,7 +10167,7 @@ return jQuery; // option than we need to size down while maintaining the aspect ratio. if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { - imageWidth = maxImageWidth; + imageWidth = maxImageWidth; imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); $image.width(imageWidth); $image.height(imageHeight); @@ -10168,24 +10181,24 @@ return jQuery; } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; + preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; // Stretch overlay to fit the viewport - Lightbox.prototype.sizeOverlay = function() { + Lightbox.prototype.sizeOverlay = function () { this.$overlay .width($(document).width()) .height($(document).height()); }; // Animate the size of the lightbox to fit the image we are showing - Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { + Lightbox.prototype.sizeContainer = function (imageWidth, imageHeight) { var self = this; - var oldWidth = this.$outerContainer.outerWidth(); + var oldWidth = this.$outerContainer.outerWidth(); var oldHeight = this.$outerContainer.outerHeight(); - var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; + var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; function postResize() { @@ -10199,7 +10212,7 @@ return jQuery; this.$outerContainer.animate({ width: newWidth, height: newHeight - }, this.options.resizeDuration, 'swing', function() { + }, this.options.resizeDuration, 'swing', function () { postResize(); }); } else { @@ -10208,12 +10221,12 @@ return jQuery; }; // Display the image and its details and begin preload neighboring images. - Lightbox.prototype.showImage = function() { + Lightbox.prototype.showImage = function () { this.$lightbox.find('.lb-loader').stop(true).hide(); if (this.options.hasVideo && this.album[this.currentImageIndex].video) { - this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); } else { - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); } this.updateNav(); @@ -10223,7 +10236,7 @@ return jQuery; }; // Display previous and next navigation if appropriate. - Lightbox.prototype.updateNav = function() { + Lightbox.prototype.updateNav = function () { // Check to see if the browser supports touch events. If so, we take the conservative approach // and assume that mouse hover events are not supported and always show prev/next navigation // arrows in image sets. @@ -10231,7 +10244,8 @@ return jQuery; try { document.createEvent('TouchEvent'); alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; - } catch (e) {} + } catch (e) { + } this.$lightbox.find('.lb-nav').show(); @@ -10259,7 +10273,7 @@ return jQuery; }; // Display caption, image number, and closing button. - Lightbox.prototype.updateDetails = function() { + Lightbox.prototype.updateDetails = function () { var self = this; // Enable anchor clicks in the injected caption html. @@ -10273,13 +10287,13 @@ return jQuery; $caption.html(this.album[this.currentImageIndex].title); } $caption.fadeIn('fast') - .find('a').on('click', function(event) { - if ($(this).attr('target') !== undefined) { - window.open($(this).attr('href'), $(this).attr('target')); - } else { - location.href = $(this).attr('href'); - } - }); + .find('a').on('click', function (event) { + if ($(this).attr('target') !== undefined) { + window.open($(this).attr('href'), $(this).attr('target')); + } else { + location.href = $(this).attr('href'); + } + }); } if (this.album.length > 1 && this.options.showImageNumberLabel) { @@ -10291,13 +10305,13 @@ return jQuery; this.$outerContainer.removeClass('animating'); - this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { + this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function () { return self.sizeOverlay(); }); }; // Preload previous and next images in set. - Lightbox.prototype.preloadNeighboringImages = function() { + Lightbox.prototype.preloadNeighboringImages = function () { if (this.album.length > this.currentImageIndex + 1) { var preloadNext = new Image(); preloadNext.src = this.album[this.currentImageIndex + 1].link; @@ -10308,21 +10322,21 @@ return jQuery; } }; - Lightbox.prototype.enableKeyboardNav = function() { + Lightbox.prototype.enableKeyboardNav = function () { $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); }; - Lightbox.prototype.disableKeyboardNav = function() { + Lightbox.prototype.disableKeyboardNav = function () { $(document).off('.keyboard'); }; - Lightbox.prototype.keyboardAction = function(event) { - var KEYCODE_ESC = 27; - var KEYCODE_LEFTARROW = 37; + Lightbox.prototype.keyboardAction = function (event) { + var KEYCODE_ESC = 27; + var KEYCODE_LEFTARROW = 37; var KEYCODE_RIGHTARROW = 39; var keycode = event.keyCode; - var key = String.fromCharCode(keycode).toLowerCase(); + var key = String.fromCharCode(keycode).toLowerCase(); if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { this.end(); } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { @@ -10341,7 +10355,7 @@ return jQuery; }; // Closing time. :-( - Lightbox.prototype.end = function() { + Lightbox.prototype.end = function () { this.disableKeyboardNav(); $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); diff --git a/dist/js/lightbox-plus-jquery.min.js b/dist/js/lightbox-plus-jquery.min.js index 5070e6ce..986c8132 100644 --- a/dist/js/lightbox-plus-jquery.min.js +++ b/dist/js/lightbox-plus-jquery.min.js @@ -36,5 +36,5 @@ for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h. * * @preserve */ -function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||f.height>i)&&(f.width/j>f.height/i?(h=j,g=parseInt(f.height/(f.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(f.width/(f.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},f.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); +function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox-plus-jquery.min.map \ No newline at end of file diff --git a/dist/js/lightbox-plus-jquery.min.map b/dist/js/lightbox-plus-jquery.min.map index 37072197..bb722da7 100644 --- a/dist/js/lightbox-plus-jquery.min.map +++ b/dist/js/lightbox-plus-jquery.min.map @@ -1 +1 @@ -{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArrayLike","obj","length","type","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","nodeType","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","dataUser","set","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","context","tag","ret","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","l","dataPriv","get","buildFragment","scripts","selection","ignored","tmp","wrap","contains","j","fragment","createDocumentFragment","nodes","rhtml","appendChild","createElement","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","push","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","err","on","types","selector","fn","one","origFn","event","off","apply","arguments","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","extend","fixInput","rcheckableType","checked","defaultValue","domManip","collection","args","callback","concat","first","hasScripts","node","doc","iNoClone","value","support","checkClone","rchecked","index","self","eq","html","map","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","slice","cssPrefixes","setPositiveNumber","subtract","matches","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","values","isHidden","Tween","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","properties","result","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","fail","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","split","throws","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","last","len","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","isNumeric","realStringObj","code","script","indirect","eval","trim","text","head","string","makeArray","results","Object","second","invert","callbackInverse","callbackExpect","arg","Date","Symbol","iterator","Sizzle","seed","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","join","rsibling","testContext","qsaError","select","createCache","cache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","els","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","then","fns","newDefer","tuple","returned","notify","resolve","reject","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","defineProperty","writable","configurable","stored","camel","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","old","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","suffix","expanded","parts","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","video","disableKeyboardNav","$video","sizeContainer","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":"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","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file +{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArrayLike","obj","length","type","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","nodeType","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","dataUser","set","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","context","tag","ret","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","l","dataPriv","get","buildFragment","scripts","selection","ignored","tmp","wrap","contains","j","fragment","createDocumentFragment","nodes","rhtml","appendChild","createElement","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","push","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","err","on","types","selector","fn","one","origFn","event","off","apply","arguments","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","extend","fixInput","rcheckableType","checked","defaultValue","domManip","collection","args","callback","concat","first","hasScripts","node","doc","iNoClone","value","support","checkClone","rchecked","index","self","eq","html","map","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","slice","cssPrefixes","setPositiveNumber","subtract","matches","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","values","isHidden","Tween","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","properties","result","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","fail","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","split","throws","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","last","len","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","isNumeric","realStringObj","code","script","indirect","eval","trim","text","head","string","makeArray","results","Object","second","invert","callbackInverse","callbackExpect","arg","Date","Symbol","iterator","Sizzle","seed","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","join","rsibling","testContext","qsaError","select","createCache","cache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","els","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","then","fns","newDefer","tuple","returned","notify","resolve","reject","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","defineProperty","writable","configurable","stored","camel","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","old","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","suffix","expanded","parts","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","video","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","sizeContainer","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":"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","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file diff --git a/dist/js/lightbox.js b/dist/js/lightbox.js index 2f8f8d91..628ef5f8 100644 --- a/dist/js/lightbox.js +++ b/dist/js/lightbox.js @@ -14,18 +14,18 @@ // Uses Node, AMD or browser globals to create a module. (function (root, factory) { - if (typeof define === 'function' && define.amd) { - // AMD. Register as an anonymous module. - define(['jquery'], factory); - } else if (typeof exports === 'object') { - // Node. Does not work with strict CommonJS, but - // only CommonJS-like environments that support module.exports, - // like Node. - module.exports = factory(require('jquery')); - } else { - // Browser globals (root is window) - root.lightbox = factory(root.jQuery); - } + if (typeof define === 'function' && define.amd) { + // AMD. Register as an anonymous module. + define(['jquery'], factory); + } else if (typeof exports === 'object') { + // Node. Does not work with strict CommonJS, but + // only CommonJS-like environments that support module.exports, + // like Node. + module.exports = factory(require('jquery')); + } else { + // Browser globals (root is window) + root.lightbox = factory(root.jQuery); + } }(this, function ($) { function Lightbox(options) { @@ -54,32 +54,32 @@ wrapAround: false, disableScrolling: false, /* - Sanitize Title - If the caption data is trusted, for example you are hardcoding it in, then leave this to false. - This will free you to add html tags, such as links, in the caption. + Sanitize Title + If the caption data is trusted, for example you are hardcoding it in, then leave this to false. + This will free you to add html tags, such as links, in the caption. - If the caption data is user submitted or from some other untrusted source, then set this to true - to prevent xss and other injection attacks. + If the caption data is user submitted or from some other untrusted source, then set this to true + to prevent xss and other injection attacks. */ sanitizeTitle: false, /* - Adding a hasVideo option, which is false by default. - */ + Adding a hasVideo option, which is false by default. + */ hasVideo: false }; - Lightbox.prototype.option = function(options) { + Lightbox.prototype.option = function (options) { $.extend(this.options, options); }; - Lightbox.prototype.imageCountLabel = function(currentImageNum, totalImages) { + Lightbox.prototype.imageCountLabel = function (currentImageNum, totalImages) { return this.options.albumLabel.replace(/%1/g, currentImageNum).replace(/%2/g, totalImages); }; - Lightbox.prototype.init = function() { + Lightbox.prototype.init = function () { var self = this; // Both enable and build methods require the body tag to be in the DOM. - $(document).ready(function() { + $(document).ready(function () { self.enable(); self.build(); }); @@ -87,9 +87,9 @@ // Loop through anchors and areamaps looking for either data-lightbox attributes or rel attributes // that contain 'lightbox'. When these are clicked, start lightbox. - Lightbox.prototype.enable = function() { + Lightbox.prototype.enable = function () { var self = this; - $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function(event) { + $('body').on('click', 'a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]', function (event) { self.start($(event.currentTarget)); return false; }); @@ -97,17 +97,17 @@ // Build html for the lightbox and the overlay. // Attach event handlers to the new DOM elements. click click click - Lightbox.prototype.build = function() { + Lightbox.prototype.build = function () { var self = this; $('
').appendTo($('body')); // Cache jQuery objects - this.$lightbox = $('#lightbox'); - this.$overlay = $('#lightboxOverlay'); + this.$lightbox = $('#lightbox'); + this.$overlay = $('#lightboxOverlay'); this.$outerContainer = this.$lightbox.find('.lb-outerContainer'); - this.$container = this.$lightbox.find('.lb-container'); - this.$image = this.$lightbox.find('.lb-image'); - this.$nav = this.$lightbox.find('.lb-nav'); + this.$container = this.$lightbox.find('.lb-container'); + this.$image = this.$lightbox.find('.lb-image'); + this.$nav = this.$lightbox.find('.lb-nav'); if (self.options.hasVideo) { this.$image.after($('')); @@ -129,26 +129,26 @@ }; // Attach event handlers to the newly minted DOM elements - this.$overlay.hide().on('click', function() { + this.$overlay.hide().on('click', function () { self.end(); return false; }); - this.$lightbox.hide().on('click', function(event) { + this.$lightbox.hide().on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$outerContainer.on('click', function(event) { + this.$outerContainer.on('click', function (event) { if ($(event.target).attr('id') === 'lightbox') { self.end(); } return false; }); - this.$lightbox.find('.lb-prev').on('click', function() { + this.$lightbox.find('.lb-prev').on('click', function () { if (self.currentImageIndex === 0) { self.changeImage(self.album.length - 1); } else { @@ -157,7 +157,7 @@ return false; }); - this.$lightbox.find('.lb-next').on('click', function() { + this.$lightbox.find('.lb-next').on('click', function () { if (self.currentImageIndex === self.album.length - 1) { self.changeImage(0); } else { @@ -167,40 +167,40 @@ }); /* - Show context menu for image on right-click + Show context menu for image on right-click - There is a div containing the navigation that spans the entire image and lives above of it. If - you right-click, you are right clicking this div and not the image. This prevents users from - saving the image or using other context menu actions with the image. + There is a div containing the navigation that spans the entire image and lives above of it. If + you right-click, you are right clicking this div and not the image. This prevents users from + saving the image or using other context menu actions with the image. - To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we - set pointer-events to none on the nav div. This is so that the upcoming right-click event on - the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs - we set the pointer events back to auto for the nav div so it can capture hover and left-click - events as usual. + To fix this, when we detect the right mouse button is pressed down, but not yet clicked, we + set pointer-events to none on the nav div. This is so that the upcoming right-click event on + the next mouseup will bubble down to the image. Once the right-click/contextmenu event occurs + we set the pointer events back to auto for the nav div so it can capture hover and left-click + events as usual. */ - this.$nav.on('mousedown', function(event) { + this.$nav.on('mousedown', function (event) { if (event.which === 3) { self.$nav.css('pointer-events', 'none'); - self.$lightbox.one('contextmenu', function() { - setTimeout(function() { - this.$nav.css('pointer-events', 'auto'); + self.$lightbox.one('contextmenu', function () { + setTimeout(function () { + this.$nav.css('pointer-events', 'auto'); }.bind(self), 0); }); } }); - this.$lightbox.find('.lb-loader, .lb-close').on('click', function() { + this.$lightbox.find('.lb-loader, .lb-close').on('click', function () { self.end(); return false; }); }; // Show overlay and lightbox. If the image is part of a set, add siblings to album array. - Lightbox.prototype.start = function($link) { - var self = this; + Lightbox.prototype.start = function ($link) { + var self = this; var $window = $(window); $window.on('resize', $.proxy(this.sizeOverlay, this)); @@ -243,10 +243,10 @@ // If image is not part of a set addToAlbum($link); if (self.options.hasVideo && typeof $link.attr('data-video') !== 'undefined' && $link.attr('data-video') === 'true') { - self.album[0].video = true; - } else { - self.album[0].video = false; - } + self.album[0].video = true; + } else { + self.album[0].video = false; + } } else { // If image is part of a set $links = $($link.prop('tagName') + '[rel="' + $link.attr('rel') + '"]'); @@ -265,7 +265,7 @@ } // Position Lightbox - var top = $window.scrollTop() + this.options.positionFromTop; + var top = $window.scrollTop() + this.options.positionFromTop; var left = $window.scrollLeft(); this.$lightbox.css({ top: top + 'px', @@ -281,7 +281,7 @@ }; // Hide most UI elements in preparation for the animated resizing of the lightbox. - Lightbox.prototype.changeImage = function(imageNumber) { + Lightbox.prototype.changeImage = function (imageNumber) { var self = this; this.disableKeyboardNav(); @@ -294,15 +294,28 @@ this.$outerContainer.addClass('animating'); - if (self.options.hasVideo && self.album[imageNumber].video) { - var $video = this.$lightbox.find('.lb-video'); + if (self.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); + + if (self.album[imageNumber].video) { $video.attr('src', self.album[imageNumber].link); self.sizeContainer($video.width(), $video.height()); + if (!$hasVideoNav) { + $lbContainer.addClass('lb-video-nav'); + } + } else { + $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } + } } // When image to show is preloaded, we send the width and height to sizeContainer() var preloader = new Image(); - preloader.onload = function() { + preloader.onload = function () { var $preloader; var imageHeight; var imageWidth; @@ -322,9 +335,9 @@ // Fit image inside the viewport. // Take into account the border around the image and an additional 10px gutter on each side. - windowWidth = $(window).width(); - windowHeight = $(window).height(); - maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; + windowWidth = $(window).width(); + windowHeight = $(window).height(); + maxImageWidth = windowWidth - self.containerPadding.left - self.containerPadding.right - self.imageBorderWidth.left - self.imageBorderWidth.right - 20; maxImageHeight = windowHeight - self.containerPadding.top - self.containerPadding.bottom - self.imageBorderWidth.top - self.imageBorderWidth.bottom - 120; // Check if image size is larger then maxWidth|maxHeight in settings @@ -339,7 +352,7 @@ // option than we need to size down while maintaining the aspect ratio. if ((preloader.width > maxImageWidth) || (preloader.height > maxImageHeight)) { if ((preloader.width / maxImageWidth) > (preloader.height / maxImageHeight)) { - imageWidth = maxImageWidth; + imageWidth = maxImageWidth; imageHeight = parseInt(preloader.height / (preloader.width / imageWidth), 10); $image.width(imageWidth); $image.height(imageHeight); @@ -353,24 +366,24 @@ } self.sizeContainer($image.width(), $image.height()); }; - preloader.src = this.album[imageNumber].link; + preloader.src = this.album[imageNumber].link; this.currentImageIndex = imageNumber; }; // Stretch overlay to fit the viewport - Lightbox.prototype.sizeOverlay = function() { + Lightbox.prototype.sizeOverlay = function () { this.$overlay .width($(document).width()) .height($(document).height()); }; // Animate the size of the lightbox to fit the image we are showing - Lightbox.prototype.sizeContainer = function(imageWidth, imageHeight) { + Lightbox.prototype.sizeContainer = function (imageWidth, imageHeight) { var self = this; - var oldWidth = this.$outerContainer.outerWidth(); + var oldWidth = this.$outerContainer.outerWidth(); var oldHeight = this.$outerContainer.outerHeight(); - var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; + var newWidth = imageWidth + this.containerPadding.left + this.containerPadding.right + this.imageBorderWidth.left + this.imageBorderWidth.right; var newHeight = imageHeight + this.containerPadding.top + this.containerPadding.bottom + this.imageBorderWidth.top + this.imageBorderWidth.bottom; function postResize() { @@ -384,7 +397,7 @@ this.$outerContainer.animate({ width: newWidth, height: newHeight - }, this.options.resizeDuration, 'swing', function() { + }, this.options.resizeDuration, 'swing', function () { postResize(); }); } else { @@ -393,12 +406,12 @@ }; // Display the image and its details and begin preload neighboring images. - Lightbox.prototype.showImage = function() { + Lightbox.prototype.showImage = function () { this.$lightbox.find('.lb-loader').stop(true).hide(); if (this.options.hasVideo && this.album[this.currentImageIndex].video) { - this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-video').fadeIn(this.options.imageFadeDuration); } else { - this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); + this.$lightbox.find('.lb-image').fadeIn(this.options.imageFadeDuration); } this.updateNav(); @@ -408,7 +421,7 @@ }; // Display previous and next navigation if appropriate. - Lightbox.prototype.updateNav = function() { + Lightbox.prototype.updateNav = function () { // Check to see if the browser supports touch events. If so, we take the conservative approach // and assume that mouse hover events are not supported and always show prev/next navigation // arrows in image sets. @@ -416,7 +429,8 @@ try { document.createEvent('TouchEvent'); alwaysShowNav = (this.options.alwaysShowNavOnTouchDevices) ? true : false; - } catch (e) {} + } catch (e) { + } this.$lightbox.find('.lb-nav').show(); @@ -444,7 +458,7 @@ }; // Display caption, image number, and closing button. - Lightbox.prototype.updateDetails = function() { + Lightbox.prototype.updateDetails = function () { var self = this; // Enable anchor clicks in the injected caption html. @@ -458,13 +472,13 @@ $caption.html(this.album[this.currentImageIndex].title); } $caption.fadeIn('fast') - .find('a').on('click', function(event) { - if ($(this).attr('target') !== undefined) { - window.open($(this).attr('href'), $(this).attr('target')); - } else { - location.href = $(this).attr('href'); - } - }); + .find('a').on('click', function (event) { + if ($(this).attr('target') !== undefined) { + window.open($(this).attr('href'), $(this).attr('target')); + } else { + location.href = $(this).attr('href'); + } + }); } if (this.album.length > 1 && this.options.showImageNumberLabel) { @@ -476,13 +490,13 @@ this.$outerContainer.removeClass('animating'); - this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function() { + this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration, function () { return self.sizeOverlay(); }); }; // Preload previous and next images in set. - Lightbox.prototype.preloadNeighboringImages = function() { + Lightbox.prototype.preloadNeighboringImages = function () { if (this.album.length > this.currentImageIndex + 1) { var preloadNext = new Image(); preloadNext.src = this.album[this.currentImageIndex + 1].link; @@ -493,21 +507,21 @@ } }; - Lightbox.prototype.enableKeyboardNav = function() { + Lightbox.prototype.enableKeyboardNav = function () { $(document).on('keyup.keyboard', $.proxy(this.keyboardAction, this)); }; - Lightbox.prototype.disableKeyboardNav = function() { + Lightbox.prototype.disableKeyboardNav = function () { $(document).off('.keyboard'); }; - Lightbox.prototype.keyboardAction = function(event) { - var KEYCODE_ESC = 27; - var KEYCODE_LEFTARROW = 37; + Lightbox.prototype.keyboardAction = function (event) { + var KEYCODE_ESC = 27; + var KEYCODE_LEFTARROW = 37; var KEYCODE_RIGHTARROW = 39; var keycode = event.keyCode; - var key = String.fromCharCode(keycode).toLowerCase(); + var key = String.fromCharCode(keycode).toLowerCase(); if (keycode === KEYCODE_ESC || key.match(/x|o|c/)) { this.end(); } else if (key === 'p' || keycode === KEYCODE_LEFTARROW) { @@ -526,7 +540,7 @@ }; // Closing time. :-( - Lightbox.prototype.end = function() { + Lightbox.prototype.end = function () { this.disableKeyboardNav(); $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); diff --git a/dist/js/lightbox.min.js b/dist/js/lightbox.min.js index 45d4f192..5ce42a3c 100644 --- a/dist/js/lightbox.min.js +++ b/dist/js/lightbox.min.js @@ -11,5 +11,5 @@ * * @preserve */ -!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||f.height>i)&&(f.width/j>f.height/i?(h=j,g=parseInt(f.height/(f.width/h),10),d.width(h),d.height(g)):(g=i,h=parseInt(f.width/(f.height/g),10),d.width(h),d.height(g)))),c.sizeContainer(d.width(),d.height())},f.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox.min.map \ No newline at end of file diff --git a/dist/js/lightbox.min.map b/dist/js/lightbox.min.map index bd80c142..13d31244 100644 --- a/dist/js/lightbox.min.map +++ b/dist/js/lightbox.min.map @@ -1 +1 @@ -{"version":3,"sources":["..\\..\\src\\js\\lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","after","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","video","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","$video","sizeContainer","width","height","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxWidth","maxHeight","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","removeClass","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":"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","file":"lightbox.min.js"} \ No newline at end of file +{"version":3,"sources":["..\\..\\src\\js\\lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","after","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","video","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","hasClass","sizeContainer","width","height","removeClass","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxWidth","maxHeight","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":";;;;;;;;;;;;;CAeC,SAAUA,EAAMC,GACO,kBAAXC,SAAyBA,OAAOC,IAEzCD,QAAQ,UAAWD,GACS,gBAAZG,SAIhBC,OAAOD,QAAUH,EAAQK,QAAQ,WAGjCN,EAAKO,SAAWN,EAAQD,EAAKQ,SAE/BC,KAAM,SAAUC,GAEhB,QAASC,GAASC,GAChBH,KAAKI,SACLJ,KAAKK,kBAAoB,OACzBL,KAAKM,OAGLN,KAAKG,QAAUF,EAAEM,UAAWP,KAAKQ,YAAYC,UAC7CT,KAAKU,OAAOP,GAsgBd,MAjgBAD,GAASO,UACPE,WAAY,iBACZC,6BAA6B,EAC7BC,aAAc,IACdC,qBAAqB,EACrBC,kBAAmB,IAGnBC,gBAAiB,GACjBC,eAAgB,IAChBC,sBAAsB,EACtBC,YAAY,EACZC,kBAAkB,EASlBC,eAAe,EAIfC,UAAU,GAGZpB,EAASqB,UAAUb,OAAS,SAAUP,GACpCF,EAAEM,OAAOP,KAAKG,QAASA,IAGzBD,EAASqB,UAAUC,gBAAkB,SAAUC,EAAiBC,GAC9D,MAAO1B,MAAKG,QAAQQ,WAAWgB,QAAQ,MAAOF,GAAiBE,QAAQ,MAAOD,IAGhFxB,EAASqB,UAAUjB,KAAO,WACxB,GAAIsB,GAAO5B,IAEXC,GAAE4B,UAAUC,MAAM,WAChBF,EAAKG,SACLH,EAAKI,WAMT9B,EAASqB,UAAUQ,OAAS,WAC1B,GAAIH,GAAO5B,IACXC,GAAE,QAAQgC,GAAG,QAAS,+EAAgF,SAAUC,GAE9G,MADAN,GAAKO,MAAMlC,EAAEiC,EAAME,iBACZ,KAMXlC,EAASqB,UAAUS,MAAQ,WACzB,GAAIJ,GAAO5B,IACXC,GAAE,qoBAAqoBoC,SAASpC,EAAE,SAGlpBD,KAAKsC,UAAYrC,EAAE,aACnBD,KAAKuC,SAAWtC,EAAE,oBAClBD,KAAKwC,gBAAkBxC,KAAKsC,UAAUG,KAAK,sBAC3CzC,KAAK0C,WAAa1C,KAAKsC,UAAUG,KAAK,iBACtCzC,KAAK2C,OAAS3C,KAAKsC,UAAUG,KAAK,aAClCzC,KAAK4C,KAAO5C,KAAKsC,UAAUG,KAAK,WAE5Bb,EAAKzB,QAAQmB,UACftB,KAAK2C,OAAOE,MAAM5C,EAAE,uGAItBD,KAAK8C,kBACHC,IAAKC,SAAShD,KAAK0C,WAAWO,IAAI,eAAgB,IAClDC,MAAOF,SAAShD,KAAK0C,WAAWO,IAAI,iBAAkB,IACtDE,OAAQH,SAAShD,KAAK0C,WAAWO,IAAI,kBAAmB,IACxDG,KAAMJ,SAAShD,KAAK0C,WAAWO,IAAI,gBAAiB,KAGtDjD,KAAKqD,kBACHN,IAAKC,SAAShD,KAAK2C,OAAOM,IAAI,oBAAqB,IACnDC,MAAOF,SAAShD,KAAK2C,OAAOM,IAAI,sBAAuB,IACvDE,OAAQH,SAAShD,KAAK2C,OAAOM,IAAI,uBAAwB,IACzDG,KAAMJ,SAAShD,KAAK2C,OAAOM,IAAI,qBAAsB,KAIvDjD,KAAKuC,SAASe,OAAOrB,GAAG,QAAS,WAE/B,MADAL,GAAK2B,OACE,IAGTvD,KAAKsC,UAAUgB,OAAOrB,GAAG,QAAS,SAAUC,GAI1C,MAHmC,aAA/BjC,EAAEiC,EAAMsB,QAAQC,KAAK,OACvB7B,EAAK2B,OAEA,IAGTvD,KAAKwC,gBAAgBP,GAAG,QAAS,SAAUC,GAIzC,MAHmC,aAA/BjC,EAAEiC,EAAMsB,QAAQC,KAAK,OACvB7B,EAAK2B,OAEA,IAGTvD,KAAKsC,UAAUG,KAAK,YAAYR,GAAG,QAAS,WAM1C,MAL+B,KAA3BL,EAAKvB,kBACPuB,EAAK8B,YAAY9B,EAAKxB,MAAMuD,OAAS,GAErC/B,EAAK8B,YAAY9B,EAAKvB,kBAAoB,IAErC,IAGTL,KAAKsC,UAAUG,KAAK,YAAYR,GAAG,QAAS,WAM1C,MALIL,GAAKvB,oBAAsBuB,EAAKxB,MAAMuD,OAAS,EACjD/B,EAAK8B,YAAY,GAEjB9B,EAAK8B,YAAY9B,EAAKvB,kBAAoB,IAErC,IAgBTL,KAAK4C,KAAKX,GAAG,YAAa,SAAUC,GACd,IAAhBA,EAAM0B,QACRhC,EAAKgB,KAAKK,IAAI,iBAAkB,QAEhCrB,EAAKU,UAAUuB,IAAI,cAAe,WAChCC,WAAW,WACT9D,KAAK4C,KAAKK,IAAI,iBAAkB,SAChCc,KAAKnC,GAAO,QAMpB5B,KAAKsC,UAAUG,KAAK,yBAAyBR,GAAG,QAAS,WAEvD,MADAL,GAAK2B,OACE,KAKXrD,EAASqB,UAAUY,MAAQ,SAAU6B,GAenC,QAASC,GAAWD,GAClBpC,EAAKxB,MAAM8D,MACTC,KAAMH,EAAMP,KAAK,QACjBW,MAAOJ,EAAMP,KAAK,eAAiBO,EAAMP,KAAK,WAjBlD,GAAI7B,GAAO5B,KACPqE,EAAUpE,EAAEqE,OAEhBD,GAAQpC,GAAG,SAAUhC,EAAEsE,MAAMvE,KAAKwE,YAAaxE,OAE/CC,EAAE,yBAAyBgD,KACzBwB,WAAY,WAGdzE,KAAKwE,cAELxE,KAAKI,QACL,IAWIsE,GAXAC,EAAc,EAUdC,EAAoBZ,EAAMP,KAAK,gBAGnC,IAAImB,EAAmB,CACrBF,EAASzE,EAAE+D,EAAMa,KAAK,WAAa,mBAAqBD,EAAoB,KAC5E,KAAK,GAAIE,GAAI,EAAGA,EAAIJ,EAAOf,OAAQmB,IAAMA,EACvCb,EAAWhE,EAAEyE,EAAOI,KAChBJ,EAAOI,KAAOd,EAAM,KACtBW,EAAcG,GAEZlD,EAAKzB,QAAQmB,UAAuD,mBAApCrB,GAAEyE,EAAOI,IAAIrB,KAAK,eAAqE,SAApCxD,EAAEyE,EAAOI,IAAIrB,KAAK,cACvG7B,EAAKxB,MAAM0E,GAAGC,OAAQ,EAEtBnD,EAAKxB,MAAM0E,GAAGC,OAAQ,MAI1B,IAA0B,aAAtBf,EAAMP,KAAK,OAEbQ,EAAWD,GACPpC,EAAKzB,QAAQmB,UAAgD,mBAA7B0C,GAAMP,KAAK,eAA8D,SAA7BO,EAAMP,KAAK,cACzF7B,EAAKxB,MAAM,GAAG2E,OAAQ,EAEtBnD,EAAKxB,MAAM,GAAG2E,OAAQ,MAEnB,CAELL,EAASzE,EAAE+D,EAAMa,KAAK,WAAa,SAAWb,EAAMP,KAAK,OAAS,KAClE,KAAK,GAAIuB,GAAI,EAAGA,EAAIN,EAAOf,OAAQqB,IAAMA,EACvCf,EAAWhE,EAAEyE,EAAOM,KAChBN,EAAOM,KAAOhB,EAAM,KACtBW,EAAcK,GAEZpD,EAAKzB,QAAQmB,UAAuD,mBAApCrB,GAAEyE,EAAOM,IAAIvB,KAAK,eAAqE,SAApCxD,EAAEyE,EAAOM,IAAIvB,KAAK,cACvG7B,EAAKxB,MAAM4E,GAAGD,OAAQ,EAEtBnD,EAAKxB,MAAM4E,GAAGD,OAAQ,EAO9B,GAAIhC,GAAMsB,EAAQY,YAAcjF,KAAKG,QAAQa,gBACzCoC,EAAOiB,EAAQa,YACnBlF,MAAKsC,UAAUW,KACbF,IAAKA,EAAM,KACXK,KAAMA,EAAO,OACZ+B,OAAOnF,KAAKG,QAAQU,cAGnBb,KAAKG,QAAQiB,kBACfnB,EAAE,QAAQmF,SAAS,wBAGrBpF,KAAK0D,YAAYiB,IAInBzE,EAASqB,UAAUmC,YAAc,SAAUiB,GACzC,GAAI/C,GAAO5B,IAEXA,MAAKqF,oBACL,IAAI1C,GAAS3C,KAAKsC,UAAUG,KAAK,YASjC,IAPAzC,KAAKuC,SAAS4C,OAAOnF,KAAKG,QAAQU,cAElCZ,EAAE,cAAckF,OAAO,QACvBnF,KAAKsC,UAAUG,KAAK,kGAAkGa,OAEtHtD,KAAKwC,gBAAgB4C,SAAS,aAE1BxD,EAAKzB,QAAQmB,SAAU,CACzB,GAAIgE,GAAStF,KAAKsC,UAAUG,KAAK,aAC7B8C,EAAevF,KAAKsC,UAAUG,KAAK,iBACnC+C,EAAeD,EAAaE,SAAS,eAErC7D,GAAKxB,MAAMuE,GAAaI,OAC1BO,EAAO7B,KAAK,MAAO7B,EAAKxB,MAAMuE,GAAaR,MAC3CvC,EAAK8D,cAAcJ,EAAOK,QAASL,EAAOM,UACrCJ,GACHD,EAAaH,SAAS,kBAGxBE,EAAO7B,KAAK,MAAO,IACf+B,GACFD,EAAaM,YAAY,iBAM/B,GAAIC,GAAY,GAAIC,MACpBD,GAAUE,OAAS,WACjB,GAAIC,GACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CAEJ5D,GAAOc,KAAK,MAAO7B,EAAKxB,MAAMuE,GAAaR,MAE3C8B,EAAahG,EAAE6F,GAEfnD,EAAOgD,MAAMG,EAAUH,OACvBhD,EAAOiD,OAAOE,EAAUF,QAEpBhE,EAAKzB,QAAQW,sBAIfyF,EAActG,EAAEqE,QAAQqB,QACxBW,EAAerG,EAAEqE,QAAQsB,SACzBS,EAAgBE,EAAc3E,EAAKkB,iBAAiBM,KAAOxB,EAAKkB,iBAAiBI,MAAQtB,EAAKyB,iBAAiBD,KAAOxB,EAAKyB,iBAAiBH,MAAQ,GACpJkD,EAAiBE,EAAe1E,EAAKkB,iBAAiBC,IAAMnB,EAAKkB,iBAAiBK,OAASvB,EAAKyB,iBAAiBN,IAAMnB,EAAKyB,iBAAiBF,OAAS,IAGlJvB,EAAKzB,QAAQqG,UAAY5E,EAAKzB,QAAQqG,SAAWH,IACnDA,EAAgBzE,EAAKzB,QAAQqG,UAE3B5E,EAAKzB,QAAQsG,WAAa7E,EAAKzB,QAAQsG,UAAYJ,IACrDD,EAAiBxE,EAAKzB,QAAQsG,YAK3BX,EAAUH,MAAQU,GAAmBP,EAAUF,OAASQ,KACtDN,EAAUH,MAAQU,EAAkBP,EAAUF,OAASQ,GAC1DD,EAAaE,EACbH,EAAclD,SAAS8C,EAAUF,QAAUE,EAAUH,MAAQQ,GAAa,IAC1ExD,EAAOgD,MAAMQ,GACbxD,EAAOiD,OAAOM,KAEdA,EAAcE,EACdD,EAAanD,SAAS8C,EAAUH,OAASG,EAAUF,OAASM,GAAc,IAC1EvD,EAAOgD,MAAMQ,GACbxD,EAAOiD,OAAOM,MAIpBtE,EAAK8D,cAAc/C,EAAOgD,QAAShD,EAAOiD,WAE5CE,EAAUY,IAAM1G,KAAKI,MAAMuE,GAAaR,KACxCnE,KAAKK,kBAAoBsE,GAI3BzE,EAASqB,UAAUiD,YAAc,WAC/BxE,KAAKuC,SACFoD,MAAM1F,EAAE4B,UAAU8D,SAClBC,OAAO3F,EAAE4B,UAAU+D,WAIxB1F,EAASqB,UAAUmE,cAAgB,SAAUS,EAAYD,GAQvD,QAASS,KACP/E,EAAKU,UAAUG,KAAK,qBAAqBkD,MAAMiB,GAC/ChF,EAAKU,UAAUG,KAAK,gBAAgBmD,OAAOiB,GAC3CjF,EAAKU,UAAUG,KAAK,gBAAgBmD,OAAOiB,GAC3CjF,EAAKkF,YAXP,GAAIlF,GAAO5B,KAEP+G,EAAW/G,KAAKwC,gBAAgBwE,aAChCC,EAAYjH,KAAKwC,gBAAgB0E,cACjCN,EAAWT,EAAanG,KAAK8C,iBAAiBM,KAAOpD,KAAK8C,iBAAiBI,MAAQlD,KAAKqD,iBAAiBD,KAAOpD,KAAKqD,iBAAiBH,MACtI2D,EAAYX,EAAclG,KAAK8C,iBAAiBC,IAAM/C,KAAK8C,iBAAiBK,OAASnD,KAAKqD,iBAAiBN,IAAM/C,KAAKqD,iBAAiBF,MASvI4D,KAAaH,GAAYK,IAAcJ,EACzC7G,KAAKwC,gBAAgB2E,SACnBxB,MAAOiB,EACPhB,OAAQiB,GACP7G,KAAKG,QAAQc,eAAgB,QAAS,WACvC0F,MAGFA,KAKJzG,EAASqB,UAAUuF,UAAY,WAC7B9G,KAAKsC,UAAUG,KAAK,cAAc2E,MAAK,GAAM9D,OACzCtD,KAAKG,QAAQmB,UAAYtB,KAAKI,MAAMJ,KAAKK,mBAAmB0E,MAC9D/E,KAAKsC,UAAUG,KAAK,aAAa0C,OAAOnF,KAAKG,QAAQY,mBAErDf,KAAKsC,UAAUG,KAAK,aAAa0C,OAAOnF,KAAKG,QAAQY,mBAGvDf,KAAKqH,YACLrH,KAAKsH,gBACLtH,KAAKuH,2BACLvH,KAAKwH,qBAIPtH,EAASqB,UAAU8F,UAAY,WAI7B,GAAII,IAAgB,CACpB,KACE5F,SAAS6F,YAAY,cACrBD,IAAiBzH,KAAKG,QAAmC,4BACzD,MAAOwH,IAGT3H,KAAKsC,UAAUG,KAAK,WAAWmF,OAE3B5H,KAAKI,MAAMuD,OAAS,IAClB3D,KAAKG,QAAQgB,YACXsG,GACFzH,KAAKsC,UAAUG,KAAK,sBAAsBQ,IAAI,UAAW,KAE3DjD,KAAKsC,UAAUG,KAAK,sBAAsBmF,SAEtC5H,KAAKK,kBAAoB,IAC3BL,KAAKsC,UAAUG,KAAK,YAAYmF,OAC5BH,GACFzH,KAAKsC,UAAUG,KAAK,YAAYQ,IAAI,UAAW,MAG/CjD,KAAKK,kBAAoBL,KAAKI,MAAMuD,OAAS,IAC/C3D,KAAKsC,UAAUG,KAAK,YAAYmF,OAC5BH,GACFzH,KAAKsC,UAAUG,KAAK,YAAYQ,IAAI,UAAW,SAQzD/C,EAASqB,UAAU+F,cAAgB,WACjC,GAAI1F,GAAO5B,IAIX,IAAwD,mBAA7CA,MAAKI,MAAMJ,KAAKK,mBAAmB+D,OACC,KAA7CpE,KAAKI,MAAMJ,KAAKK,mBAAmB+D,MAAc,CACjD,GAAIyD,GAAW7H,KAAKsC,UAAUG,KAAK,cAC/BzC,MAAKG,QAAQkB,cACfwG,EAASC,KAAK9H,KAAKI,MAAMJ,KAAKK,mBAAmB+D,OAEjDyD,EAASE,KAAK/H,KAAKI,MAAMJ,KAAKK,mBAAmB+D,OAEnDyD,EAAS1C,OAAO,QACb1C,KAAK,KAAKR,GAAG,QAAS,SAAUC,GACF8F,SAA3B/H,EAAED,MAAMyD,KAAK,UACfa,OAAO2D,KAAKhI,EAAED,MAAMyD,KAAK,QAASxD,EAAED,MAAMyD,KAAK,WAE/CyE,SAASC,KAAOlI,EAAED,MAAMyD,KAAK,UAKnC,GAAIzD,KAAKI,MAAMuD,OAAS,GAAK3D,KAAKG,QAAQe,qBAAsB,CAC9D,GAAIkH,GAAYpI,KAAKwB,gBAAgBxB,KAAKK,kBAAoB,EAAGL,KAAKI,MAAMuD,OAC5E3D,MAAKsC,UAAUG,KAAK,cAAcqF,KAAKM,GAAWjD,OAAO,YAEzDnF,MAAKsC,UAAUG,KAAK,cAAca,MAGpCtD,MAAKwC,gBAAgBqD,YAAY,aAEjC7F,KAAKsC,UAAUG,KAAK,qBAAqB0C,OAAOnF,KAAKG,QAAQc,eAAgB,WAC3E,MAAOW,GAAK4C,iBAKhBtE,EAASqB,UAAUgG,yBAA2B,WAC5C,GAAIvH,KAAKI,MAAMuD,OAAS3D,KAAKK,kBAAoB,EAAG,CAClD,GAAIgI,GAAc,GAAItC,MACtBsC,GAAY3B,IAAM1G,KAAKI,MAAMJ,KAAKK,kBAAoB,GAAG8D,KAE3D,GAAInE,KAAKK,kBAAoB,EAAG,CAC9B,GAAIiI,GAAc,GAAIvC,MACtBuC,GAAY5B,IAAM1G,KAAKI,MAAMJ,KAAKK,kBAAoB,GAAG8D,OAI7DjE,EAASqB,UAAUiG,kBAAoB,WACrCvH,EAAE4B,UAAUI,GAAG,iBAAkBhC,EAAEsE,MAAMvE,KAAKuI,eAAgBvI,QAGhEE,EAASqB,UAAU8D,mBAAqB,WACtCpF,EAAE4B,UAAU2G,IAAI,cAGlBtI,EAASqB,UAAUgH,eAAiB,SAAUrG,GAC5C,GAAIuG,GAAc,GACdC,EAAoB,GACpBC,EAAqB,GAErBC,EAAU1G,EAAM2G,QAChBC,EAAMC,OAAOC,aAAaJ,GAASK,aACnCL,KAAYH,GAAeK,EAAII,MAAM,SACvClJ,KAAKuD,MACY,MAARuF,GAAeF,IAAYF,EACL,IAA3B1I,KAAKK,kBACPL,KAAK0D,YAAY1D,KAAKK,kBAAoB,GACjCL,KAAKG,QAAQgB,YAAcnB,KAAKI,MAAMuD,OAAS,GACxD3D,KAAK0D,YAAY1D,KAAKI,MAAMuD,OAAS,GAEtB,MAARmF,GAAeF,IAAYD,IAChC3I,KAAKK,oBAAsBL,KAAKI,MAAMuD,OAAS,EACjD3D,KAAK0D,YAAY1D,KAAKK,kBAAoB,GACjCL,KAAKG,QAAQgB,YAAcnB,KAAKI,MAAMuD,OAAS,GACxD3D,KAAK0D,YAAY,KAMvBxD,EAASqB,UAAUgC,IAAM,WACvBvD,KAAKqF,qBACLpF,EAAEqE,QAAQkE,IAAI,SAAUxI,KAAKwE,aAC7BxE,KAAKsC,UAAU6G,QAAQnJ,KAAKG,QAAQU,cACpCb,KAAKuC,SAAS4G,QAAQnJ,KAAKG,QAAQU,cACnCZ,EAAE,yBAAyBgD,KACzBwB,WAAY,YAEVzE,KAAKG,QAAQiB,kBACfnB,EAAE,QAAQ4F,YAAY,yBAInB,GAAI3F","file":"lightbox.min.js"} \ No newline at end of file diff --git a/examples/video.html b/examples/video.html index 1d4716d8..40703a72 100644 --- a/examples/video.html +++ b/examples/video.html @@ -32,6 +32,7 @@

Images with a video that has a thumbnail image

+
diff --git a/src/css/lightbox.css b/src/css/lightbox.css index 2ec5ab29..43d5952f 100644 --- a/src/css/lightbox.css +++ b/src/css/lightbox.css @@ -215,3 +215,29 @@ body.lb-disable-scrolling { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); opacity: 1; } + +.lb-video-nav { + position: relative; +} + +.lb-video-nav .lb-nav { + position: initial; +} + +.lb-video-nav .lb-nav .lb-prev { + position: absolute; + width: 65px; + height: 70%; + top: 50%; + transform: translateY(-50%); + z-index: 10; +} + +.lb-video-nav .lb-nav .lb-next { + position: absolute; + width: 65px; + height: 70%; + top: 50%; + transform: translateY(-50%); + z-index: 10; +} diff --git a/src/js/lightbox.js b/src/js/lightbox.js index 438c61d0..628ef5f8 100644 --- a/src/js/lightbox.js +++ b/src/js/lightbox.js @@ -296,12 +296,20 @@ if (self.options.hasVideo) { var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); if (self.album[imageNumber].video) { $video.attr('src', self.album[imageNumber].link); self.sizeContainer($video.width(), $video.height()); + if (!$hasVideoNav) { + $lbContainer.addClass('lb-video-nav'); + } } else { $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } } } From 62ed1208553345c51af6a2466365aac2468c6c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Vigh?= Date: Fri, 13 Jan 2017 14:03:05 +0100 Subject: [PATCH 5/9] remove video on end --- dist/js/lightbox-plus-jquery.js | 10 ++++++++++ dist/js/lightbox-plus-jquery.min.js | 2 +- dist/js/lightbox-plus-jquery.min.map | 2 +- dist/js/lightbox.js | 10 ++++++++++ dist/js/lightbox.min.js | 2 +- dist/js/lightbox.min.map | 2 +- src/js/lightbox.js | 10 ++++++++++ 7 files changed, 34 insertions(+), 4 deletions(-) diff --git a/dist/js/lightbox-plus-jquery.js b/dist/js/lightbox-plus-jquery.js index c81ce24d..04854d9e 100644 --- a/dist/js/lightbox-plus-jquery.js +++ b/dist/js/lightbox-plus-jquery.js @@ -10357,6 +10357,16 @@ return jQuery; // Closing time. :-( Lightbox.prototype.end = function () { this.disableKeyboardNav(); + if (this.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); + $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } + } + $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); this.$overlay.fadeOut(this.options.fadeDuration); diff --git a/dist/js/lightbox-plus-jquery.min.js b/dist/js/lightbox-plus-jquery.min.js index 986c8132..3c187e4e 100644 --- a/dist/js/lightbox-plus-jquery.min.js +++ b/dist/js/lightbox-plus-jquery.min.js @@ -36,5 +36,5 @@ for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h. * * @preserve */ -function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); +function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){if(this.disableKeyboardNav(),this.options.hasVideo){var b=this.$lightbox.find(".lb-video"),c=this.$lightbox.find(".lb-container"),d=c.hasClass("lb-video-nav");b.attr("src",""),d&&c.removeClass("lb-video-nav")}a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox-plus-jquery.min.map \ No newline at end of file diff --git a/dist/js/lightbox-plus-jquery.min.map b/dist/js/lightbox-plus-jquery.min.map index bb722da7..86883eb6 100644 --- a/dist/js/lightbox-plus-jquery.min.map +++ b/dist/js/lightbox-plus-jquery.min.map @@ -1 +1 @@ -{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArrayLike","obj","length","type","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","nodeType","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","dataUser","set","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","context","tag","ret","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","l","dataPriv","get","buildFragment","scripts","selection","ignored","tmp","wrap","contains","j","fragment","createDocumentFragment","nodes","rhtml","appendChild","createElement","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","push","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","err","on","types","selector","fn","one","origFn","event","off","apply","arguments","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","extend","fixInput","rcheckableType","checked","defaultValue","domManip","collection","args","callback","concat","first","hasScripts","node","doc","iNoClone","value","support","checkClone","rchecked","index","self","eq","html","map","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","slice","cssPrefixes","setPositiveNumber","subtract","matches","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","values","isHidden","Tween","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","properties","result","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","fail","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","split","throws","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","last","len","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","isNumeric","realStringObj","code","script","indirect","eval","trim","text","head","string","makeArray","results","Object","second","invert","callbackInverse","callbackExpect","arg","Date","Symbol","iterator","Sizzle","seed","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","join","rsibling","testContext","qsaError","select","createCache","cache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","els","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","then","fns","newDefer","tuple","returned","notify","resolve","reject","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","defineProperty","writable","configurable","stored","camel","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","old","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","suffix","expanded","parts","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","video","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","sizeContainer","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":"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","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file +{"version":3,"sources":["lightbox-plus-jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","isArrayLike","obj","length","type","jQuery","isWindow","winnow","elements","qualifier","not","isFunction","grep","elem","i","call","nodeType","risSimple","test","filter","indexOf","sibling","cur","dir","createOptions","options","object","each","match","rnotwhite","_","flag","completed","removeEventListener","ready","Data","expando","uid","dataAttr","key","data","name","undefined","replace","rmultiDash","toLowerCase","getAttribute","rbrace","parseJSON","e","dataUser","set","adjustCSS","prop","valueParts","tween","adjusted","scale","maxIterations","currentValue","css","initial","unit","cssNumber","initialInUnit","rcssNum","exec","style","start","end","getAll","context","tag","ret","getElementsByTagName","querySelectorAll","nodeName","merge","setGlobalEval","elems","refElements","l","dataPriv","get","buildFragment","scripts","selection","ignored","tmp","wrap","contains","j","fragment","createDocumentFragment","nodes","rhtml","appendChild","createElement","rtagName","wrapMap","_default","innerHTML","htmlPrefilter","lastChild","childNodes","firstChild","textContent","push","createTextNode","inArray","ownerDocument","rscriptType","returnTrue","returnFalse","safeActiveElement","activeElement","err","on","types","selector","fn","one","origFn","event","off","apply","arguments","guid","add","manipulationTarget","content","disableScript","restoreScript","rscriptTypeMasked","removeAttribute","cloneCopyEvent","src","dest","pdataOld","pdataCur","udataOld","udataCur","events","hasData","access","handle","extend","fixInput","rcheckableType","checked","defaultValue","domManip","collection","args","callback","concat","first","hasScripts","node","doc","iNoClone","value","support","checkClone","rchecked","index","self","eq","html","map","clone","_evalUrl","globalEval","rcleanScript","remove","keepData","cleanData","parentNode","removeChild","actualDisplay","appendTo","body","display","detach","defaultDisplay","elemdisplay","iframe","documentElement","contentDocument","write","close","curCSS","computed","width","minWidth","maxWidth","getStyles","getPropertyValue","pixelMarginRight","rnumnonpx","rmargin","addGetHookIf","conditionFn","hookFn","vendorPropName","emptyStyle","capName","toUpperCase","slice","cssPrefixes","setPositiveNumber","subtract","matches","Math","max","augmentWidthOrHeight","extra","isBorderBox","styles","val","cssExpand","getWidthOrHeight","valueIsBorderBox","offsetWidth","offsetHeight","boxSizingReliable","parseFloat","showHide","show","hidden","values","isHidden","Tween","easing","prototype","init","createFxNow","setTimeout","fxNow","now","genFx","includeWidth","which","attrs","height","opacity","createTween","animation","Animation","tweeners","defaultPrefilter","props","opts","toggle","hooks","oldfire","checkDisplay","anim","orig","dataShow","queue","_queueHooks","unqueued","empty","fire","always","overflow","overflowX","overflowY","rfxtypes","isEmptyObject","done","hide","propFilter","specialEasing","camelCase","isArray","cssHooks","expand","properties","result","stopped","prefilters","deferred","Deferred","tick","currentTime","remaining","startTime","duration","temp","percent","tweens","run","notifyWith","resolveWith","promise","originalProperties","originalOptions","stop","gotoEnd","rejectWith","proxy","fx","timer","progress","complete","fail","getClass","addToPrefiltersOrTransports","structure","dataTypeExpression","func","dataType","dataTypes","unshift","inspectPrefiltersOrTransports","jqXHR","inspect","selected","inspected","prefilterOrFactory","dataTypeOrTransport","seekingTransport","transports","ajaxExtend","target","deep","flatOptions","ajaxSettings","ajaxHandleResponses","s","responses","ct","finalDataType","firstDataType","contents","shift","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","prev","responseFields","dataFilter","split","throws","state","error","buildParams","prefix","traditional","v","rbracket","getWindow","defaultView","arr","class2type","toString","hasOwn","hasOwnProperty","version","rtrim","rmsPrefix","rdashAlpha","fcamelCase","all","letter","jquery","constructor","toArray","num","pushStack","prevObject","last","len","sort","splice","copy","copyIsArray","isPlainObject","random","isReady","msg","noop","Array","isNumeric","realStringObj","code","script","indirect","eval","trim","text","head","string","makeArray","results","Object","second","invert","callbackInverse","callbackExpect","arg","Date","Symbol","iterator","Sizzle","seed","m","nid","nidselect","groups","newSelector","newContext","preferredDoc","setDocument","documentIsHTML","rquickExpr","getElementById","id","getElementsByClassName","qsa","compilerCache","rbuggyQSA","rescape","setAttribute","tokenize","ridentifier","toSelector","join","rsibling","testContext","qsaError","select","createCache","cache","keys","Expr","cacheLength","markFunction","assert","div","addHandle","handler","attrHandle","siblingCheck","a","b","diff","sourceIndex","MAX_NEGATIVE","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","setFilters","tokens","addCombinator","matcher","combinator","base","checkNonElements","doneName","xml","oldCache","uniqueCache","outerCache","newCache","dirruns","uniqueID","elementMatcher","matchers","multipleContexts","contexts","condense","unmatched","newUnmatched","mapped","setMatcher","preFilter","postFilter","postFinder","postSelector","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","relative","implicitRelative","matchContext","matchAnyContext","outermostContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","find","dirrunsUnique","pop","uniqueSort","getText","isXML","compile","sortInput","hasDuplicate","docElem","rbuggyMatches","classCache","tokenCache","sortOrder","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","runescape","funescape","escaped","escapedWhitespace","high","String","fromCharCode","unloadHandler","els","hasCompare","parent","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","attrId","getAttributeNode","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","expr","attr","specified","duplicates","detectDuplicates","sortStable","nodeValue","selectors","createPseudo",">"," ","+","~","excess","unquoted","nodeNameSelector","pattern","operator","check","what","simple","forward","ofType","nodeIndex","useCache","pseudo","idx","matched","has","innerText","lang","elemLang","hash","location","root","focus","hasFocus","href","tabIndex","enabled","disabled","selectedIndex","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","soFar","preFilters","cached","token","compiled","div1","unique","isXMLDoc","until","truncate","is","siblings","n","rneedsContext","rsingleTag","rootjQuery","parseHTML","rparentsprev","guaranteedUnique","children","next","targets","closest","pos","prevAll","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","reverse","Callbacks","firing","memory","fired","locked","firingIndex","once","stopOnFalse","disable","lock","fireWith","tuples","then","fns","newDefer","tuple","returned","notify","resolve","reject","pipe","stateString","when","subordinate","progressValues","progressContexts","resolveContexts","resolveValues","updateFunc","readyList","readyWait","holdReady","hold","wait","triggerHandler","readyState","doScroll","chainable","emptyGet","raw","bulk","acceptData","owner","register","defineProperty","writable","configurable","stored","camel","removeData","_data","_removeData","camelKey","dequeue","startLength","setter","clearQueue","count","defer","pnum","source","el","option","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","handleObjIn","eventHandle","t","handleObj","special","handlers","namespaces","origType","elemData","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","sel","isNaN","fixHooks","keyHooks","original","charCode","keyCode","mouseHooks","eventDoc","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","originalEvent","fixHook","Event","load","noBubble","trigger","blur","click","beforeunload","returnValue","isDefaultPrevented","defaultPrevented","timeStamp","isSimulated","stopImmediatePropagation","mouseenter","mouseleave","pointerenter","pointerleave","related","relatedTarget","rxhtmlTag","rnoInnerhtml","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","append","prepend","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","insert","HTML","BODY","view","opener","getComputedStyle","swap","old","computeStyleTests","cssText","container","divStyle","pixelPositionVal","reliableMarginLeftVal","marginLeft","boxSizingReliableVal","marginRight","pixelMarginRightVal","backgroundClip","clearCloneStyle","pixelPosition","reliableMarginLeft","reliableMarginRight","marginDiv","rdisplayswap","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","cssProps","float","origName","isFinite","getBoundingClientRect","left","margin","padding","border","suffix","expanded","parts","propHooks","eased","step","linear","p","swing","cos","PI","timerId","rrun","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","interval","setInterval","clearInterval","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","optDisabled","radioValue","boolHook","removeAttr","nType","attrHooks","propName","attrNames","propFix","getter","rfocusable","rclickable","removeProp","tabindex","parseInt","for","class","rclass","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","classNames","hasClass","rreturn","rspaces","valHooks","optionSet","rfocusMorph","onlyHandlers","bubbleType","ontype","eventPath","isTrigger","parentWindow","simulate","hover","fnOver","fnOut","focusin","attaches","nonce","rquery","JSON","parse","parseXML","DOMParser","parseFromString","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","allTypes","originAnchor","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","status","nativeStatusText","headers","success","modified","statusText","timeoutTimer","transport","responseHeadersString","ifModified","cacheURL","callbackContext","statusCode","fireGlobals","globalEventContext","completeDeferred","responseHeaders","urlAnchor","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","abort","finalText","method","crossDomain","host","param","hasContent","beforeSend","send","getJSON","getScript","wrapAll","firstElementChild","wrapInner","unwrap","visible","getClientRects","r20","rCRLF","rsubmitterTypes","rsubmittable","encodeURIComponent","serialize","serializeArray","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","keepScripts","parsed","_load","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","win","box","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","size","andSelf","define","amd","_jQuery","_$","$","noConflict","require","lightbox","Lightbox","album","currentImageIndex","defaults","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","imageCountLabel","currentImageNum","totalImages","enable","build","$lightbox","$overlay","$outerContainer","$container","$image","$nav","containerPadding","right","bottom","imageBorderWidth","changeImage","$link","addToAlbum","link","title","$window","sizeOverlay","$links","imageNumber","dataLightboxValue","video","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","sizeContainer","preloader","Image","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxHeight","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","$caption","labelText","preloadNext","preloadPrev","keyboardAction","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode"],"mappings":"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","file":"lightbox-plus-jquery.min.js"} \ No newline at end of file diff --git a/dist/js/lightbox.js b/dist/js/lightbox.js index 628ef5f8..687683f9 100644 --- a/dist/js/lightbox.js +++ b/dist/js/lightbox.js @@ -542,6 +542,16 @@ // Closing time. :-( Lightbox.prototype.end = function () { this.disableKeyboardNav(); + if (this.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); + $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } + } + $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); this.$overlay.fadeOut(this.options.fadeDuration); diff --git a/dist/js/lightbox.min.js b/dist/js/lightbox.min.js index 5ce42a3c..f9f48655 100644 --- a/dist/js/lightbox.min.js +++ b/dist/js/lightbox.min.js @@ -11,5 +11,5 @@ * * @preserve */ -!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){this.disableKeyboardNav(),a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); +!function(a,b){"function"==typeof define&&define.amd?define(["jquery"],b):"object"==typeof exports?module.exports=b(require("jquery")):a.lightbox=b(a.jQuery)}(this,function(a){function b(b){this.album=[],this.currentImageIndex=void 0,this.init(),this.options=a.extend({},this.constructor.defaults),this.option(b)}return b.defaults={albumLabel:"Image %1 of %2",alwaysShowNavOnTouchDevices:!1,fadeDuration:600,fitImagesInViewport:!0,imageFadeDuration:600,positionFromTop:50,resizeDuration:700,showImageNumberLabel:!0,wrapAround:!1,disableScrolling:!1,sanitizeTitle:!1,hasVideo:!1},b.prototype.option=function(b){a.extend(this.options,b)},b.prototype.imageCountLabel=function(a,b){return this.options.albumLabel.replace(/%1/g,a).replace(/%2/g,b)},b.prototype.init=function(){var b=this;a(document).ready(function(){b.enable(),b.build()})},b.prototype.enable=function(){var b=this;a("body").on("click","a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]",function(c){return b.start(a(c.currentTarget)),!1})},b.prototype.build=function(){var b=this;a('
').appendTo(a("body")),this.$lightbox=a("#lightbox"),this.$overlay=a("#lightboxOverlay"),this.$outerContainer=this.$lightbox.find(".lb-outerContainer"),this.$container=this.$lightbox.find(".lb-container"),this.$image=this.$lightbox.find(".lb-image"),this.$nav=this.$lightbox.find(".lb-nav"),b.options.hasVideo&&this.$image.after(a('')),this.containerPadding={top:parseInt(this.$container.css("padding-top"),10),right:parseInt(this.$container.css("padding-right"),10),bottom:parseInt(this.$container.css("padding-bottom"),10),left:parseInt(this.$container.css("padding-left"),10)},this.imageBorderWidth={top:parseInt(this.$image.css("border-top-width"),10),right:parseInt(this.$image.css("border-right-width"),10),bottom:parseInt(this.$image.css("border-bottom-width"),10),left:parseInt(this.$image.css("border-left-width"),10)},this.$overlay.hide().on("click",function(){return b.end(),!1}),this.$lightbox.hide().on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$outerContainer.on("click",function(c){return"lightbox"===a(c.target).attr("id")&&b.end(),!1}),this.$lightbox.find(".lb-prev").on("click",function(){return 0===b.currentImageIndex?b.changeImage(b.album.length-1):b.changeImage(b.currentImageIndex-1),!1}),this.$lightbox.find(".lb-next").on("click",function(){return b.currentImageIndex===b.album.length-1?b.changeImage(0):b.changeImage(b.currentImageIndex+1),!1}),this.$nav.on("mousedown",function(a){3===a.which&&(b.$nav.css("pointer-events","none"),b.$lightbox.one("contextmenu",function(){setTimeout(function(){this.$nav.css("pointer-events","auto")}.bind(b),0)}))}),this.$lightbox.find(".lb-loader, .lb-close").on("click",function(){return b.end(),!1})},b.prototype.start=function(b){function c(a){d.album.push({link:a.attr("href"),title:a.attr("data-title")||a.attr("title")})}var d=this,e=a(window);e.on("resize",a.proxy(this.sizeOverlay,this)),a("select, object, embed").css({visibility:"hidden"}),this.sizeOverlay(),this.album=[];var f,g=0,h=b.attr("data-lightbox");if(h){f=a(b.prop("tagName")+'[data-lightbox="'+h+'"]');for(var i=0;ij||h.height>i)&&(h.width/j>h.height/i?(g=j,f=parseInt(h.height/(h.width/g),10),d.width(g),d.height(f)):(f=i,g=parseInt(h.width/(h.height/f),10),d.width(g),d.height(f)))),c.sizeContainer(d.width(),d.height())},h.src=this.album[b].link,this.currentImageIndex=b},b.prototype.sizeOverlay=function(){this.$overlay.width(a(document).width()).height(a(document).height())},b.prototype.sizeContainer=function(a,b){function c(){d.$lightbox.find(".lb-dataContainer").width(g),d.$lightbox.find(".lb-prevLink").height(h),d.$lightbox.find(".lb-nextLink").height(h),d.showImage()}var d=this,e=this.$outerContainer.outerWidth(),f=this.$outerContainer.outerHeight(),g=a+this.containerPadding.left+this.containerPadding.right+this.imageBorderWidth.left+this.imageBorderWidth.right,h=b+this.containerPadding.top+this.containerPadding.bottom+this.imageBorderWidth.top+this.imageBorderWidth.bottom;e!==g||f!==h?this.$outerContainer.animate({width:g,height:h},this.options.resizeDuration,"swing",function(){c()}):c()},b.prototype.showImage=function(){this.$lightbox.find(".lb-loader").stop(!0).hide(),this.options.hasVideo&&this.album[this.currentImageIndex].video?this.$lightbox.find(".lb-video").fadeIn(this.options.imageFadeDuration):this.$lightbox.find(".lb-image").fadeIn(this.options.imageFadeDuration),this.updateNav(),this.updateDetails(),this.preloadNeighboringImages(),this.enableKeyboardNav()},b.prototype.updateNav=function(){var a=!1;try{document.createEvent("TouchEvent"),a=!!this.options.alwaysShowNavOnTouchDevices}catch(a){}this.$lightbox.find(".lb-nav").show(),this.album.length>1&&(this.options.wrapAround?(a&&this.$lightbox.find(".lb-prev, .lb-next").css("opacity","1"),this.$lightbox.find(".lb-prev, .lb-next").show()):(this.currentImageIndex>0&&(this.$lightbox.find(".lb-prev").show(),a&&this.$lightbox.find(".lb-prev").css("opacity","1")),this.currentImageIndex1&&this.options.showImageNumberLabel){var d=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find(".lb-number").text(d).fadeIn("fast")}else this.$lightbox.find(".lb-number").hide();this.$outerContainer.removeClass("animating"),this.$lightbox.find(".lb-dataContainer").fadeIn(this.options.resizeDuration,function(){return b.sizeOverlay()})},b.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var a=new Image;a.src=this.album[this.currentImageIndex+1].link}if(this.currentImageIndex>0){var b=new Image;b.src=this.album[this.currentImageIndex-1].link}},b.prototype.enableKeyboardNav=function(){a(document).on("keyup.keyboard",a.proxy(this.keyboardAction,this))},b.prototype.disableKeyboardNav=function(){a(document).off(".keyboard")},b.prototype.keyboardAction=function(a){var b=27,c=37,d=39,e=a.keyCode,f=String.fromCharCode(e).toLowerCase();e===b||f.match(/x|o|c/)?this.end():"p"===f||e===c?0!==this.currentImageIndex?this.changeImage(this.currentImageIndex-1):this.options.wrapAround&&this.album.length>1&&this.changeImage(this.album.length-1):"n"!==f&&e!==d||(this.currentImageIndex!==this.album.length-1?this.changeImage(this.currentImageIndex+1):this.options.wrapAround&&this.album.length>1&&this.changeImage(0))},b.prototype.end=function(){if(this.disableKeyboardNav(),this.options.hasVideo){var b=this.$lightbox.find(".lb-video"),c=this.$lightbox.find(".lb-container"),d=c.hasClass("lb-video-nav");b.attr("src",""),d&&c.removeClass("lb-video-nav")}a(window).off("resize",this.sizeOverlay),this.$lightbox.fadeOut(this.options.fadeDuration),this.$overlay.fadeOut(this.options.fadeDuration),a("select, object, embed").css({visibility:"visible"}),this.options.disableScrolling&&a("body").removeClass("lb-disable-scrolling")},new b}); //# sourceMappingURL=lightbox.min.map \ No newline at end of file diff --git a/dist/js/lightbox.min.map b/dist/js/lightbox.min.map index 13d31244..c307f010 100644 --- a/dist/js/lightbox.min.map +++ b/dist/js/lightbox.min.map @@ -1 +1 @@ -{"version":3,"sources":["..\\..\\src\\js\\lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","after","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","video","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","hasClass","sizeContainer","width","height","removeClass","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxWidth","maxHeight","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":"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","file":"lightbox.min.js"} \ No newline at end of file +{"version":3,"sources":["..\\..\\src\\js\\lightbox.js"],"names":["root","factory","define","amd","exports","module","require","lightbox","jQuery","this","$","Lightbox","options","album","currentImageIndex","init","extend","constructor","defaults","option","albumLabel","alwaysShowNavOnTouchDevices","fadeDuration","fitImagesInViewport","imageFadeDuration","positionFromTop","resizeDuration","showImageNumberLabel","wrapAround","disableScrolling","sanitizeTitle","hasVideo","prototype","imageCountLabel","currentImageNum","totalImages","replace","self","document","ready","enable","build","on","event","start","currentTarget","appendTo","$lightbox","$overlay","$outerContainer","find","$container","$image","$nav","after","containerPadding","top","parseInt","css","right","bottom","left","imageBorderWidth","hide","end","target","attr","changeImage","length","which","one","setTimeout","bind","$link","addToAlbum","push","link","title","$window","window","proxy","sizeOverlay","visibility","$links","imageNumber","dataLightboxValue","prop","i","video","j","scrollTop","scrollLeft","fadeIn","addClass","disableKeyboardNav","$video","$lbContainer","$hasVideoNav","hasClass","sizeContainer","width","height","removeClass","preloader","Image","onload","$preloader","imageHeight","imageWidth","maxImageHeight","maxImageWidth","windowHeight","windowWidth","maxWidth","maxHeight","src","postResize","newWidth","newHeight","showImage","oldWidth","outerWidth","oldHeight","outerHeight","animate","stop","updateNav","updateDetails","preloadNeighboringImages","enableKeyboardNav","alwaysShowNav","createEvent","e","show","$caption","text","html","undefined","open","location","href","labelText","preloadNext","preloadPrev","keyboardAction","off","KEYCODE_ESC","KEYCODE_LEFTARROW","KEYCODE_RIGHTARROW","keycode","keyCode","key","String","fromCharCode","toLowerCase","match","fadeOut"],"mappings":"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","file":"lightbox.min.js"} \ No newline at end of file diff --git a/src/js/lightbox.js b/src/js/lightbox.js index 628ef5f8..687683f9 100644 --- a/src/js/lightbox.js +++ b/src/js/lightbox.js @@ -542,6 +542,16 @@ // Closing time. :-( Lightbox.prototype.end = function () { this.disableKeyboardNav(); + if (this.options.hasVideo) { + var $video = this.$lightbox.find('.lb-video'); + var $lbContainer = this.$lightbox.find('.lb-container'); + var $hasVideoNav = $lbContainer.hasClass('lb-video-nav'); + $video.attr('src', ''); + if ($hasVideoNav) { + $lbContainer.removeClass('lb-video-nav'); + } + } + $(window).off('resize', this.sizeOverlay); this.$lightbox.fadeOut(this.options.fadeDuration); this.$overlay.fadeOut(this.options.fadeDuration); From db148a12b87ea43376329fbad89bfa1e51ef7697 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tam=C3=A1s=20Vigh?= Date: Fri, 13 Jan 2017 14:51:33 +0100 Subject: [PATCH 6/9] update version --- Gruntfile.js | 2 +- dist/js/lightbox-plus-jquery.js | 2 +- dist/js/lightbox-plus-jquery.min.js | 2 +- dist/js/lightbox.js | 2 +- dist/js/lightbox.min.js | 2 +- examples/video.html | 1 - package.json | 2 +- src/js/lightbox.js | 2 +- 8 files changed, 7 insertions(+), 8 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index 559664ba..d4ab20f4 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -57,7 +57,7 @@ module.exports = function(grunt) { watch: { jshint: { files: ['src/js/lightbox.js'], - tasks: ['jshint', 'jscs', 'build'] + tasks: ['jshint', 'jscs', 'cssmin', 'build'] } }, cssmin: { diff --git a/dist/js/lightbox-plus-jquery.js b/dist/js/lightbox-plus-jquery.js index 04854d9e..8450f478 100644 --- a/dist/js/lightbox-plus-jquery.js +++ b/dist/js/lightbox-plus-jquery.js @@ -9814,7 +9814,7 @@ return jQuery; })); /*! - * Lightbox v2.9.0 + * Lightbox v2.10.0 * by Lokesh Dhakar * * More info: diff --git a/dist/js/lightbox-plus-jquery.min.js b/dist/js/lightbox-plus-jquery.min.js index 3c187e4e..858cbbea 100644 --- a/dist/js/lightbox-plus-jquery.min.js +++ b/dist/js/lightbox-plus-jquery.min.js @@ -24,7 +24,7 @@ function(a){function b(a,b,c,d){var e,f,g,h,i,j,l,n,o=b&&b.ownerDocument,p=b?b.nodeType:9;if(c=c||[],"string"!=typeof a||!a||1!==p&&9!==p&&11!==p)return c;if(!d&&((b?b.ownerDocument||b:O)!==G&&F(b),b=b||G,I)){if(11!==p&&(j=ra.exec(a)))if(e=j[1]){if(9===p){if(!(g=b.getElementById(e)))return c;if(g.id===e)return c.push(g),c}else if(o&&(g=o.getElementById(e))&&M(b,g)&&g.id===e)return c.push(g),c}else{if(j[2])return $.apply(c,b.getElementsByTagName(a)),c;if((e=j[3])&&v.getElementsByClassName&&b.getElementsByClassName)return $.apply(c,b.getElementsByClassName(e)),c}if(v.qsa&&!T[a+" "]&&(!J||!J.test(a))){if(1!==p)o=b,n=a;else if("object"!==b.nodeName.toLowerCase()){for((h=b.getAttribute("id"))?h=h.replace(ta,"\\$&"):b.setAttribute("id",h=N),l=z(a),f=l.length,i=ma.test(h)?"#"+h:"[id='"+h+"']";f--;)l[f]=i+" "+m(l[f]);n=l.join(","),o=sa.test(a)&&k(b.parentNode)||b}if(n)try{return $.apply(c,o.querySelectorAll(n)),c}catch(a){}finally{h===N&&b.removeAttribute("id")}}}return B(a.replace(ha,"$1"),b,c,d)}function c(){function a(c,d){return b.push(c+" ")>w.cacheLength&&delete a[b.shift()],a[c+" "]=d}var b=[];return a}function d(a){return a[N]=!0,a}function e(a){var b=G.createElement("div");try{return!!a(b)}catch(a){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function f(a,b){for(var c=a.split("|"),d=c.length;d--;)w.attrHandle[c[d]]=b}function g(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||V)-(~a.sourceIndex||V);if(d)return d;if(c)for(;c=c.nextSibling;)if(c===b)return-1;return a?1:-1}function h(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function i(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function j(a){return d(function(b){return b=+b,d(function(c,d){for(var e,f=a([],c.length,b),g=f.length;g--;)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function k(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}function l(){}function m(a){for(var b=0,c=a.length,d="";b1?function(b,c,d){for(var e=a.length;e--;)if(!a[e](b,c,d))return!1;return!0}:a[0]}function p(a,c,d){for(var e=0,f=c.length;e-1&&(d[j]=!(g[j]=l))}}else t=q(t===g?t.splice(o,t.length):t),f?f(null,g,t,i):$.apply(g,t)})}function s(a){for(var b,c,d,e=a.length,f=w.relative[a[0].type],g=f||w.relative[" "],h=f?1:0,i=n(function(a){return a===b},g,!0),j=n(function(a){return aa(b,a)>-1},g,!0),k=[function(a,c,d){var e=!f&&(d||c!==C)||((b=c).nodeType?i(a,c,d):j(a,c,d));return b=null,e}];h1&&o(k),h>1&&m(a.slice(0,h-1).concat({value:" "===a[h-2].type?"*":""})).replace(ha,"$1"),c,h0,f=a.length>0,g=function(d,g,h,i,j){var k,l,m,n=0,o="0",p=d&&[],r=[],s=C,t=d||f&&w.find.TAG("*",j),u=P+=null==s?1:Math.random()||.1,v=t.length;for(j&&(C=g===G||g||j);o!==v&&null!=(k=t[o]);o++){if(f&&k){for(l=0,g||k.ownerDocument===G||(F(k),h=!I);m=a[l++];)if(m(k,g||G,h)){i.push(k);break}j&&(P=u)}e&&((k=!m&&k)&&n--,d&&p.push(k))}if(n+=o,e&&o!==n){for(l=0;m=c[l++];)m(p,r,g,h);if(d){if(n>0)for(;o--;)p[o]||r[o]||(r[o]=Y.call(i));r=q(r)}$.apply(i,r),j&&!d&&r.length>0&&n+c.length>1&&b.uniqueSort(i)}return j&&(P=u,C=s),p};return e?d(g):g}var u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N="sizzle"+1*new Date,O=a.document,P=0,Q=0,R=c(),S=c(),T=c(),U=function(a,b){return a===b&&(E=!0),0},V=1<<31,W={}.hasOwnProperty,X=[],Y=X.pop,Z=X.push,$=X.push,_=X.slice,aa=function(a,b){for(var c=0,d=a.length;c+~]|"+ca+")"+ca+"*"),ka=new RegExp("="+ca+"*([^\\]'\"]*?)"+ca+"*\\]","g"),la=new RegExp(fa),ma=new RegExp("^"+da+"$"),na={ID:new RegExp("^#("+da+")"),CLASS:new RegExp("^\\.("+da+")"),TAG:new RegExp("^("+da+"|[*])"),ATTR:new RegExp("^"+ea),PSEUDO:new RegExp("^"+fa),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ca+"*(even|odd|(([+-]|)(\\d*)n|)"+ca+"*(?:([+-]|)"+ca+"*(\\d+)|))"+ca+"*\\)|)","i"),bool:new RegExp("^(?:"+ba+")$","i"),needsContext:new RegExp("^"+ca+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ca+"*((?:-\\d)?\\d*)"+ca+"*\\)|)(?=[^-]|$)","i")},oa=/^(?:input|select|textarea|button)$/i,pa=/^h\d$/i,qa=/^[^{]+\{\s*\[native \w/,ra=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,sa=/[+~]/,ta=/'|\\/g,ua=new RegExp("\\\\([\\da-f]{1,6}"+ca+"?|("+ca+")|.)","ig"),va=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},wa=function(){F()};try{$.apply(X=_.call(O.childNodes),O.childNodes),X[O.childNodes.length].nodeType}catch(a){$={apply:X.length?function(a,b){Z.apply(a,_.call(b))}:function(a,b){for(var c=a.length,d=0;a[c++]=b[d++];);a.length=c-1}}}v=b.support={},y=b.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},F=b.setDocument=function(a){var b,c,d=a?a.ownerDocument||a:O;return d!==G&&9===d.nodeType&&d.documentElement?(G=d,H=G.documentElement,I=!y(G),(c=G.defaultView)&&c.top!==c&&(c.addEventListener?c.addEventListener("unload",wa,!1):c.attachEvent&&c.attachEvent("onunload",wa)),v.attributes=e(function(a){return a.className="i",!a.getAttribute("className")}),v.getElementsByTagName=e(function(a){return a.appendChild(G.createComment("")),!a.getElementsByTagName("*").length}),v.getElementsByClassName=qa.test(G.getElementsByClassName),v.getById=e(function(a){return H.appendChild(a).id=N,!G.getElementsByName||!G.getElementsByName(N).length}),v.getById?(w.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&I){var c=b.getElementById(a);return c?[c]:[]}},w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){return a.getAttribute("id")===b}}):(delete w.find.ID,w.filter.ID=function(a){var b=a.replace(ua,va);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),w.find.TAG=v.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):v.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){for(;c=f[e++];)1===c.nodeType&&d.push(c);return d}return f},w.find.CLASS=v.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&I)return b.getElementsByClassName(a)},K=[],J=[],(v.qsa=qa.test(G.querySelectorAll))&&(e(function(a){H.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&J.push("[*^$]="+ca+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||J.push("\\["+ca+"*(?:value|"+ba+")"),a.querySelectorAll("[id~="+N+"-]").length||J.push("~="),a.querySelectorAll(":checked").length||J.push(":checked"),a.querySelectorAll("a#"+N+"+*").length||J.push(".#.+[+~]")}),e(function(a){var b=G.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&J.push("name"+ca+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||J.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),J.push(",.*:")})),(v.matchesSelector=qa.test(L=H.matches||H.webkitMatchesSelector||H.mozMatchesSelector||H.oMatchesSelector||H.msMatchesSelector))&&e(function(a){v.disconnectedMatch=L.call(a,"div"),L.call(a,"[s!='']:x"),K.push("!=",fa)}),J=J.length&&new RegExp(J.join("|")),K=K.length&&new RegExp(K.join("|")),b=qa.test(H.compareDocumentPosition),M=b||qa.test(H.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},U=b?function(a,b){if(a===b)return E=!0,0;var c=!a.compareDocumentPosition-!b.compareDocumentPosition;return c?c:(c=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&c||!v.sortDetached&&b.compareDocumentPosition(a)===c?a===G||a.ownerDocument===O&&M(O,a)?-1:b===G||b.ownerDocument===O&&M(O,b)?1:D?aa(D,a)-aa(D,b):0:4&c?-1:1)}:function(a,b){if(a===b)return E=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===G?-1:b===G?1:e?-1:f?1:D?aa(D,a)-aa(D,b):0;if(e===f)return g(a,b);for(c=a;c=c.parentNode;)h.unshift(c);for(c=b;c=c.parentNode;)i.unshift(c);for(;h[d]===i[d];)d++;return d?g(h[d],i[d]):h[d]===O?-1:i[d]===O?1:0},G):G},b.matches=function(a,c){return b(a,null,null,c)},b.matchesSelector=function(a,c){if((a.ownerDocument||a)!==G&&F(a),c=c.replace(ka,"='$1']"),v.matchesSelector&&I&&!T[c+" "]&&(!K||!K.test(c))&&(!J||!J.test(c)))try{var d=L.call(a,c);if(d||v.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(a){}return b(c,G,null,[a]).length>0},b.contains=function(a,b){return(a.ownerDocument||a)!==G&&F(a),M(a,b)},b.attr=function(a,b){(a.ownerDocument||a)!==G&&F(a);var c=w.attrHandle[b.toLowerCase()],d=c&&W.call(w.attrHandle,b.toLowerCase())?c(a,b,!I):void 0;return void 0!==d?d:v.attributes||!I?a.getAttribute(b):(d=a.getAttributeNode(b))&&d.specified?d.value:null},b.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},b.uniqueSort=function(a){var b,c=[],d=0,e=0;if(E=!v.detectDuplicates,D=!v.sortStable&&a.slice(0),a.sort(U),E){for(;b=a[e++];)b===a[e]&&(d=c.push(e));for(;d--;)a.splice(c[d],1)}return D=null,a},x=b.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(1===e||9===e||11===e){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=x(a)}else if(3===e||4===e)return a.nodeValue}else for(;b=a[d++];)c+=x(b);return c},w=b.selectors={cacheLength:50,createPseudo:d,match:na,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ua,va),a[3]=(a[3]||a[4]||a[5]||"").replace(ua,va),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||b.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&b.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return na.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&la.test(c)&&(b=z(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ua,va).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=R[a+" "];return b||(b=new RegExp("(^|"+ca+")"+a+"("+ca+"|$)"))&&R(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,c,d){return function(e){var f=b.attr(e,a);return null==f?"!="===c:!c||(f+="","="===c?f===d:"!="===c?f!==d:"^="===c?d&&0===f.indexOf(d):"*="===c?d&&f.indexOf(d)>-1:"$="===c?d&&f.slice(-d.length)===d:"~="===c?(" "+f.replace(ga," ")+" ").indexOf(d)>-1:"|="===c&&(f===d||f.slice(0,d.length+1)===d+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){for(;p;){for(m=b;m=m[p];)if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){for(m=q,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n&&j[2],m=n&&q.childNodes[n];m=++n&&m&&m[p]||(t=n=0)||o.pop();)if(1===m.nodeType&&++t&&m===b){k[a]=[P,n,t];break}}else if(s&&(m=b,l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===P&&j[1],t=n),t===!1)for(;(m=++n&&m&&m[p]||(t=n=0)||o.pop())&&((h?m.nodeName.toLowerCase()!==r:1!==m.nodeType)||!++t||(s&&(l=m[N]||(m[N]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[P,t]),m!==b)););return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,c){var e,f=w.pseudos[a]||w.setFilters[a.toLowerCase()]||b.error("unsupported pseudo: "+a);return f[N]?f(c):f.length>1?(e=[a,a,"",c],w.setFilters.hasOwnProperty(a.toLowerCase())?d(function(a,b){for(var d,e=f(a,c),g=e.length;g--;)d=aa(a,e[g]),a[d]=!(b[d]=e[g])}):function(a){return f(a,0,e)}):f}},pseudos:{not:d(function(a){var b=[],c=[],e=A(a.replace(ha,"$1"));return e[N]?d(function(a,b,c,d){for(var f,g=e(a,null,d,[]),h=a.length;h--;)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,d,f){return b[0]=a,e(b,null,f,c),b[0]=null,!c.pop()}}),has:d(function(a){return function(c){return b(a,c).length>0}}),contains:d(function(a){return a=a.replace(ua,va),function(b){return(b.textContent||b.innerText||x(b)).indexOf(a)>-1}}),lang:d(function(a){return ma.test(a||"")||b.error("unsupported lang: "+a),a=a.replace(ua,va).toLowerCase(),function(b){var c;do if(c=I?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===H},focus:function(a){return a===G.activeElement&&(!G.hasFocus||G.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!w.pseudos.empty(a)},header:function(a){return pa.test(a.nodeName)},input:function(a){return oa.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:j(function(){return[0]}),last:j(function(a,b){return[b-1]}),eq:j(function(a,b,c){return[c<0?c+b:c]}),even:j(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:j(function(a,b,c){for(var d=c<0?c+b:c;++d2&&"ID"===(g=f[0]).type&&v.getById&&9===b.nodeType&&I&&w.relative[f[1].type]){if(b=(w.find.ID(g.matches[0].replace(ua,va),b)||[])[0],!b)return c;j&&(b=b.parentNode),a=a.slice(f.shift().value.length)}for(e=na.needsContext.test(a)?0:f.length;e--&&(g=f[e],!w.relative[h=g.type]);)if((i=w.find[h])&&(d=i(g.matches[0].replace(ua,va),sa.test(f[0].type)&&k(b.parentNode)||b))){if(f.splice(e,1),a=d.length&&m(f),!a)return $.apply(c,d),c;break}}return(j||A(a,l))(d,b,!I,c,!b||sa.test(a)&&k(b.parentNode)||b),c},v.sortStable=N.split("").sort(U).join("")===N,v.detectDuplicates=!!E,F(),v.sortDetached=e(function(a){return 1&a.compareDocumentPosition(G.createElement("div"))}),e(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||f("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),v.attributes&&e(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||f("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),e(function(a){return null==a.getAttribute("disabled")})||f(ba,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),b}(a);fa.find=ka,fa.expr=ka.selectors,fa.expr[":"]=fa.expr.pseudos,fa.uniqueSort=fa.unique=ka.uniqueSort,fa.text=ka.getText,fa.isXMLDoc=ka.isXML,fa.contains=ka.contains;var la=function(a,b,c){for(var d=[],e=void 0!==c;(a=a[b])&&9!==a.nodeType;)if(1===a.nodeType){if(e&&fa(a).is(c))break;d.push(a)}return d},ma=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},na=fa.expr.match.needsContext,oa=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,pa=/^.[^:#\[\.,]*$/;fa.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?fa.find.matchesSelector(d,a)?[d]:[]:fa.find.matches(a,fa.grep(b,function(a){return 1===a.nodeType}))},fa.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(fa(a).filter(function(){for(b=0;b1?fa.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(d(this,a||[],!1))},not:function(a){return this.pushStack(d(this,a||[],!0))},is:function(a){return!!d(this,"string"==typeof a&&na.test(a)?fa(a):a||[],!1).length}});var qa,ra=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,sa=fa.fn.init=function(a,b,c){var d,e;if(!a)return this;if(c=c||qa,"string"==typeof a){if(d="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:ra.exec(a),!d||!d[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(d[1]){if(b=b instanceof fa?b[0]:b,fa.merge(this,fa.parseHTML(d[1],b&&b.nodeType?b.ownerDocument||b:X,!0)),oa.test(d[1])&&fa.isPlainObject(b))for(d in b)fa.isFunction(this[d])?this[d](b[d]):this.attr(d,b[d]);return this}return e=X.getElementById(d[2]),e&&e.parentNode&&(this.length=1,this[0]=e),this.context=X,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):fa.isFunction(a)?void 0!==c.ready?c.ready(a):a(fa):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),fa.makeArray(a,this))};sa.prototype=fa.fn,qa=fa(X);var ta=/^(?:parents|prev(?:Until|All))/,ua={children:!0,contents:!0,next:!0,prev:!0};fa.fn.extend({has:function(a){var b=fa(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&fa.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?fa.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?_.call(fa(a),this[0]):_.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(fa.uniqueSort(fa.merge(this.get(),fa(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}}),fa.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return la(a,"parentNode")},parentsUntil:function(a,b,c){return la(a,"parentNode",c)},next:function(a){return e(a,"nextSibling")},prev:function(a){return e(a,"previousSibling")},nextAll:function(a){return la(a,"nextSibling")},prevAll:function(a){return la(a,"previousSibling")},nextUntil:function(a,b,c){return la(a,"nextSibling",c)},prevUntil:function(a,b,c){return la(a,"previousSibling",c)},siblings:function(a){return ma((a.parentNode||{}).firstChild,a)},children:function(a){return ma(a.firstChild)},contents:function(a){return a.contentDocument||fa.merge([],a.childNodes)}},function(a,b){fa.fn[a]=function(c,d){var e=fa.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=fa.filter(d,e)),this.length>1&&(ua[a]||fa.uniqueSort(e),ta.test(a)&&e.reverse()),this.pushStack(e)}});var va=/\S+/g;fa.Callbacks=function(a){a="string"==typeof a?f(a):fa.extend({},a);var b,c,d,e,g=[],h=[],i=-1,j=function(){for(e=a.once,d=b=!0;h.length;i=-1)for(c=h.shift();++i-1;)g.splice(c,1),c<=i&&i--}),this},has:function(a){return a?fa.inArray(a,g)>-1:g.length>0},empty:function(){return g&&(g=[]),this},disable:function(){return e=h=[],g=c="",this},disabled:function(){return!g},lock:function(){return e=h=[],c||(g=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],h.push(c),b||j()),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},fa.extend({Deferred:function(a){var b=[["resolve","done",fa.Callbacks("once memory"),"resolved"],["reject","fail",fa.Callbacks("once memory"),"rejected"],["notify","progress",fa.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return fa.Deferred(function(c){fa.each(b,function(b,f){var g=fa.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&fa.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?fa.extend(a,d):d}},e={};return d.pipe=d.then,fa.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b,c,d,e=0,f=Y.call(arguments),g=f.length,h=1!==g||a&&fa.isFunction(a.promise)?g:0,i=1===h?a:fa.Deferred(),j=function(a,c,d){return function(e){c[a]=this,d[a]=arguments.length>1?Y.call(arguments):e,d===b?i.notifyWith(c,d):--h||i.resolveWith(c,d)}};if(g>1)for(b=new Array(g),c=new Array(g),d=new Array(g);e0||(wa.resolveWith(X,[fa]),fa.fn.triggerHandler&&(fa(X).triggerHandler("ready"),fa(X).off("ready"))))}}),fa.ready.promise=function(b){return wa||(wa=fa.Deferred(),"complete"===X.readyState||"loading"!==X.readyState&&!X.documentElement.doScroll?a.setTimeout(fa.ready):(X.addEventListener("DOMContentLoaded",g),a.addEventListener("load",g))),wa.promise(b)},fa.ready.promise();var xa=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===fa.type(c)){e=!0;for(h in c)xa(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,fa.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(fa(a),c)})),b))for(;h-1&&void 0!==c&&Aa.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){Aa.remove(this,a)})}}),fa.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=za.get(a,b),c&&(!d||fa.isArray(c)?d=za.access(a,b,fa.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=fa.queue(a,b),d=c.length,e=c.shift(),f=fa._queueHooks(a,b),g=function(){fa.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return za.get(a,c)||za.access(a,c,{empty:fa.Callbacks("once memory").add(function(){za.remove(a,[b+"queue",c])})})}}),fa.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Ka.optgroup=Ka.option,Ka.tbody=Ka.tfoot=Ka.colgroup=Ka.caption=Ka.thead,Ka.th=Ka.td;var La=/<|&#?\w+;/;!function(){var a=X.createDocumentFragment(),b=a.appendChild(X.createElement("div")),c=X.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),da.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",da.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var Ma=/^key/,Na=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Oa=/^([^.]*)(?:\.(.+)|)/;fa.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=za.get(a);if(q)for(c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=fa.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof fa&&fa.event.triggered!==b.type?fa.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(va)||[""],j=b.length;j--;)h=Oa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=fa.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=fa.event.special[n]||{},k=fa.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&fa.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),fa.event.global[n]=!0)},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=za.hasData(a)&&za.get(a);if(q&&(i=q.events)){for(b=(b||"").match(va)||[""],j=b.length;j--;)if(h=Oa.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){for(l=fa.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;f--;)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1), k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||fa.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)fa.event.remove(a,n+b[j],c,d,!0);fa.isEmptyObject(i)&&za.remove(a,"handle events")}},dispatch:function(a){a=fa.event.fix(a);var b,c,d,e,f,g=[],h=Y.call(arguments),i=(za.get(this,"events")||{})[a.type]||[],j=fa.event.special[a.type]||{};if(h[0]=a,a.delegateTarget=this,!j.preDispatch||j.preDispatch.call(this,a)!==!1){for(g=fa.event.handlers.call(this,a,i),b=0;(e=g[b++])&&!a.isPropagationStopped();)for(a.currentTarget=e.elem,c=0;(f=e.handlers[c++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(f.namespace)||(a.handleObj=f,a.data=f.data,d=((fa.event.special[f.origType]||{}).handle||f.handler).apply(e.elem,h),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()));return j.postDispatch&&j.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;c-1:fa.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,Qa=/\s*$/g;fa.extend({htmlPrefilter:function(a){return a.replace(Pa,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=fa.contains(a.ownerDocument,a);if(!(da.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||fa.isXMLDoc(a)))for(g=k(h),f=k(a),d=0,e=f.length;d0&&l(g,!i&&k(a,"script")),h},cleanData:function(a){for(var b,c,d,e=fa.event.special,f=0;void 0!==(c=a[f]);f++)if(ya(c)){if(b=c[za.expando]){if(b.events)for(d in b.events)e[d]?fa.event.remove(c,d):fa.removeEvent(c,d,b.handle);c[za.expando]=void 0}c[Aa.expando]&&(c[Aa.expando]=void 0)}}}),fa.fn.extend({domManip:w,detach:function(a){return x(this,a,!0)},remove:function(a){return x(this,a)},text:function(a){return xa(this,function(a){return void 0===a?fa.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return w(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=r(this,a);b.appendChild(a)}})},prepend:function(){return w(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=r(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return w(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return w(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(fa.cleanData(k(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return fa.clone(this,a,b)})},html:function(a){return xa(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Qa.test(a)&&!Ka[(Ia.exec(a)||["",""])[1].toLowerCase()]){a=fa.htmlPrefilter(a);try{for(;c1)},show:function(){return G(this,!0)},hide:function(){return G(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){Ga(this)?fa(this).show():fa(this).hide()})}}),fa.Tween=H,H.prototype={constructor:H,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||fa.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(fa.cssNumber[c]?"":"px")},cur:function(){var a=H.propHooks[this.prop];return a&&a.get?a.get(this):H.propHooks._default.get(this)},run:function(a){var b,c=H.propHooks[this.prop];return this.options.duration?this.pos=b=fa.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):H.propHooks._default.set(this),this}},H.prototype.init.prototype=H.prototype,H.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=fa.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){fa.fx.step[a.prop]?fa.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[fa.cssProps[a.prop]]&&!fa.cssHooks[a.prop]?a.elem[a.prop]=a.now:fa.style(a.elem,a.prop,a.now+a.unit)}}},H.propHooks.scrollTop=H.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},fa.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},fa.fx=H.prototype.init,fa.fx.step={};var eb,fb,gb=/^(?:toggle|show|hide)$/,hb=/queueHooks$/;fa.Animation=fa.extend(N,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return j(c.elem,a,Ea.exec(b),c),c}]},tweener:function(a,b){fa.isFunction(a)?(b=a,a=["*"]):a=a.match(va);for(var c,d=0,e=a.length;d1)},removeAttr:function(a){return this.each(function(){fa.removeAttr(this,a)})}}),fa.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?fa.prop(a,b,c):(1===f&&fa.isXMLDoc(a)||(b=b.toLowerCase(),e=fa.attrHooks[b]||(fa.expr.match.bool.test(b)?ib:void 0)),void 0!==c?null===c?void fa.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=fa.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!da.radioValue&&"radio"===b&&fa.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(va);if(f&&1===a.nodeType)for(;c=f[e++];)d=fa.propFix[c]||c,fa.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?fa.removeAttr(a,c):a.setAttribute(c,c),c}},fa.each(fa.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||fa.find.attr;jb[b]=function(a,b,d){var e,f;return d||(f=jb[b],jb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,jb[b]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;fa.fn.extend({prop:function(a,b){return xa(this,fa.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[fa.propFix[a]||a]})}}),fa.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&fa.isXMLDoc(a)||(b=fa.propFix[b]||b,e=fa.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=fa.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),da.optSelected||(fa.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),fa.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){fa.propFix[this.toLowerCase()]=this});var mb=/[\t\r\n\f]/g;fa.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(fa.isFunction(a))return this.each(function(b){fa(this).addClass(a.call(this,b,O(this)))});if("string"==typeof a&&a)for(b=a.match(va)||[];c=this[i++];)if(e=O(c),d=1===c.nodeType&&(" "+e+" ").replace(mb," ")){for(g=0;f=b[g++];)d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=fa.trim(d),e!==h&&c.setAttribute("class",h)}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(fa.isFunction(a))return this.each(function(b){fa(this).removeClass(a.call(this,b,O(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a)for(b=a.match(va)||[];c=this[i++];)if(e=O(c),d=1===c.nodeType&&(" "+e+" ").replace(mb," ")){for(g=0;f=b[g++];)for(;d.indexOf(" "+f+" ")>-1;)d=d.replace(" "+f+" "," ");h=fa.trim(d),e!==h&&c.setAttribute("class",h)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):fa.isFunction(a)?this.each(function(c){fa(this).toggleClass(a.call(this,c,O(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c)for(d=0,e=fa(this),f=a.match(va)||[];b=f[d++];)e.hasClass(b)?e.removeClass(b):e.addClass(b);else void 0!==a&&"boolean"!==c||(b=O(this),b&&za.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":za.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;for(b=" "+a+" ";c=this[d++];)if(1===c.nodeType&&(" "+O(c)+" ").replace(mb," ").indexOf(b)>-1)return!0;return!1}});var nb=/\r/g,ob=/[\x20\t\r\n\f]+/g;fa.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=fa.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,fa(this).val()):a,null==e?e="":"number"==typeof e?e+="":fa.isArray(e)&&(e=fa.map(e,function(a){return null==a?"":a+""})),b=fa.valHooks[this.type]||fa.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=fa.valHooks[e.type]||fa.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(nb,""):null==c?"":c)}}}),fa.extend({valHooks:{option:{get:function(a){var b=fa.find.attr(a,"value");return null!=b?b:fa.trim(fa.text(a)).replace(ob," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||e<0,g=f?null:[],h=f?e+1:d.length,i=e<0?h:f?e:0;i-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),fa.each(["radio","checkbox"],function(){fa.valHooks[this]={set:function(a,b){if(fa.isArray(b))return a.checked=fa.inArray(fa(a).val(),b)>-1}},da.checkOn||(fa.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;fa.extend(fa.event,{trigger:function(b,c,d,e){var f,g,h,i,j,k,l,m=[d||X],n=ca.call(b,"type")?b.type:b,o=ca.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||X,3!==d.nodeType&&8!==d.nodeType&&!pb.test(n+fa.event.triggered)&&(n.indexOf(".")>-1&&(o=n.split("."),n=o.shift(),o.sort()),j=n.indexOf(":")<0&&"on"+n,b=b[fa.expando]?b:new fa.Event(n,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=o.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:fa.makeArray(c,[b]),l=fa.event.special[n]||{},e||!l.trigger||l.trigger.apply(d,c)!==!1)){if(!e&&!l.noBubble&&!fa.isWindow(d)){for(i=l.delegateType||n,pb.test(i+n)||(g=g.parentNode);g;g=g.parentNode)m.push(g),h=g;h===(d.ownerDocument||X)&&m.push(h.defaultView||h.parentWindow||a)}for(f=0;(g=m[f++])&&!b.isPropagationStopped();)b.type=f>1?i:l.bindType||n,k=(za.get(g,"events")||{})[b.type]&&za.get(g,"handle"),k&&k.apply(g,c),k=j&&g[j],k&&k.apply&&ya(g)&&(b.result=k.apply(g,c),b.result===!1&&b.preventDefault());return b.type=n,e||b.isDefaultPrevented()||l._default&&l._default.apply(m.pop(),c)!==!1||!ya(d)||j&&fa.isFunction(d[n])&&!fa.isWindow(d)&&(h=d[j],h&&(d[j]=null),fa.event.triggered=n,d[n](),fa.event.triggered=void 0,h&&(d[j]=h)),b.result}},simulate:function(a,b,c){var d=fa.extend(new fa.Event,c,{type:a,isSimulated:!0});fa.event.trigger(d,null,b)}}),fa.fn.extend({trigger:function(a,b){return this.each(function(){fa.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return fa.event.trigger(a,b,c,!0)}}),fa.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(a,b){fa.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),fa.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),da.focusin="onfocusin"in a,da.focusin||fa.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){fa.event.simulate(b,a.target,fa.event.fix(a))};fa.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=za.access(d,b);e||d.addEventListener(a,c,!0),za.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=za.access(d,b)-1;e?za.access(d,b,e):(d.removeEventListener(a,c,!0),za.remove(d,b))}}});var qb=a.location,rb=fa.now(),sb=/\?/;fa.parseJSON=function(a){return JSON.parse(a+"")},fa.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(a){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||fa.error("Invalid XML: "+b),c};var tb=/#.*$/,ub=/([?&])_=[^&]*/,vb=/^(.*?):[ \t]*([^\r\n]*)$/gm,wb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,xb=/^(?:GET|HEAD)$/,yb=/^\/\//,zb={},Ab={},Bb="*/".concat("*"),Cb=X.createElement("a");Cb.href=qb.href,fa.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:wb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Bb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":fa.parseJSON,"text xml":fa.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?R(R(a,fa.ajaxSettings),b):R(fa.ajaxSettings,a)},ajaxPrefilter:P(zb),ajaxTransport:P(Ab),ajax:function(b,c){function d(b,c,d,h){var j,l,s,t,v,x=c;2!==u&&(u=2,i&&a.clearTimeout(i),e=void 0,g=h||"",w.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(t=S(m,w,d)),t=T(m,t,w,j),j?(m.ifModified&&(v=w.getResponseHeader("Last-Modified"),v&&(fa.lastModified[f]=v),v=w.getResponseHeader("etag"),v&&(fa.etag[f]=v)),204===b||"HEAD"===m.type?x="nocontent":304===b?x="notmodified":(x=t.state,l=t.data,s=t.error,j=!s)):(s=x,!b&&x||(x="error",b<0&&(b=0))),w.status=b,w.statusText=(c||x)+"",j?p.resolveWith(n,[l,x,w]):p.rejectWith(n,[w,x,s]),w.statusCode(r),r=void 0,k&&o.trigger(j?"ajaxSuccess":"ajaxError",[w,m,j?l:s]),q.fireWith(n,[w,x]),k&&(o.trigger("ajaxComplete",[w,m]),--fa.active||fa.event.trigger("ajaxStop")))}"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=fa.ajaxSetup({},c),n=m.context||m,o=m.context&&(n.nodeType||n.jquery)?fa(n):fa.event,p=fa.Deferred(),q=fa.Callbacks("once memory"),r=m.statusCode||{},s={},t={},u=0,v="canceled",w={readyState:0,getResponseHeader:function(a){var b;if(2===u){if(!h)for(h={};b=vb.exec(g);)h[b[1].toLowerCase()]=b[2];b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===u?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return u||(a=t[c]=t[c]||a,s[a]=b),this},overrideMimeType:function(a){return u||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(u<2)for(b in a)r[b]=[r[b],a[b]];else w.always(a[w.status]);return this},abort:function(a){var b=a||v;return e&&e.abort(b),d(0,b),this}};if(p.promise(w).complete=q.add,w.success=w.done,w.error=w.fail,m.url=((b||m.url||qb.href)+"").replace(tb,"").replace(yb,qb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=fa.trim(m.dataType||"*").toLowerCase().match(va)||[""],null==m.crossDomain){j=X.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=Cb.protocol+"//"+Cb.host!=j.protocol+"//"+j.host}catch(a){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=fa.param(m.data,m.traditional)),Q(zb,m,c,w),2===u)return w;k=fa.event&&m.global,k&&0===fa.active++&&fa.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!xb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(sb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=ub.test(f)?f.replace(ub,"$1_="+rb++):f+(sb.test(f)?"&":"?")+"_="+rb++)),m.ifModified&&(fa.lastModified[f]&&w.setRequestHeader("If-Modified-Since",fa.lastModified[f]),fa.etag[f]&&w.setRequestHeader("If-None-Match",fa.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&w.setRequestHeader("Content-Type",m.contentType),w.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+Bb+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)w.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(n,w,m)===!1||2===u))return w.abort();v="abort";for(l in{success:1,error:1,complete:1})w[l](m[l]);if(e=Q(Ab,m,c,w)){if(w.readyState=1,k&&o.trigger("ajaxSend",[w,m]),2===u)return w;m.async&&m.timeout>0&&(i=a.setTimeout(function(){w.abort("timeout")},m.timeout));try{u=1,e.send(s,d)}catch(a){if(!(u<2))throw a;d(-1,a)}}else d(-1,"No Transport");return w},getJSON:function(a,b,c){return fa.get(a,b,c,"json")},getScript:function(a,b){return fa.get(a,void 0,b,"script")}}),fa.each(["get","post"],function(a,b){fa[b]=function(a,c,d,e){return fa.isFunction(c)&&(e=e||d,d=c,c=void 0),fa.ajax(fa.extend({url:a,type:b,dataType:e,data:c,success:d},fa.isPlainObject(a)&&a))}}),fa._evalUrl=function(a){return fa.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,throws:!0})},fa.fn.extend({wrapAll:function(a){var b;return fa.isFunction(a)?this.each(function(b){fa(this).wrapAll(a.call(this,b))}):(this[0]&&(b=fa(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){for(var a=this;a.firstElementChild;)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return fa.isFunction(a)?this.each(function(b){fa(this).wrapInner(a.call(this,b))}):this.each(function(){var b=fa(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=fa.isFunction(a);return this.each(function(c){fa(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){fa.nodeName(this,"body")||fa(this).replaceWith(this.childNodes)}).end()}}),fa.expr.filters.hidden=function(a){return!fa.expr.filters.visible(a)},fa.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Db=/%20/g,Eb=/\[\]$/,Fb=/\r?\n/g,Gb=/^(?:submit|button|image|reset|file)$/i,Hb=/^(?:input|select|textarea|keygen)/i;fa.param=function(a,b){var c,d=[],e=function(a,b){b=fa.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=fa.ajaxSettings&&fa.ajaxSettings.traditional),fa.isArray(a)||a.jquery&&!fa.isPlainObject(a))fa.each(a,function(){e(this.name,this.value)});else for(c in a)U(c,a[c],b,e);return d.join("&").replace(Db,"+")},fa.fn.extend({serialize:function(){return fa.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=fa.prop(this,"elements");return a?fa.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!fa(this).is(":disabled")&&Hb.test(this.nodeName)&&!Gb.test(a)&&(this.checked||!Ha.test(a))}).map(function(a,b){var c=fa(this).val();return null==c?null:fa.isArray(c)?fa.map(c,function(a){return{name:b.name,value:a.replace(Fb,"\r\n")}}):{name:b.name,value:c.replace(Fb,"\r\n")}}).get()}}),fa.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(a){}};var Ib={0:200,1223:204},Jb=fa.ajaxSettings.xhr();da.cors=!!Jb&&"withCredentials"in Jb,da.ajax=Jb=!!Jb,fa.ajaxTransport(function(b){var c,d;if(da.cors||Jb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"); for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ib[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(a){if(c)throw a}},abort:function(){c&&c()}}}),fa.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return fa.globalEval(a),a}}}),fa.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),fa.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=fa("