PageSourceSearch

https://gallesie-monterfil.bzh/local/cache-js/ea769a34dd9b0a16098fd67a0ddd0797.js?1790333198

js gallesie-monterfil.bzh collected 2026-10-02 23:04:32 UTC 324,853 bytes, 11,545 lines download raw bytes

vendor: 145,096 bytes, lines 1-6642
1/* compact [
2	prive/javascript/jquery.js?1790327464
3	prive/javascript/jquery.form.js?1790327464
4	prive/javascript/jquery.autosave.js?1790327464
5	prive/javascript/jquery.placeholder-label.js?1790327464
6	prive/javascript/ajaxCallback.js?1790327464
7	prive/javascript/js.cookie.js?1790327464
8	plugins/auto/coordonnees/v4.3.2/javascript/coordonnees_adresses.js?1786954066
9	plugins/auto/ancresdouces/v3.0.0/js/jquery.scrollto.js
10	plugins/auto/ancresdouces/v3.0.0/js/jquery.localscroll.js
11	plugins/auto/photoswipe/v1.2.2/lib/photoswipe/photoswipe.min.js
12	plugins/auto/photoswipe/v1.2.2/lib/photoswipe/photoswipe-ui-default.min.js
13	plugins/auto/photoswipe/v1.2.2/photoswipe_insert.js?1768928150
14	plugins/bootspip/v1.3.5/bootstrap/js/transition.js
15	plugins/bootspip/v1.3.5/bootstrap/js/collapse.js
16	plugins/bootspip/v1.3.5/bootstrap/js/dropdown.js
17	plugins/bootspip/v1.3.5/bootstrap/js/tooltip.js
18	plugins/bootspip/v1.3.5/bootstrap/js/popover.js
19	plugins/bootspip/v1.3.5/bootstrap/js/button.js
20	plugins/bootspip/v1.3.5/bootstrap/js/carousel.js
21	plugins/bootspip/v1.3.5/bootstrap/js/alert.js
22	plugins/bootspip/v1.3.5/bootstrap/js/modal.js
23	plugins/gallesie/v1.2.1/js/justifiedGallery.js?1769874833
24	plugins/gallesie/v1.2.1/js/application.js?1769874833
25] 59.3% */
26
27/* prive/javascript/jquery.js?1790327464 */
28
29(function(global,factory){
30"use strict";
31if(typeof module==="object"&&typeof module.exports==="object"){
32module.exports=global.document?
33factory(global,true):
34function(w){
35if(!w.document){
36throw new Error("jQuery requires a window with a document");
37}
38return factory(w);
39};
40}else{
41factory(global);
42}
43})(typeof window!=="undefined"?window:this,function(window,noGlobal){
44"use strict";
45var arr=[];
46var getProto=Object.getPrototypeOf;
47var slice=arr.slice;
48var flat=arr.flat?function(array){
49return arr.flat.call(array);
50}:function(array){
51return arr.concat.apply([],array);
52};
53var push=arr.push;
54var indexOf=arr.indexOf;
55var class2type={};
56var toString=class2type.toString;
57var hasOwn=class2type.hasOwnProperty;
58var fnToString=hasOwn.toString;
59var ObjectFunctionString=fnToString.call(Object);
60var support={};
61var isFunction=function isFunction(obj){
62return typeof obj==="function"&&typeof obj.nodeType!=="number"&&
63typeof obj.item!=="function";
64};
65var isWindow=function isWindow(obj){
66return obj!=null&&obj===obj.window;
67};
68var document=window.document;
69var preservedScriptAttributes={
70type:true,
71src:true,
72nonce:true,
73noModule:true
74};
75function DOMEval(code,node,doc){
76doc=doc||document;
77var i,val,
78script=doc.createElement("script");
79script.text=code;
80if(node){
81for(i in preservedScriptAttributes){
82val=node[i]||node.getAttribute&&node.getAttribute(i);
83if(val){
84script.setAttribute(i,val);
85}
86}
87}
88doc.head.appendChild(script).parentNode.removeChild(script);
89}
90function toType(obj){
91if(obj==null){
92return obj+"";
93}
94return typeof obj==="object"||typeof obj==="function"?
95class2type[toString.call(obj)]||"object":
96typeof obj;
97}
98var version="3.7.1",
99rhtmlSuffix=/HTML$/i,
100jQuery=function(selector,context){
101return new jQuery.fn.init(selector,context);
102};
103jQuery.fn=jQuery.prototype={
104jquery:version,
105constructor:jQuery,
106length:0,
107toArray:function(){
108return slice.call(this);
109},
110get:function(num){
111if(num==null){
112return slice.call(this);
113}
114return num<0?this[num+this.length]:this[num];
115},
116pushStack:function(elems){
117var ret=jQuery.merge(this.constructor(),elems);
118ret.prevObject=this;
119return ret;
120},
121each:function(callback){
122return jQuery.each(this,callback);
123},
124map:function(callback){
125return this.pushStack(jQuery.map(this,function(elem,i){
126return callback.call(elem,i,elem);
127}));
128},
129slice:function(){
130return this.pushStack(slice.apply(this,arguments));
131},
132first:function(){
133return this.eq(0);
134},
135last:function(){
136return this.eq(-1);
137},
138even:function(){
139return this.pushStack(jQuery.grep(this,function(_elem,i){
140return(i+1)%2;
141}));
142},
143odd:function(){
144return this.pushStack(jQuery.grep(this,function(_elem,i){
145return i%2;
146}));
147},
148eq:function(i){
149var len=this.length,
150j=+i+(i<0?len:0);
151return this.pushStack(j>=0&&j<len?[this[j]]:[]);
152},
153end:function(){
154return this.prevObject||this.constructor();
155},
156push:push,
157sort:arr.sort,
158splice:arr.splice
159};
160jQuery.extend=jQuery.fn.extend=function(){
161var options,name,src,copy,copyIsArray,clone,
162target=arguments[0]||{},
163i=1,
164length=arguments.length,
165deep=false;
166if(typeof target==="boolean"){
167deep=target;
168target=arguments[i]||{};
169i++;
170}
171if(typeof target!=="object"&&!isFunction(target)){
172target={};
173}
174if(i===length){
175target=this;
176i--;
177}
178for(;i<length;i++){
179if((options=arguments[i])!=null){
180for(name in options){
181copy=options[name];
182if(name==="__proto__"||target===copy){
183continue;
184}
185if(deep&&copy&&(jQuery.isPlainObject(copy)||
186(copyIsArray=Array.isArray(copy)))){
187src=target[name];
188if(copyIsArray&&!Array.isArray(src)){
189clone=[];
190}else if(!copyIsArray&&!jQuery.isPlainObject(src)){
191clone={};
192}else{
193clone=src;
194}
195copyIsArray=false;
196target[name]=jQuery.extend(deep,clone,copy);
197}else if(copy!==undefined){
198target[name]=copy;
199}
200}
201}
202}
203return target;
204};
205jQuery.extend({
206expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),
207isReady:true,
208error:function(msg){
209throw new Error(msg);
210},
211noop:function(){},
212isPlainObject:function(obj){
213var proto,Ctor;
214if(!obj||toString.call(obj)!=="[object Object]"){
215return false;
216}
217proto=getProto(obj);
218if(!proto){
219return true;
220}
221Ctor=hasOwn.call(proto,"constructor")&&proto.constructor;
222return typeof Ctor==="function"&&fnToString.call(Ctor)===ObjectFunctionString;
223},
224isEmptyObject:function(obj){
225var name;
226for(name in obj){
227return false;
228}
229return true;
230},
231globalEval:function(code,options,doc){
232DOMEval(code,{nonce:options&&options.nonce},doc);
233},
234each:function(obj,callback){
235var length,i=0;
236if(isArrayLike(obj)){
237length=obj.length;
238for(;i<length;i++){
239if(callback.call(obj[i],i,obj[i])===false){
240break;
241}
242}
243}else{
244for(i in obj){
245if(callback.call(obj[i],i,obj[i])===false){
246break;
247}
248}
249}
250return obj;
251},
252text:function(elem){
253var node,
254ret="",
255i=0,
256nodeType=elem.nodeType;
257if(!nodeType){
258while((node=elem[i++])){
259ret+=jQuery.text(node);
260}
261}
262if(nodeType===1||nodeType===11){
263return elem.textContent;
264}
265if(nodeType===9){
266return elem.documentElement.textContent;
267}
268if(nodeType===3||nodeType===4){
269return elem.nodeValue;
270}
271return ret;
272},
273makeArray:function(arr,results){
274var ret=results||[];
275if(arr!=null){
276if(isArrayLike(Object(arr))){
277jQuery.merge(ret,
278typeof arr==="string"?
279[arr]:arr
280);
281}else{
282push.call(ret,arr);
283}
284}
285return ret;
286},
287inArray:function(elem,arr,i){
288return arr==null?-1:indexOf.call(arr,elem,i);
289},
290isXMLDoc:function(elem){
291var namespace=elem&&elem.namespaceURI,
292docElem=elem&&(elem.ownerDocument||elem).documentElement;
293return!rhtmlSuffix.test(namespace||docElem&&docElem.nodeName||"HTML");
294},
295merge:function(first,second){
296var len=+second.length,
297j=0,
298i=first.length;
299for(;j<len;j++){
300first[i++]=second[j];
301}
302first.length=i;
303return first;
304},
305grep:function(elems,callback,invert){
306var callbackInverse,
307matches=[],
308i=0,
309length=elems.length,
310callbackExpect=!invert;
311for(;i<length;i++){
312callbackInverse=!callback(elems[i],i);
313if(callbackInverse!==callbackExpect){
314matches.push(elems[i]);
315}
316}
317return matches;
318},
319map:function(elems,callback,arg){
320var length,value,
321i=0,
322ret=[];
323if(isArrayLike(elems)){
324length=elems.length;
325for(;i<length;i++){
326value=callback(elems[i],i,arg);
327if(value!=null){
328ret.push(value);
329}
330}
331}else{
332for(i in elems){
333value=callback(elems[i],i,arg);
334if(value!=null){
335ret.push(value);
336}
337}
338}
339return flat(ret);
340},
341guid:1,
342support:support
343});
344if(typeof Symbol==="function"){
345jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];
346}
347jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),
348function(_i,name){
349class2type["[object "+name+"]"]=name.toLowerCase();
350});
351function isArrayLike(obj){
352var length=!!obj&&"length"in obj&&obj.length,
353type=toType(obj);
354if(isFunction(obj)||isWindow(obj)){
355return false;
356}
357return type==="array"||length===0||
358typeof length==="number"&&length>0&&(length-1)in obj;
359}
360function nodeName(elem,name){
361return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();
362}
363var pop=arr.pop;
364var sort=arr.sort;
365var splice=arr.splice;
366var whitespace="[\\x20\\t\\r\\n\\f]";
367var rtrimCSS=new RegExp(
368"^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$",
369"g"
370);
371jQuery.contains=function(a,b){
372var bup=b&&b.parentNode;
373return a===bup||!!(bup&&bup.nodeType===1&&(
374a.contains?
375a.contains(bup):
376a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16
377));
378};
379var rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;
380function fcssescape(ch,asCodePoint){
381if(asCodePoint){
382if(ch==="\0"){
383return"\uFFFD";
384}
385return ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ";
386}
387return"\\"+ch;
388}
389jQuery.escapeSelector=function(sel){
390return(sel+"").replace(rcssescape,fcssescape);
391};
392var preferredDoc=document,
393pushNative=push;
394(function(){
395var i,
396Expr,
397outermostContext,
398sortInput,
399hasDuplicate,
400push=pushNative,
401document,
402documentElement,
403documentIsHTML,
404rbuggyQSA,
405matches,
406expando=jQuery.expando,
407dirruns=0,
408done=0,
409classCache=createCache(),
410tokenCache=createCache(),
411compilerCache=createCache(),
412nonnativeSelectorCache=createCache(),
413sortOrder=function(a,b){
414if(a===b){
415hasDuplicate=true;
416}
417return 0;
418},
419booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|"+
420"loop|multiple|open|readonly|required|scoped",
421identifier="(?:\\\\[\\da-fA-F]{1,6}"+whitespace+
422"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
423attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+
424"*([*^$|!~]?=)"+whitespace+
425"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+
426whitespace+"*\\]",
427pseudos=":("+identifier+")(?:\\(("+
428"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+
429"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+
430".*"+
431")\\)|)",
432rwhitespace=new RegExp(whitespace+"+","g"),
433rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),
434rleadingCombinator=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+
435whitespace+"*"),
436rdescend=new RegExp(whitespace+"|>"),
437rpseudo=new RegExp(pseudos),
438ridentifier=new RegExp("^"+identifier+"$"),
439matchExpr={
440ID:new RegExp("^#("+identifier+")"),
441CLASS:new RegExp("^\\.("+identifier+")"),
442TAG:new RegExp("^("+identifier+"|[*])"),
443ATTR:new RegExp("^"+attributes),
444PSEUDO:new RegExp("^"+pseudos),
445CHILD:new RegExp(
446"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+
447whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+
448whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),
449bool:new RegExp("^(?:"+booleans+")$","i"),
450needsContext:new RegExp("^"+whitespace+
451"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+
452"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")
453},
454rinputs=/^(?:input|select|textarea|button)$/i,
455rheader=/^h\d$/i,
456rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
457rsibling=/[+~]/,
458runescape=new RegExp("\\\\[\\da-fA-F]{1,6}"+whitespace+
459"?|\\\\([^\\r\\n\\f])","g"),
460funescape=function(escape,nonHex){
461var high="0x"+escape.slice(1)-0x10000;
462if(nonHex){
463return nonHex;
464}
465return high<0?
466String.fromCharCode(high+0x10000):
467String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);
468},
469unloadHandler=function(){
470setDocument();
471},
472inDisabledFieldset=addCombinator(
473function(elem){
474return elem.disabled===true&&nodeName(elem,"fieldset");
475},
476{dir:"parentNode",next:"legend"}
477);
478function safeActiveElement(){
479try{
480return document.activeElement;
481}catch(err){}
482}
483try{
484push.apply(
485(arr=slice.call(preferredDoc.childNodes)),
486preferredDoc.childNodes
487);
488arr[preferredDoc.childNodes.length].nodeType;
489}catch(e){
490push={
491apply:function(target,els){
492pushNative.apply(target,slice.call(els));
493},
494call:function(target){
495pushNative.apply(target,slice.call(arguments,1));
496}
497};
498}
499function find(selector,context,results,seed){
500var m,i,elem,nid,match,groups,newSelector,
501newContext=context&&context.ownerDocument,
502nodeType=context?context.nodeType:9;
503results=results||[];
504if(typeof selector!=="string"||!selector||
505nodeType!==1&&nodeType!==9&&nodeType!==11){
506return results;
507}
508if(!seed){
509setDocument(context);
510context=context||document;
511if(documentIsHTML){
512if(nodeType!==11&&(match=rquickExpr.exec(selector))){
513if((m=match[1])){
514if(nodeType===9){
515if((elem=context.getElementById(m))){
516if(elem.id===m){
517push.call(results,elem);
518return results;
519}
520}else{
521return results;
522}
523}else{
524if(newContext&&(elem=newContext.getElementById(m))&&
525find.contains(context,elem)&&
526elem.id===m){
527push.call(results,elem);
528return results;
529}
530}
531}else if(match[2]){
532push.apply(results,context.getElementsByTagName(selector));
533return results;
534}else if((m=match[3])&&context.getElementsByClassName){
535push.apply(results,context.getElementsByClassName(m));
536return results;
537}
538}
539if(!nonnativeSelectorCache[selector+" "]&&
540(!rbuggyQSA||!rbuggyQSA.test(selector))){
541newSelector=selector;
542newContext=context;
543if(nodeType===1&&
544(rdescend.test(selector)||rleadingCombinator.test(selector))){
545newContext=rsibling.test(selector)&&testContext(context.parentNode)||
546context;
547if(newContext!=context||!support.scope){
548if((nid=context.getAttribute("id"))){
549nid=jQuery.escapeSelector(nid);
550}else{
551context.setAttribute("id",(nid=expando));
552}
553}
554groups=tokenize(selector);
555i=groups.length;
556while(i--){
557groups[i]=(nid?"#"+nid:":scope")+" "+
558toSelector(groups[i]);
559}
560newSelector=groups.join(",");
561}
562try{
563push.apply(results,
564newContext.querySelectorAll(newSelector)
565);
566return results;
567}catch(qsaError){
568nonnativeSelectorCache(selector,true);
569}finally{
570if(nid===expando){
571context.removeAttribute("id");
572}
573}
574}
575}
576}
577return select(selector.replace(rtrimCSS,"$1"),context,results,seed);
578}
579function createCache(){
580var keys=[];
581function cache(key,value){
582if(keys.push(key+" ")>Expr.cacheLength){
583delete cache[keys.shift()];
584}
585return(cache[key+" "]=value);
586}
587return cache;
588}
589function markFunction(fn){
590fn[expando]=true;
591return fn;
592}
593function assert(fn){
594var el=document.createElement("fieldset");
595try{
596return!!fn(el);
597}catch(e){
598return false;
599}finally{
600if(el.parentNode){
601el.parentNode.removeChild(el);
602}
603el=null;
604}
605}
606function createInputPseudo(type){
607return function(elem){
608return nodeName(elem,"input")&&elem.type===type;
609};
610}
611function createButtonPseudo(type){
612return function(elem){
613return(nodeName(elem,"input")||nodeName(elem,"button"))&&
614elem.type===type;
615};
616}
617function createDisabledPseudo(disabled){
618return function(elem){
619if("form"in elem){
620if(elem.parentNode&&elem.disabled===false){
621if("label"in elem){
622if("label"in elem.parentNode){
623return elem.parentNode.disabled===disabled;
624}else{
625return elem.disabled===disabled;
626}
627}
628return elem.isDisabled===disabled||
629elem.isDisabled!==!disabled&&
630inDisabledFieldset(elem)===disabled;
631}
632return elem.disabled===disabled;
633}else if("label"in elem){
634return elem.disabled===disabled;
635}
636return false;
637};
638}
639function createPositionalPseudo(fn){
640return markFunction(function(argument){
641argument=+argument;
642return markFunction(function(seed,matches){
643var j,
644matchIndexes=fn([],seed.length,argument),
645i=matchIndexes.length;
646while(i--){
647if(seed[(j=matchIndexes[i])]){
648seed[j]=!(matches[j]=seed[j]);
649}
650}
651});
652});
653}
654function testContext(context){
655return context&&typeof context.getElementsByTagName!=="undefined"&&context;
656}
657function setDocument(node){
658var subWindow,
659doc=node?node.ownerDocument||node:preferredDoc;
660if(doc==document||doc.nodeType!==9||!doc.documentElement){
661return document;
662}
663document=doc;
664documentElement=document.documentElement;
665documentIsHTML=!jQuery.isXMLDoc(document);
666matches=documentElement.matches||
667documentElement.webkitMatchesSelector||
668documentElement.msMatchesSelector;
669if(documentElement.msMatchesSelector&&
670preferredDoc!=document&&
671(subWindow=document.defaultView)&&subWindow.top!==subWindow){
672subWindow.addEventListener("unload",unloadHandler);
673}
674support.getById=assert(function(el){
675documentElement.appendChild(el).id=jQuery.expando;
676return!document.getElementsByName||
677!document.getElementsByName(jQuery.expando).length;
678});
679support.disconnectedMatch=assert(function(el){
680return matches.call(el,"*");
681});
682support.scope=assert(function(){
683return document.querySelectorAll(":scope");
684});
685support.cssHas=assert(function(){
686try{
687document.querySelector(":has(*,:jqfake)");
688return false;
689}catch(e){
690return true;
691}
692});
693if(support.getById){
694Expr.filter.ID=function(id){
695var attrId=id.replace(runescape,funescape);
696return function(elem){
697return elem.getAttribute("id")===attrId;
698};
699};
700Expr.find.ID=function(id,context){
701if(typeof context.getElementById!=="undefined"&&documentIsHTML){
702var elem=context.getElementById(id);
703return elem?[elem]:[];
704}
705};
706}else{
707Expr.filter.ID=function(id){
708var attrId=id.replace(runescape,funescape);
709return function(elem){
710var node=typeof elem.getAttributeNode!=="undefined"&&
711elem.getAttributeNode("id");
712return node&&node.value===attrId;
713};
714};
715Expr.find.ID=function(id,context){
716if(typeof context.getElementById!=="undefined"&&documentIsHTML){
717var node,i,elems,
718elem=context.getElementById(id);
719if(elem){
720node=elem.getAttributeNode("id");
721if(node&&node.value===id){
722return[elem];
723}
724elems=context.getElementsByName(id);
725i=0;
726while((elem=elems[i++])){
727node=elem.getAttributeNode("id");
728if(node&&node.value===id){
729return[elem];
730}
731}
732}
733return[];
734}
735};
736}
737Expr.find.TAG=function(tag,context){
738if(typeof context.getElementsByTagName!=="undefined"){
739return context.getElementsByTagName(tag);
740}else{
741return context.querySelectorAll(tag);
742}
743};
744Expr.find.CLASS=function(className,context){
745if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){
746return context.getElementsByClassName(className);
747}
748};
749rbuggyQSA=[];
750assert(function(el){
751var input;
752documentElement.appendChild(el).innerHTML=
753"<a id='"+expando+"' href='' disabled='disabled'></a>"+
754"<select id='"+expando+"-\r\\' disabled='disabled'>"+
755"<option selected=''></option></select>";
756if(!el.querySelectorAll("[selected]").length){
757rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");
758}
759if(!el.querySelectorAll("[id~="+expando+"-]").length){
760rbuggyQSA.push("~=");
761}
762if(!el.querySelectorAll("a#"+expando+"+*").length){
763rbuggyQSA.push(".#.+[+~]");
764}
765if(!el.querySelectorAll(":checked").length){
766rbuggyQSA.push(":checked");
767}
768input=document.createElement("input");
769input.setAttribute("type","hidden");
770el.appendChild(input).setAttribute("name","D");
771documentElement.appendChild(el).disabled=true;
772if(el.querySelectorAll(":disabled").length!==2){
773rbuggyQSA.push(":enabled",":disabled");
774}
775input=document.createElement("input");
776input.setAttribute("name","");
777el.appendChild(input);
778if(!el.querySelectorAll("[name='']").length){
779rbuggyQSA.push("\\["+whitespace+"*name"+whitespace+"*="+
780whitespace+"*(?:''|\"\")");
781}
782});
783if(!support.cssHas){
784rbuggyQSA.push(":has");
785}
786rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));
787sortOrder=function(a,b){
788if(a===b){
789hasDuplicate=true;
790return 0;
791}
792var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;
793if(compare){
794return compare;
795}
796compare=(a.ownerDocument||a)==(b.ownerDocument||b)?
797a.compareDocumentPosition(b):
7981;
799if(compare&1||
800(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){
801if(a===document||a.ownerDocument==preferredDoc&&
802find.contains(preferredDoc,a)){
803return-1;
804}
805if(b===document||b.ownerDocument==preferredDoc&&
806find.contains(preferredDoc,b)){
807return 1;
808}
809return sortInput?
810(indexOf.call(sortInput,a)-indexOf.call(sortInput,b)):
8110;
812}
813return compare&4?-1:1;
814};
815return document;
816}
817find.matches=function(expr,elements){
818return find(expr,null,null,elements);
819};
820find.matchesSelector=function(elem,expr){
821setDocument(elem);
822if(documentIsHTML&&
823!nonnativeSelectorCache[expr+" "]&&
824(!rbuggyQSA||!rbuggyQSA.test(expr))){
825try{
826var ret=matches.call(elem,expr);
827if(ret||support.disconnectedMatch||
828elem.document&&elem.document.nodeType!==11){
829return ret;
830}
831}catch(e){
832nonnativeSelectorCache(expr,true);
833}
834}
835return find(expr,document,null,[elem]).length>0;
836};
837find.contains=function(context,elem){
838if((context.ownerDocument||context)!=document){
839setDocument(context);
840}
841return jQuery.contains(context,elem);
842};
843find.attr=function(elem,name){
844if((elem.ownerDocument||elem)!=document){
845setDocument(elem);
846}
847var fn=Expr.attrHandle[name.toLowerCase()],
848val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?
849fn(elem,name,!documentIsHTML):
850undefined;
851if(val!==undefined){
852return val;
853}
854return elem.getAttribute(name);
855};
856find.error=function(msg){
857throw new Error("Syntax error, unrecognized expression: "+msg);
858};
859jQuery.uniqueSort=function(results){
860var elem,
861duplicates=[],
862j=0,
863i=0;
864hasDuplicate=!support.sortStable;
865sortInput=!support.sortStable&&slice.call(results,0);
866sort.call(results,sortOrder);
867if(hasDuplicate){
868while((elem=results[i++])){
869if(elem===results[i]){
870j=duplicates.push(i);
871}
872}
873while(j--){
874splice.call(results,duplicates[j],1);
875}
876}
877sortInput=null;
878return results;
879};
880jQuery.fn.uniqueSort=function(){
881return this.pushStack(jQuery.uniqueSort(slice.apply(this)));
882};
883Expr=jQuery.expr={
884cacheLength:50,
885createPseudo:markFunction,
886match:matchExpr,
887attrHandle:{},
888find:{},
889relative:{
890">":{dir:"parentNode",first:true},
891" ":{dir:"parentNode"},
892"+":{dir:"previousSibling",first:true},
893"~":{dir:"previousSibling"}
894},
895preFilter:{
896ATTR:function(match){
897match[1]=match[1].replace(runescape,funescape);
898match[3]=(match[3]||match[4]||match[5]||"")
899.replace(runescape,funescape);
900if(match[2]==="~="){
901match[3]=" "+match[3]+" ";
902}
903return match.slice(0,4);
904},
905CHILD:function(match){
906match[1]=match[1].toLowerCase();
907if(match[1].slice(0,3)==="nth"){
908if(!match[3]){
909find.error(match[0]);
910}
911match[4]=+(match[4]?
912match[5]+(match[6]||1):
9132*(match[3]==="even"||match[3]==="odd")
914);
915match[5]=+((match[7]+match[8])||match[3]==="odd");
916}else if(match[3]){
917find.error(match[0]);
918}
919return match;
920},
921PSEUDO:function(match){
922var excess,
923unquoted=!match[6]&&match[2];
924if(matchExpr.CHILD.test(match[0])){
925return null;
926}
927if(match[3]){
928match[2]=match[4]||match[5]||"";
929}else if(unquoted&&rpseudo.test(unquoted)&&
930(excess=tokenize(unquoted,true))&&
931(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){
932match[0]=match[0].slice(0,excess);
933match[2]=unquoted.slice(0,excess);
934}
935return match.slice(0,3);
936}
937},
938filter:{
939TAG:function(nodeNameSelector){
940var expectedNodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();
941return nodeNameSelector==="*"?
942function(){
943return true;
944}:
945function(elem){
946return nodeName(elem,expectedNodeName);
947};
948},
949CLASS:function(className){
950var pattern=classCache[className+" "];
951return pattern||
952(pattern=new RegExp("(^|"+whitespace+")"+className+
953"("+whitespace+"|$)"))&&
954classCache(className,function(elem){
955return pattern.test(
956typeof elem.className==="string"&&elem.className||
957typeof elem.getAttribute!=="undefined"&&
958elem.getAttribute("class")||
959""
960);
961});
962},
963ATTR:function(name,operator,check){
964return function(elem){
965var result=find.attr(elem,name);
966if(result==null){
967return operator==="!=";
968}
969if(!operator){
970return true;
971}
972result+="";
973if(operator==="="){
974return result===check;
975}
976if(operator==="!="){
977return result!==check;
978}
979if(operator==="^="){
980return check&&result.indexOf(check)===0;
981}
982if(operator==="*="){
983return check&&result.indexOf(check)>-1;
984}
985if(operator==="$="){
986return check&&result.slice(-check.length)===check;
987}
988if(operator==="~="){
989return(" "+result.replace(rwhitespace," ")+" ")
990.indexOf(check)>-1;
991}
992if(operator==="|="){
993return result===check||result.slice(0,check.length+1)===check+"-";
994}
995return false;
996};
997},
998CHILD:function(type,what,_argument,first,last){
999var simple=type.slice(0,3)!=="nth",
1000forward=type.slice(-4)!=="last",
1001ofType=what==="of-type";
1002return first===1&&last===0?
1003function(elem){
1004return!!elem.parentNode;
1005}:
1006function(elem,_context,xml){
1007var cache,outerCache,node,nodeIndex,start,
1008dir=simple!==forward?"nextSibling":"previousSibling",
1009parent=elem.parentNode,
1010name=ofType&&elem.nodeName.toLowerCase(),
1011useCache=!xml&&!ofType,
1012diff=false;
1013if(parent){
1014if(simple){
1015while(dir){
1016node=elem;
1017while((node=node[dir])){
1018if(ofType?
1019nodeName(node,name):
1020node.nodeType===1){
1021return false;
1022}
1023}
1024start=dir=type==="only"&&!start&&"nextSibling";
1025}
1026return true;
1027}
1028start=[forward?parent.firstChild:parent.lastChild];
1029if(forward&&useCache){
1030outerCache=parent[expando]||(parent[expando]={});
1031cache=outerCache[type]||[];
1032nodeIndex=cache[0]===dirruns&&cache[1];
1033diff=nodeIndex&&cache[2];
1034node=nodeIndex&&parent.childNodes[nodeIndex];
1035while((node=++nodeIndex&&node&&node[dir]||
1036(diff=nodeIndex=0)||start.pop())){
1037if(node.nodeType===1&&++diff&&node===elem){
1038outerCache[type]=[dirruns,nodeIndex,diff];
1039break;
1040}
1041}
1042}else{
1043if(useCache){
1044outerCache=elem[expando]||(elem[expando]={});
1045cache=outerCache[type]||[];
1046nodeIndex=cache[0]===dirruns&&cache[1];
1047diff=nodeIndex;
1048}
1049if(diff===false){
1050while((node=++nodeIndex&&node&&node[dir]||
1051(diff=nodeIndex=0)||start.pop())){
1052if((ofType?
1053nodeName(node,name):
1054node.nodeType===1)&&
1055++diff){
1056if(useCache){
1057outerCache=node[expando]||
1058(node[expando]={});
1059outerCache[type]=[dirruns,diff];
1060}
1061if(node===elem){
1062break;
1063}
1064}
1065}
1066}
1067}
1068diff-=last;
1069return diff===first||(diff%first===0&&diff/first>=0);
1070}
1071};
1072},
1073PSEUDO:function(pseudo,argument){
1074var args,
1075fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||
1076find.error("unsupported pseudo: "+pseudo);
1077if(fn[expando]){
1078return fn(argument);
1079}
1080if(fn.length>1){
1081args=[pseudo,pseudo,"",argument];
1082return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?
1083markFunction(function(seed,matches){
1084var idx,
1085matched=fn(seed,argument),
1086i=matched.length;
1087while(i--){
1088idx=indexOf.call(seed,matched[i]);
1089seed[idx]=!(matches[idx]=matched[i]);
1090}
1091}):
1092function(elem){
1093return fn(elem,0,args);
1094};
1095}
1096return fn;
1097}
1098},
1099pseudos:{
1100not:markFunction(function(selector){
1101var input=[],
1102results=[],
1103matcher=compile(selector.replace(rtrimCSS,"$1"));
1104return matcher[expando]?
1105markFunction(function(seed,matches,_context,xml){
1106var elem,
1107unmatched=matcher(seed,null,xml,[]),
1108i=seed.length;
1109while(i--){
1110if((elem=unmatched[i])){
1111seed[i]=!(matches[i]=elem);
1112}
1113}
1114}):
1115function(elem,_context,xml){
1116input[0]=elem;
1117matcher(input,null,xml,results);
1118input[0]=null;
1119return!results.pop();
1120};
1121}),
1122has:markFunction(function(selector){
1123return function(elem){
1124return find(selector,elem).length>0;
1125};
1126}),
1127contains:markFunction(function(text){
1128text=text.replace(runescape,funescape);
1129return function(elem){
1130return(elem.textContent||jQuery.text(elem)).indexOf(text)>-1;
1131};
1132}),
1133lang:markFunction(function(lang){
1134if(!ridentifier.test(lang||"")){
1135find.error("unsupported lang: "+lang);
1136}
1137lang=lang.replace(runescape,funescape).toLowerCase();
1138return function(elem){
1139var elemLang;
1140do{
1141if((elemLang=documentIsHTML?
1142elem.lang:
1143elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){
1144elemLang=elemLang.toLowerCase();
1145return elemLang===lang||elemLang.indexOf(lang+"-")===0;
1146}
1147}while((elem=elem.parentNode)&&elem.nodeType===1);
1148return false;
1149};
1150}),
1151target:function(elem){
1152var hash=window.location&&window.location.hash;
1153return hash&&hash.slice(1)===elem.id;
1154},
1155root:function(elem){
1156return elem===documentElement;
1157},
1158focus:function(elem){
1159return elem===safeActiveElement()&&
1160document.hasFocus()&&
1161!!(elem.type||elem.href||~elem.tabIndex);
1162},
1163enabled:createDisabledPseudo(false),
1164disabled:createDisabledPseudo(true),
1165checked:function(elem){
1166return(nodeName(elem,"input")&&!!elem.checked)||
1167(nodeName(elem,"option")&&!!elem.selected);
1168},
1169selected:function(elem){
1170if(elem.parentNode){
1171elem.parentNode.selectedIndex;
1172}
1173return elem.selected===true;
1174},
1175empty:function(elem){
1176for(elem=elem.firstChild;elem;elem=elem.nextSibling){
1177if(elem.nodeType<6){
1178return false;
1179}
1180}
1181return true;
1182},
1183parent:function(elem){
1184return!Expr.pseudos.empty(elem);
1185},
1186header:function(elem){
1187return rheader.test(elem.nodeName);
1188},
1189input:function(elem){
1190return rinputs.test(elem.nodeName);
1191},
1192button:function(elem){
1193return nodeName(elem,"input")&&elem.type==="button"||
1194nodeName(elem,"button");
1195},
1196text:function(elem){
1197var attr;
1198return nodeName(elem,"input")&&elem.type==="text"&&
1199((attr=elem.getAttribute("type"))==null||
1200attr.toLowerCase()==="text");
1201},
1202first:createPositionalPseudo(function(){
1203return[0];
1204}),
1205last:createPositionalPseudo(function(_matchIndexes,length){
1206return[length-1];
1207}),
1208eq:createPositionalPseudo(function(_matchIndexes,length,argument){
1209return[argument<0?argument+length:argument];
1210}),
1211even:createPositionalPseudo(function(matchIndexes,length){
1212var i=0;
1213for(;i<length;i+=2){
1214matchIndexes.push(i);
1215}
1216return matchIndexes;
1217}),
1218odd:createPositionalPseudo(function(matchIndexes,length){
1219var i=1;
1220for(;i<length;i+=2){
1221matchIndexes.push(i);
1222}
1223return matchIndexes;
1224}),
1225lt:createPositionalPseudo(function(matchIndexes,length,argument){
1226var i;
1227if(argument<0){
1228i=argument+length;
1229}else if(argument>length){
1230i=length;
1231}else{
1232i=argument;
1233}
1234for(;--i>=0;){
1235matchIndexes.push(i);
1236}
1237return matchIndexes;
1238}),
1239gt:createPositionalPseudo(function(matchIndexes,length,argument){
1240var i=argument<0?argument+length:argument;
1241for(;++i<length;){
1242matchIndexes.push(i);
1243}
1244return matchIndexes;
1245})
1246}
1247};
1248Expr.pseudos.nth=Expr.pseudos.eq;
1249for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){
1250Expr.pseudos[i]=createInputPseudo(i);
1251}
1252for(i in{submit:true,reset:true}){
1253Expr.pseudos[i]=createButtonPseudo(i);
1254}
1255function setFilters(){}
1256setFilters.prototype=Expr.filters=Expr.pseudos;
1257Expr.setFilters=new setFilters();
1258function tokenize(selector,parseOnly){
1259var matched,match,tokens,type,
1260soFar,groups,preFilters,
1261cached=tokenCache[selector+" "];
1262if(cached){
1263return parseOnly?0:cached.slice(0);
1264}
1265soFar=selector;
1266groups=[];
1267preFilters=Expr.preFilter;
1268while(soFar){
1269if(!matched||(match=rcomma.exec(soFar))){
1270if(match){
1271soFar=soFar.slice(match[0].length)||soFar;
1272}
1273groups.push((tokens=[]));
1274}
1275matched=false;
1276if((match=rleadingCombinator.exec(soFar))){
1277matched=match.shift();
1278tokens.push({
1279value:matched,
1280type:match[0].replace(rtrimCSS," ")
1281});
1282soFar=soFar.slice(matched.length);
1283}
1284for(type in Expr.filter){
1285if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||
1286(match=preFilters[type](match)))){
1287matched=match.shift();
1288tokens.push({
1289value:matched,
1290type:type,
1291matches:match
1292});
1293soFar=soFar.slice(matched.length);
1294}
1295}
1296if(!matched){
1297break;
1298}
1299}
1300if(parseOnly){
1301return soFar.length;
1302}
1303return soFar?
1304find.error(selector):
1305tokenCache(selector,groups).slice(0);
1306}
1307function toSelector(tokens){
1308var i=0,
1309len=tokens.length,
1310selector="";
1311for(;i<len;i++){
1312selector+=tokens[i].value;
1313}
1314return selector;
1315}
1316function addCombinator(matcher,combinator,base){
1317var dir=combinator.dir,
1318skip=combinator.next,
1319key=skip||dir,
1320checkNonElements=base&&key==="parentNode",
1321doneName=done++;
1322return combinator.first?
1323function(elem,context,xml){
1324while((elem=elem[dir])){
1325if(elem.nodeType===1||checkNonElements){
1326return matcher(elem,context,xml);
1327}
1328}
1329return false;
1330}:
1331function(elem,context,xml){
1332var oldCache,outerCache,
1333newCache=[dirruns,doneName];
1334if(xml){
1335while((elem=elem[dir])){
1336if(elem.nodeType===1||checkNonElements){
1337if(matcher(elem,context,xml)){
1338return true;
1339}
1340}
1341}
1342}else{
1343while((elem=elem[dir])){
1344if(elem.nodeType===1||checkNonElements){
1345outerCache=elem[expando]||(elem[expando]={});
1346if(skip&&nodeName(elem,skip)){
1347elem=elem[dir]||elem;
1348}else if((oldCache=outerCache[key])&&
1349oldCache[0]===dirruns&&oldCache[1]===doneName){
1350return(newCache[2]=oldCache[2]);
1351}else{
1352outerCache[key]=newCache;
1353if((newCache[2]=matcher(elem,context,xml))){
1354return true;
1355}
1356}
1357}
1358}
1359}
1360return false;
1361};
1362}
1363function elementMatcher(matchers){
1364return matchers.length>1?
1365function(elem,context,xml){
1366var i=matchers.length;
1367while(i--){
1368if(!matchers[i](elem,context,xml)){
1369return false;
1370}
1371}
1372return true;
1373}:
1374matchers[0];
1375}
1376function multipleContexts(selector,contexts,results){
1377var i=0,
1378len=contexts.length;
1379for(;i<len;i++){
1380find(selector,contexts[i],results);
1381}
1382return results;
1383}
1384function condense(unmatched,map,filter,context,xml){
1385var elem,
1386newUnmatched=[],
1387i=0,
1388len=unmatched.length,
1389mapped=map!=null;
1390for(;i<len;i++){
1391if((elem=unmatched[i])){
1392if(!filter||filter(elem,context,xml)){
1393newUnmatched.push(elem);
1394if(mapped){
1395map.push(i);
1396}
1397}
1398}
1399}
1400return newUnmatched;
1401}
1402function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){
1403if(postFilter&&!postFilter[expando]){
1404postFilter=setMatcher(postFilter);
1405}
1406if(postFinder&&!postFinder[expando]){
1407postFinder=setMatcher(postFinder,postSelector);
1408}
1409return markFunction(function(seed,results,context,xml){
1410var temp,i,elem,matcherOut,
1411preMap=[],
1412postMap=[],
1413preexisting=results.length,
1414elems=seed||
1415multipleContexts(selector||"*",
1416context.nodeType?[context]:context,[]),
1417matcherIn=preFilter&&(seed||!selector)?
1418condense(elems,preMap,preFilter,context,xml):
1419elems;
1420if(matcher){
1421matcherOut=postFinder||(seed?preFilter:preexisting||postFilter)?
1422[]:
1423results;
1424matcher(matcherIn,matcherOut,context,xml);
1425}else{
1426matcherOut=matcherIn;
1427}
1428if(postFilter){
1429temp=condense(matcherOut,postMap);
1430postFilter(temp,[],context,xml);
1431i=temp.length;
1432while(i--){
1433if((elem=temp[i])){
1434matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);
1435}
1436}
1437}
1438if(seed){
1439if(postFinder||preFilter){
1440if(postFinder){
1441temp=[];
1442i=matcherOut.length;
1443while(i--){
1444if((elem=matcherOut[i])){
1445temp.push((matcherIn[i]=elem));
1446}
1447}
1448postFinder(null,(matcherOut=[]),temp,xml);
1449}
1450i=matcherOut.length;
1451while(i--){
1452if((elem=matcherOut[i])&&
1453(temp=postFinder?indexOf.call(seed,elem):preMap[i])>-1){
1454seed[temp]=!(results[temp]=elem);
1455}
1456}
1457}
1458}else{
1459matcherOut=condense(
1460matcherOut===results?
1461matcherOut.splice(preexisting,matcherOut.length):
1462matcherOut
1463);
1464if(postFinder){
1465postFinder(null,results,matcherOut,xml);
1466}else{
1467push.apply(results,matcherOut);
1468}
1469}
1470});
1471}
1472function matcherFromTokens(tokens){
1473var checkContext,matcher,j,
1474len=tokens.length,
1475leadingRelative=Expr.relative[tokens[0].type],
1476implicitRelative=leadingRelative||Expr.relative[" "],
1477i=leadingRelative?1:0,
1478matchContext=addCombinator(function(elem){
1479return elem===checkContext;
1480},implicitRelative,true),
1481matchAnyContext=addCombinator(function(elem){
1482return indexOf.call(checkContext,elem)>-1;
1483},implicitRelative,true),
1484matchers=[function(elem,context,xml){
1485var ret=(!leadingRelative&&(xml||context!=outermostContext))||(
1486(checkContext=context).nodeType?
1487matchContext(elem,context,xml):
1488matchAnyContext(elem,context,xml));
1489checkContext=null;
1490return ret;
1491}];
1492for(;i<len;i++){
1493if((matcher=Expr.relative[tokens[i].type])){
1494matchers=[addCombinator(elementMatcher(matchers),matcher)];
1495}else{
1496matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);
1497if(matcher[expando]){
1498j=++i;
1499for(;j<len;j++){
1500if(Expr.relative[tokens[j].type]){
1501break;
1502}
1503}
1504return setMatcher(
1505i>1&&elementMatcher(matchers),
1506i>1&&toSelector(
1507tokens.slice(0,i-1)
1508.concat({value:tokens[i-2].type===" "?"*":""})
1509).replace(rtrimCSS,"$1"),
1510matcher,
1511i<j&&matcherFromTokens(tokens.slice(i,j)),
1512j<len&&matcherFromTokens((tokens=tokens.slice(j))),
1513j<len&&toSelector(tokens)
1514);
1515}
1516matchers.push(matcher);
1517}
1518}
1519return elementMatcher(matchers);
1520}
1521function matcherFromGroupMatchers(elementMatchers,setMatchers){
1522var bySet=setMatchers.length>0,
1523byElement=elementMatchers.length>0,
1524superMatcher=function(seed,context,xml,results,outermost){
1525var elem,j,matcher,
1526matchedCount=0,
1527i="0",
1528unmatched=seed&&[],
1529setMatched=[],
1530contextBackup=outermostContext,
1531elems=seed||byElement&&Expr.find.TAG("*",outermost),
1532dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),
1533len=elems.length;
1534if(outermost){
1535outermostContext=context==document||context||outermost;
1536}
1537for(;i!==len&&(elem=elems[i])!=null;i++){
1538if(byElement&&elem){
1539j=0;
1540if(!context&&elem.ownerDocument!=document){
1541setDocument(elem);
1542xml=!documentIsHTML;
1543}
1544while((matcher=elementMatchers[j++])){
1545if(matcher(elem,context||document,xml)){
1546push.call(results,elem);
1547break;
1548}
1549}
1550if(outermost){
1551dirruns=dirrunsUnique;
1552}
1553}
1554if(bySet){
1555if((elem=!matcher&&elem)){
1556matchedCount--;
1557}
1558if(seed){
1559unmatched.push(elem);
1560}
1561}
1562}
1563matchedCount+=i;
1564if(bySet&&i!==matchedCount){
1565j=0;
1566while((matcher=setMatchers[j++])){
1567matcher(unmatched,setMatched,context,xml);
1568}
1569if(seed){
1570if(matchedCount>0){
1571while(i--){
1572if(!(unmatched[i]||setMatched[i])){
1573setMatched[i]=pop.call(results);
1574}
1575}
1576}
1577setMatched=condense(setMatched);
1578}
1579push.apply(results,setMatched);
1580if(outermost&&!seed&&setMatched.length>0&&
1581(matchedCount+setMatchers.length)>1){
1582jQuery.uniqueSort(results);
1583}
1584}
1585if(outermost){
1586dirruns=dirrunsUnique;
1587outermostContext=contextBackup;
1588}
1589return unmatched;
1590};
1591return bySet?
1592markFunction(superMatcher):
1593superMatcher;
1594}
1595function compile(selector,match){
1596var i,
1597setMatchers=[],
1598elementMatchers=[],
1599cached=compilerCache[selector+" "];
1600if(!cached){
1601if(!match){
1602match=tokenize(selector);
1603}
1604i=match.length;
1605while(i--){
1606cached=matcherFromTokens(match[i]);
1607if(cached[expando]){
1608setMatchers.push(cached);
1609}else{
1610elementMatchers.push(cached);
1611}
1612}
1613cached=compilerCache(selector,
1614matcherFromGroupMatchers(elementMatchers,setMatchers));
1615cached.selector=selector;
1616}
1617return cached;
1618}
1619function select(selector,context,results,seed){
1620var i,tokens,token,type,find,
1621compiled=typeof selector==="function"&&selector,
1622match=!seed&&tokenize((selector=compiled.selector||selector));
1623results=results||[];
1624if(match.length===1){
1625tokens=match[0]=match[0].slice(0);
1626if(tokens.length>2&&(token=tokens[0]).type==="ID"&&
1627context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){
1628context=(Expr.find.ID(
1629token.matches[0].replace(runescape,funescape),
1630context
1631)||[])[0];
1632if(!context){
1633return results;
1634}else if(compiled){
1635context=context.parentNode;
1636}
1637selector=selector.slice(tokens.shift().value.length);
1638}
1639i=matchExpr.needsContext.test(selector)?0:tokens.length;
1640while(i--){
1641token=tokens[i];
1642if(Expr.relative[(type=token.type)]){
1643break;
1644}
1645if((find=Expr.find[type])){
1646if((seed=find(
1647token.matches[0].replace(runescape,funescape),
1648rsibling.test(tokens[0].type)&&
1649testContext(context.parentNode)||context
1650))){
1651tokens.splice(i,1);
1652selector=seed.length&&toSelector(tokens);
1653if(!selector){
1654push.apply(results,seed);
1655return results;
1656}
1657break;
1658}
1659}
1660}
1661}
1662(compiled||compile(selector,match))(
1663seed,
1664context,
1665!documentIsHTML,
1666results,
1667!context||rsibling.test(selector)&&testContext(context.parentNode)||context
1668);
1669return results;
1670}
1671support.sortStable=expando.split("").sort(sortOrder).join("")===expando;
1672setDocument();
1673support.sortDetached=assert(function(el){
1674return el.compareDocumentPosition(document.createElement("fieldset"))&1;
1675});
1676jQuery.find=find;
1677jQuery.expr[":"]=jQuery.expr.pseudos;
1678jQuery.unique=jQuery.uniqueSort;
1679find.compile=compile;
1680find.select=select;
1681find.setDocument=setDocument;
1682find.tokenize=tokenize;
1683find.escape=jQuery.escapeSelector;
1684find.getText=jQuery.text;
1685find.isXML=jQuery.isXMLDoc;
1686find.selectors=jQuery.expr;
1687find.support=jQuery.support;
1688find.uniqueSort=jQuery.uniqueSort;
1689})();
1690var dir=function(elem,dir,until){
1691var matched=[],
1692truncate=until!==undefined;
1693while((elem=elem[dir])&&elem.nodeType!==9){
1694if(elem.nodeType===1){
1695if(truncate&&jQuery(elem).is(until)){
1696break;
1697}
1698matched.push(elem);
1699}
1700}
1701return matched;
1702};
1703var siblings=function(n,elem){
1704var matched=[];
1705for(;n;n=n.nextSibling){
1706if(n.nodeType===1&&n!==elem){
1707matched.push(n);
1708}
1709}
1710return matched;
1711};
1712var rneedsContext=jQuery.expr.match.needsContext;
1713var rsingleTag=(/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i);
1714function winnow(elements,qualifier,not){
1715if(isFunction(qualifier)){
1716return jQuery.grep(elements,function(elem,i){
1717return!!qualifier.call(elem,i,elem)!==not;
1718});
1719}
1720if(qualifier.nodeType){
1721return jQuery.grep(elements,function(elem){
1722return(elem===qualifier)!==not;
1723});
1724}
1725if(typeof qualifier!=="string"){
1726return jQuery.grep(elements,function(elem){
1727return(indexOf.call(qualifier,elem)>-1)!==not;
1728});
1729}
1730return jQuery.filter(qualifier,elements,not);
1731}
1732jQuery.filter=function(expr,elems,not){
1733var elem=elems[0];
1734if(not){
1735expr=":not("+expr+")";
1736}
1737if(elems.length===1&&elem.nodeType===1){
1738return jQuery.find.matchesSelector(elem,expr)?[elem]:[];
1739}
1740return jQuery.find.matches(expr,jQuery.grep(elems,function(elem){
1741return elem.nodeType===1;
1742}));
1743};
1744jQuery.fn.extend({
1745find:function(selector){
1746var i,ret,
1747len=this.length,
1748self=this;
1749if(typeof selector!=="string"){
1750return this.pushStack(jQuery(selector).filter(function(){
1751for(i=0;i<len;i++){
1752if(jQuery.contains(self[i],this)){
1753return true;
1754}
1755}
1756}));
1757}
1758ret=this.pushStack([]);
1759for(i=0;i<len;i++){
1760jQuery.find(selector,self[i],ret);
1761}
1762return len>1?jQuery.uniqueSort(ret):ret;
1763},
1764filter:function(selector){
1765return this.pushStack(winnow(this,selector||[],false));
1766},
1767not:function(selector){
1768return this.pushStack(winnow(this,selector||[],true));
1769},
1770is:function(selector){
1771return!!winnow(
1772this,
1773typeof selector==="string"&&rneedsContext.test(selector)?
1774jQuery(selector):
1775selector||[],
1776false
1777).length;
1778}
1779});
1780var rootjQuery,
1781rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
1782init=jQuery.fn.init=function(selector,context,root){
1783var match,elem;
1784if(!selector){
1785return this;
1786}
1787root=root||rootjQuery;
1788if(typeof selector==="string"){
1789if(selector[0]==="<"&&
1790selector[selector.length-1]===">"&&
1791selector.length>=3){
1792match=[null,selector,null];
1793}else{
1794match=rquickExpr.exec(selector);
1795}
1796if(match&&(match[1]||!context)){
1797if(match[1]){
1798context=context instanceof jQuery?context[0]:context;
1799jQuery.merge(this,jQuery.parseHTML(
1800match[1],
1801context&&context.nodeType?context.ownerDocument||context:document,
1802true
1803));
1804if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){
1805for(match in context){
1806if(isFunction(this[match])){
1807this[match](context[match]);
1808}else{
1809this.attr(match,context[match]);
1810}
1811}
1812}
1813return this;
1814}else{
1815elem=document.getElementById(match[2]);
1816if(elem){
1817this[0]=elem;
1818this.length=1;
1819}
1820return this;
1821}
1822}else if(!context||context.jquery){
1823return(context||root).find(selector);
1824}else{
1825return this.constructor(context).find(selector);
1826}
1827}else if(selector.nodeType){
1828this[0]=selector;
1829this.length=1;
1830return this;
1831}else if(isFunction(selector)){
1832return root.ready!==undefined?
1833root.ready(selector):
1834selector(jQuery);
1835}
1836return jQuery.makeArray(selector,this);
1837};
1838init.prototype=jQuery.fn;
1839rootjQuery=jQuery(document);
1840var rparentsprev=/^(?:parents|prev(?:Until|All))/,
1841guaranteedUnique={
1842children:true,
1843contents:true,
1844next:true,
1845prev:true
1846};
1847jQuery.fn.extend({
1848has:function(target){
1849var targets=jQuery(target,this),
1850l=targets.length;
1851return this.filter(function(){
1852var i=0;
1853for(;i<l;i++){
1854if(jQuery.contains(this,targets[i])){
1855return true;
1856}
1857}
1858});
1859},
1860closest:function(selectors,context){
1861var cur,
1862i=0,
1863l=this.length,
1864matched=[],
1865targets=typeof selectors!=="string"&&jQuery(selectors);
1866if(!rneedsContext.test(selectors)){
1867for(;i<l;i++){
1868for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){
1869if(cur.nodeType<11&&(targets?
1870targets.index(cur)>-1:
1871cur.nodeType===1&&
1872jQuery.find.matchesSelector(cur,selectors))){
1873matched.push(cur);
1874break;
1875}
1876}
1877}
1878}
1879return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);
1880},
1881index:function(elem){
1882if(!elem){
1883return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;
1884}
1885if(typeof elem==="string"){
1886return indexOf.call(jQuery(elem),this[0]);
1887}
1888return indexOf.call(this,
1889elem.jquery?elem[0]:elem
1890);
1891},
1892add:function(selector,context){
1893return this.pushStack(
1894jQuery.uniqueSort(
1895jQuery.merge(this.get(),jQuery(selector,context))
1896)
1897);
1898},
1899addBack:function(selector){
1900return this.add(selector==null?
1901this.prevObject:this.prevObject.filter(selector)
1902);
1903}
1904});
1905function sibling(cur,dir){
1906while((cur=cur[dir])&&cur.nodeType!==1){}
1907return cur;
1908}
1909jQuery.each({
1910parent:function(elem){
1911var parent=elem.parentNode;
1912return parent&&parent.nodeType!==11?parent:null;
1913},
1914parents:function(elem){
1915return dir(elem,"parentNode");
1916},
1917parentsUntil:function(elem,_i,until){
1918return dir(elem,"parentNode",until);
1919},
1920next:function(elem){
1921return sibling(elem,"nextSibling");
1922},
1923prev:function(elem){
1924return sibling(elem,"previousSibling");
1925},
1926nextAll:function(elem){
1927return dir(elem,"nextSibling");
1928},
1929prevAll:function(elem){
1930return dir(elem,"previousSibling");
1931},
1932nextUntil:function(elem,_i,until){
1933return dir(elem,"nextSibling",until);
1934},
1935prevUntil:function(elem,_i,until){
1936return dir(elem,"previousSibling",until);
1937},
1938siblings:function(elem){
1939return siblings((elem.parentNode||{}).firstChild,elem);
1940},
1941children:function(elem){
1942return siblings(elem.firstChild);
1943},
1944contents:function(elem){
1945if(elem.contentDocument!=null&&
1946getProto(elem.contentDocument)){
1947return elem.contentDocument;
1948}
1949if(nodeName(elem,"template")){
1950elem=elem.content||elem;
1951}
1952return jQuery.merge([],elem.childNodes);
1953}
1954},function(name,fn){
1955jQuery.fn[name]=function(until,selector){
1956var matched=jQuery.map(this,fn,until);
1957if(name.slice(-5)!=="Until"){
1958selector=until;
1959}
1960if(selector&&typeof selector==="string"){
1961matched=jQuery.filter(selector,matched);
1962}
1963if(this.length>1){
1964if(!guaranteedUnique[name]){
1965jQuery.uniqueSort(matched);
1966}
1967if(rparentsprev.test(name)){
1968matched.reverse();
1969}
1970}
1971return this.pushStack(matched);
1972};
1973});
1974var rnothtmlwhite=(/[^\x20\t\r\n\f]+/g);
1975function createOptions(options){
1976var object={};
1977jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){
1978object[flag]=true;
1979});
1980return object;
1981}
1982jQuery.Callbacks=function(options){
1983options=typeof options==="string"?
1984createOptions(options):
1985jQuery.extend({},options);
1986var
1987firing,
1988memory,
1989fired,
1990locked,
1991list=[],
1992queue=[],
1993firingIndex=-1,
1994fire=function(){
1995locked=locked||options.once;
1996fired=firing=true;
1997for(;queue.length;firingIndex=-1){
1998memory=queue.shift();
1999while(++firingIndex<list.length){
2000if(list[firingIndex].apply(memory[0],memory[1])===false&&
2001options.stopOnFalse){
2002firingIndex=list.length;
2003memory=false;
2004}
2005}
2006}
2007if(!options.memory){
2008memory=false;
2009}
2010firing=false;
2011if(locked){
2012if(memory){
2013list=[];
2014}else{
2015list="";
2016}
2017}
2018},
2019self={
2020add:function(){
2021if(list){
2022if(memory&&!firing){
2023firingIndex=list.length-1;
2024queue.push(memory);
2025}
2026(function add(args){
2027jQuery.each(args,function(_,arg){
2028if(isFunction(arg)){
2029if(!options.unique||!self.has(arg)){
2030list.push(arg);
2031}
2032}else if(arg&&arg.length&&toType(arg)!=="string"){
2033add(arg);
2034}
2035});
2036})(arguments);
2037if(memory&&!firing){
2038fire();
2039}
2040}
2041return this;
2042},
2043remove:function(){
2044jQuery.each(arguments,function(_,arg){
2045var index;
2046while((index=jQuery.inArray(arg,list,index))>-1){
2047list.splice(index,1);
2048if(index<=firingIndex){
2049firingIndex--;
2050}
2051}
2052});
2053return this;
2054},
2055has:function(fn){
2056return fn?
2057jQuery.inArray(fn,list)>-1:
2058list.length>0;
2059},
2060empty:function(){
2061if(list){
2062list=[];
2063}
2064return this;
2065},
2066disable:function(){
2067locked=queue=[];
2068list=memory="";
2069return this;
2070},
2071disabled:function(){
2072return!list;
2073},
2074lock:function(){
2075locked=queue=[];
2076if(!memory&&!firing){
2077list=memory="";
2078}
2079return this;
2080},
2081locked:function(){
2082return!!locked;
2083},
2084fireWith:function(context,args){
2085if(!locked){
2086args=args||[];
2087args=[context,args.slice?args.slice():args];
2088queue.push(args);
2089if(!firing){
2090fire();
2091}
2092}
2093return this;
2094},
2095fire:function(){
2096self.fireWith(this,arguments);
2097return this;
2098},
2099fired:function(){
2100return!!fired;
2101}
2102};
2103return self;
2104};
2105function Identity(v){
2106return v;
2107}
2108function Thrower(ex){
2109throw ex;
2110}
2111function adoptValue(value,resolve,reject,noValue){
2112var method;
2113try{
2114if(value&&isFunction((method=value.promise))){
2115method.call(value).done(resolve).fail(reject);
2116}else if(value&&isFunction((method=value.then))){
2117method.call(value,resolve,reject);
2118}else{
2119resolve.apply(undefined,[value].slice(noValue));
2120}
2121}catch(value){
2122reject.apply(undefined,[value]);
2123}
2124}
2125jQuery.extend({
2126Deferred:function(func){
2127var tuples=[
2128["notify","progress",jQuery.Callbacks("memory"),
2129jQuery.Callbacks("memory"),2],
2130["resolve","done",jQuery.Callbacks("once memory"),
2131jQuery.Callbacks("once memory"),0,"resolved"],
2132["reject","fail",jQuery.Callbacks("once memory"),
2133jQuery.Callbacks("once memory"),1,"rejected"]
2134],
2135state="pending",
2136promise={
2137state:function(){
2138return state;
2139},
2140always:function(){
2141deferred.done(arguments).fail(arguments);
2142return this;
2143},
2144"catch":function(fn){
2145return promise.then(null,fn);
2146},
2147pipe:function(){
2148var fns=arguments;
2149return jQuery.Deferred(function(newDefer){
2150jQuery.each(tuples,function(_i,tuple){
2151var fn=isFunction(fns[tuple[4]])&&fns[tuple[4]];
2152deferred[tuple[1]](function(){
2153var returned=fn&&fn.apply(this,arguments);
2154if(returned&&isFunction(returned.promise)){
2155returned.promise()
2156.progress(newDefer.notify)
2157.done(newDefer.resolve)
2158.fail(newDefer.reject);
2159}else{
2160newDefer[tuple[0]+"With"](
2161this,
2162fn?[returned]:arguments
2163);
2164}
2165});
2166});
2167fns=null;
2168}).promise();
2169},
2170then:function(onFulfilled,onRejected,onProgress){
2171var maxDepth=0;
2172function resolve(depth,deferred,handler,special){
2173return function(){
2174var that=this,
2175args=arguments,
2176mightThrow=function(){
2177var returned,then;
2178if(depth<maxDepth){
2179return;
2180}
2181returned=handler.apply(that,args);
2182if(returned===deferred.promise()){
2183throw new TypeError("Thenable self-resolution");
2184}
2185then=returned&&
2186(typeof returned==="object"||
2187typeof returned==="function")&&
2188returned.then;
2189if(isFunction(then)){
2190if(special){
2191then.call(
2192returned,
2193resolve(maxDepth,deferred,Identity,special),
2194resolve(maxDepth,deferred,Thrower,special)
2195);
2196}else{
2197maxDepth++;
2198then.call(
2199returned,
2200resolve(maxDepth,deferred,Identity,special),
2201resolve(maxDepth,deferred,Thrower,special),
2202resolve(maxDepth,deferred,Identity,
2203deferred.notifyWith)
2204);
2205}
2206}else{
2207if(handler!==Identity){
2208that=undefined;
2209args=[returned];
2210}
2211(special||deferred.resolveWith)(that,args);
2212}
2213},
2214process=special?
2215mightThrow:
2216function(){
2217try{
2218mightThrow();
2219}catch(e){
2220if(jQuery.Deferred.exceptionHook){
2221jQuery.Deferred.exceptionHook(e,
2222process.error);
2223}
2224if(depth+1>=maxDepth){
2225if(handler!==Thrower){
2226that=undefined;
2227args=[e];
2228}
2229deferred.rejectWith(that,args);
2230}
2231}
2232};
2233if(depth){
2234process();
2235}else{
2236if(jQuery.Deferred.getErrorHook){
2237process.error=jQuery.Deferred.getErrorHook();
2238}else if(jQuery.Deferred.getStackHook){
2239process.error=jQuery.Deferred.getStackHook();
2240}
2241window.setTimeout(process);
2242}
2243};
2244}
2245return jQuery.Deferred(function(newDefer){
2246tuples[0][3].add(
2247resolve(
22480,
2249newDefer,
2250isFunction(onProgress)?
2251onProgress:
2252Identity,
2253newDefer.notifyWith
2254)
2255);
2256tuples[1][3].add(
2257resolve(
22580,
2259newDefer,
2260isFunction(onFulfilled)?
2261onFulfilled:
2262Identity
2263)
2264);
2265tuples[2][3].add(
2266resolve(
22670,
2268newDefer,
2269isFunction(onRejected)?
2270onRejected:
2271Thrower
2272)
2273);
2274}).promise();
2275},
2276promise:function(obj){
2277return obj!=null?jQuery.extend(obj,promise):promise;
2278}
2279},
2280deferred={};
2281jQuery.each(tuples,function(i,tuple){
2282var list=tuple[2],
2283stateString=tuple[5];
2284promise[tuple[1]]=list.add;
2285if(stateString){
2286list.add(
2287function(){
2288state=stateString;
2289},
2290tuples[3-i][2].disable,
2291tuples[3-i][3].disable,
2292tuples[0][2].lock,
2293tuples[0][3].lock
2294);
2295}
2296list.add(tuple[3].fire);
2297deferred[tuple[0]]=function(){
2298deferred[tuple[0]+"With"](this===deferred?undefined:this,arguments);
2299return this;
2300};
2301deferred[tuple[0]+"With"]=list.fireWith;
2302});
2303promise.promise(deferred);
2304if(func){
2305func.call(deferred,deferred);
2306}
2307return deferred;
2308},
2309when:function(singleValue){
2310var
2311remaining=arguments.length,
2312i=remaining,
2313resolveContexts=Array(i),
2314resolveValues=slice.call(arguments),
2315primary=jQuery.Deferred(),
2316updateFunc=function(i){
2317return function(value){
2318resolveContexts[i]=this;
2319resolveValues[i]=arguments.length>1?slice.call(arguments):value;
2320if(!(--remaining)){
2321primary.resolveWith(resolveContexts,resolveValues);
2322}
2323};
2324};
2325if(remaining<=1){
2326adoptValue(singleValue,primary.done(updateFunc(i)).resolve,primary.reject,
2327!remaining);
2328if(primary.state()==="pending"||
2329isFunction(resolveValues[i]&&resolveValues[i].then)){
2330return primary.then();
2331}
2332}
2333while(i--){
2334adoptValue(resolveValues[i],updateFunc(i),primary.reject);
2335}
2336return primary.promise();
2337}
2338});
2339var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
2340jQuery.Deferred.exceptionHook=function(error,asyncError){
2341if(window.console&&window.console.warn&&error&&rerrorNames.test(error.name)){
2342window.console.warn("jQuery.Deferred exception: "+error.message,
2343error.stack,asyncError);
2344}
2345};
2346jQuery.readyException=function(error){
2347window.setTimeout(function(){
2348throw error;
2349});
2350};
2351var readyList=jQuery.Deferred();
2352jQuery.fn.ready=function(fn){
2353readyList
2354.then(fn)
2355.catch(function(error){
2356jQuery.readyException(error);
2357});
2358return this;
2359};
2360jQuery.extend({
2361isReady:false,
2362readyWait:1,
2363ready:function(wait){
2364if(wait===true?--jQuery.readyWait:jQuery.isReady){
2365return;
2366}
2367jQuery.isReady=true;
2368if(wait!==true&&--jQuery.readyWait>0){
2369return;
2370}
2371readyList.resolveWith(document,[jQuery]);
2372}
2373});
2374jQuery.ready.then=readyList.then;
2375function completed(){
2376document.removeEventListener("DOMContentLoaded",completed);
2377window.removeEventListener("load",completed);
2378jQuery.ready();
2379}
2380if(document.readyState==="complete"||
2381(document.readyState!=="loading"&&!document.documentElement.doScroll)){
2382window.setTimeout(jQuery.ready);
2383}else{
2384document.addEventListener("DOMContentLoaded",completed);
2385window.addEventListener("load",completed);
2386}
2387var access=function(elems,fn,key,value,chainable,emptyGet,raw){
2388var i=0,
2389len=elems.length,
2390bulk=key==null;
2391if(toType(key)==="object"){
2392chainable=true;
2393for(i in key){
2394access(elems,fn,i,key[i],true,emptyGet,raw);
2395}
2396}else if(value!==undefined){
2397chainable=true;
2398if(!isFunction(value)){
2399raw=true;
2400}
2401if(bulk){
2402if(raw){
2403fn.call(elems,value);
2404fn=null;
2405}else{
2406bulk=fn;
2407fn=function(elem,_key,value){
2408return bulk.call(jQuery(elem),value);
2409};
2410}
2411}
2412if(fn){
2413for(;i<len;i++){
2414fn(
2415elems[i],key,raw?
2416value:
2417value.call(elems[i],i,fn(elems[i],key))
2418);
2419}
2420}
2421}
2422if(chainable){
2423return elems;
2424}
2425if(bulk){
2426return fn.call(elems);
2427}
2428return len?fn(elems[0],key):emptyGet;
2429};
2430var rmsPrefix=/^-ms-/,
2431rdashAlpha=/-([a-z])/g;
2432function fcamelCase(_all,letter){
2433return letter.toUpperCase();
2434}
2435function camelCase(string){
2436return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);
2437}
2438var acceptData=function(owner){
2439return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);
2440};
2441function Data(){
2442this.expando=jQuery.expando+Data.uid++;
2443}
2444Data.uid=1;
2445Data.prototype={
2446cache:function(owner){
2447var value=owner[this.expando];
2448if(!value){
2449value={};
2450if(acceptData(owner)){
2451if(owner.nodeType){
2452owner[this.expando]=value;
2453}else{
2454Object.defineProperty(owner,this.expando,{
2455value:value,
2456configurable:true
2457});
2458}
2459}
2460}
2461return value;
2462},
2463set:function(owner,data,value){
2464var prop,
2465cache=this.cache(owner);
2466if(typeof data==="string"){
2467cache[camelCase(data)]=value;
2468}else{
2469for(prop in data){
2470cache[camelCase(prop)]=data[prop];
2471}
2472}
2473return cache;
2474},
2475get:function(owner,key){
2476return key===undefined?
2477this.cache(owner):
2478owner[this.expando]&&owner[this.expando][camelCase(key)];
2479},
2480access:function(owner,key,value){
2481if(key===undefined||
2482((key&&typeof key==="string")&&value===undefined)){
2483return this.get(owner,key);
2484}
2485this.set(owner,key,value);
2486return value!==undefined?value:key;
2487},
2488remove:function(owner,key){
2489var i,
2490cache=owner[this.expando];
2491if(cache===undefined){
2492return;
2493}
2494if(key!==undefined){
2495if(Array.isArray(key)){
2496key=key.map(camelCase);
2497}else{
2498key=camelCase(key);
2499key=key in cache?
2500[key]:
2501(key.match(rnothtmlwhite)||[]);
2502}
2503i=key.length;
2504while(i--){
2505delete cache[key[i]];
2506}
2507}
2508if(key===undefined||jQuery.isEmptyObject(cache)){
2509if(owner.nodeType){
2510owner[this.expando]=undefined;
2511}else{
2512delete owner[this.expando];
2513}
2514}
2515},
2516hasData:function(owner){
2517var cache=owner[this.expando];
2518return cache!==undefined&&!jQuery.isEmptyObject(cache);
2519}
2520};
2521var dataPriv=new Data();
2522var dataUser=new Data();
2523var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
2524rmultiDash=/[A-Z]/g;
2525function getData(data){
2526if(data==="true"){
2527return true;
2528}
2529if(data==="false"){
2530return false;
2531}
2532if(data==="null"){
2533return null;
2534}
2535if(data===+data+""){
2536return+data;
2537}
2538if(rbrace.test(data)){
2539return JSON.parse(data);
2540}
2541return data;
2542}
2543function dataAttr(elem,key,data){
2544var name;
2545if(data===undefined&&elem.nodeType===1){
2546name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();
2547data=elem.getAttribute(name);
2548if(typeof data==="string"){
2549try{
2550data=getData(data);
2551}catch(e){}
2552dataUser.set(elem,key,data);
2553}else{
2554data=undefined;
2555}
2556}
2557return data;
2558}
2559jQuery.extend({
2560hasData:function(elem){
2561return dataUser.hasData(elem)||dataPriv.hasData(elem);
2562},
2563data:function(elem,name,data){
2564return dataUser.access(elem,name,data);
2565},
2566removeData:function(elem,name){
2567dataUser.remove(elem,name);
2568},
2569_data:function(elem,name,data){
2570return dataPriv.access(elem,name,data);
2571},
2572_removeData:function(elem,name){
2573dataPriv.remove(elem,name);
2574}
2575});
2576jQuery.fn.extend({
2577data:function(key,value){
2578var i,name,data,
2579elem=this[0],
2580attrs=elem&&elem.attributes;
2581if(key===undefined){
2582if(this.length){
2583data=dataUser.get(elem);
2584if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){
2585i=attrs.length;
2586while(i--){
2587if(attrs[i]){
2588name=attrs[i].name;
2589if(name.indexOf("data-")===0){
2590name=camelCase(name.slice(5));
2591dataAttr(elem,name,data[name]);
2592}
2593}
2594}
2595dataPriv.set(elem,"hasDataAttrs",true);
2596}
2597}
2598return data;
2599}
2600if(typeof key==="object"){
2601return this.each(function(){
2602dataUser.set(this,key);
2603});
2604}
2605return access(this,function(value){
2606var data;
2607if(elem&&value===undefined){
2608data=dataUser.get(elem,key);
2609if(data!==undefined){
2610return data;
2611}
2612data=dataAttr(elem,key);
2613if(data!==undefined){
2614return data;
2615}
2616return;
2617}
2618this.each(function(){
2619dataUser.set(this,key,value);
2620});
2621},null,value,arguments.length>1,null,true);
2622},
2623removeData:function(key){
2624return this.each(function(){
2625dataUser.remove(this,key);
2626});
2627}
2628});
2629jQuery.extend({
2630queue:function(elem,type,data){
2631var queue;
2632if(elem){
2633type=(type||"fx")+"queue";
2634queue=dataPriv.get(elem,type);
2635if(data){
2636if(!queue||Array.isArray(data)){
2637queue=dataPriv.access(elem,type,jQuery.makeArray(data));
2638}else{
2639queue.push(data);
2640}
2641}
2642return queue||[];
2643}
2644},
2645dequeue:function(elem,type){
2646type=type||"fx";
2647var queue=jQuery.queue(elem,type),
2648startLength=queue.length,
2649fn=queue.shift(),
2650hooks=jQuery._queueHooks(elem,type),
2651next=function(){
2652jQuery.dequeue(elem,type);
2653};
2654if(fn==="inprogress"){
2655fn=queue.shift();
2656startLength--;
2657}
2658if(fn){
2659if(type==="fx"){
2660queue.unshift("inprogress");
2661}
2662delete hooks.stop;
2663fn.call(elem,next,hooks);
2664}
2665if(!startLength&&hooks){
2666hooks.empty.fire();
2667}
2668},
2669_queueHooks:function(elem,type){
2670var key=type+"queueHooks";
2671return dataPriv.get(elem,key)||dataPriv.access(elem,key,{
2672empty:jQuery.Callbacks("once memory").add(function(){
2673dataPriv.remove(elem,[type+"queue",key]);
2674})
2675});
2676}
2677});
2678jQuery.fn.extend({
2679queue:function(type,data){
2680var setter=2;
2681if(typeof type!=="string"){
2682data=type;
2683type="fx";
2684setter--;
2685}
2686if(arguments.length<setter){
2687return jQuery.queue(this[0],type);
2688}
2689return data===undefined?
2690this:
2691this.each(function(){
2692var queue=jQuery.queue(this,type,data);
2693jQuery._queueHooks(this,type);
2694if(type==="fx"&&queue[0]!=="inprogress"){
2695jQuery.dequeue(this,type);
2696}
2697});
2698},
2699dequeue:function(type){
2700return this.each(function(){
2701jQuery.dequeue(this,type);
2702});
2703},
2704clearQueue:function(type){
2705return this.queue(type||"fx",[]);
2706},
2707promise:function(type,obj){
2708var tmp,
2709count=1,
2710defer=jQuery.Deferred(),
2711elements=this,
2712i=this.length,
2713resolve=function(){
2714if(!(--count)){
2715defer.resolveWith(elements,[elements]);
2716}
2717};
2718if(typeof type!=="string"){
2719obj=type;
2720type=undefined;
2721}
2722type=type||"fx";
2723while(i--){
2724tmp=dataPriv.get(elements[i],type+"queueHooks");
2725if(tmp&&tmp.empty){
2726count++;
2727tmp.empty.add(resolve);
2728}
2729}
2730resolve();
2731return defer.promise(obj);
2732}
2733});
2734var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;
2735var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");
2736var cssExpand=["Top","Right","Bottom","Left"];
2737var documentElement=document.documentElement;
2738var isAttached=function(elem){
2739return jQuery.contains(elem.ownerDocument,elem);
2740},
2741composed={composed:true};
2742if(documentElement.getRootNode){
2743isAttached=function(elem){
2744return jQuery.contains(elem.ownerDocument,elem)||
2745elem.getRootNode(composed)===elem.ownerDocument;
2746};
2747}
2748var isHiddenWithinTree=function(elem,el){
2749elem=el||elem;
2750return elem.style.display==="none"||
2751elem.style.display===""&&
2752isAttached(elem)&&
2753jQuery.css(elem,"display")==="none";
2754};
2755function adjustCSS(elem,prop,valueParts,tween){
2756var adjusted,scale,
2757maxIterations=20,
2758currentValue=tween?
2759function(){
2760return tween.cur();
2761}:
2762function(){
2763return jQuery.css(elem,prop,"");
2764},
2765initial=currentValue(),
2766unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),
2767initialInUnit=elem.nodeType&&
2768(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&
2769rcssNum.exec(jQuery.css(elem,prop));
2770if(initialInUnit&&initialInUnit[3]!==unit){
2771initial=initial/2;
2772unit=unit||initialInUnit[3];
2773initialInUnit=+initial||1;
2774while(maxIterations--){
2775jQuery.style(elem,prop,initialInUnit+unit);
2776if((1-scale)*(1-(scale=currentValue()/initial||0.5))<=0){
2777maxIterations=0;
2778}
2779initialInUnit=initialInUnit/scale;
2780}
2781initialInUnit=initialInUnit*2;
2782jQuery.style(elem,prop,initialInUnit+unit);
2783valueParts=valueParts||[];
2784}
2785if(valueParts){
2786initialInUnit=+initialInUnit||+initial||0;
2787adjusted=valueParts[1]?
2788initialInUnit+(valueParts[1]+1)*valueParts[2]:
2789+valueParts[2];
2790if(tween){
2791tween.unit=unit;
2792tween.start=initialInUnit;
2793tween.end=adjusted;
2794}
2795}
2796return adjusted;
2797}
2798var defaultDisplayMap={};
2799function getDefaultDisplay(elem){
2800var temp,
2801doc=elem.ownerDocument,
2802nodeName=elem.nodeName,
2803display=defaultDisplayMap[nodeName];
2804if(display){
2805return display;
2806}
2807temp=doc.body.appendChild(doc.createElement(nodeName));
2808display=jQuery.css(temp,"display");
2809temp.parentNode.removeChild(temp);
2810if(display==="none"){
2811display="block";
2812}
2813defaultDisplayMap[nodeName]=display;
2814return display;
2815}
2816function showHide(elements,show){
2817var display,elem,
2818values=[],
2819index=0,
2820length=elements.length;
2821for(;index<length;index++){
2822elem=elements[index];
2823if(!elem.style){
2824continue;
2825}
2826display=elem.style.display;
2827if(show){
2828if(display==="none"){
2829values[index]=dataPriv.get(elem,"display")||null;
2830if(!values[index]){
2831elem.style.display="";
2832}
2833}
2834if(elem.style.display===""&&isHiddenWithinTree(elem)){
2835values[index]=getDefaultDisplay(elem);
2836}
2837}else{
2838if(display!=="none"){
2839values[index]="none";
2840dataPriv.set(elem,"display",display);
2841}
2842}
2843}
2844for(index=0;index<length;index++){
2845if(values[index]!=null){
2846elements[index].style.display=values[index];
2847}
2848}
2849return elements;
2850}
2851jQuery.fn.extend({
2852show:function(){
2853return showHide(this,true);
2854},
2855hide:function(){
2856return showHide(this);
2857},
2858toggle:function(state){
2859if(typeof state==="boolean"){
2860return state?this.show():this.hide();
2861}
2862return this.each(function(){
2863if(isHiddenWithinTree(this)){
2864jQuery(this).show();
2865}else{
2866jQuery(this).hide();
2867}
2868});
2869}
2870});
2871var rcheckableType=(/^(?:checkbox|radio)$/i);
2872var rtagName=(/<([a-z][^\/\0>\x20\t\r\n\f]*)/i);
2873var rscriptType=(/^$|^module$|\/(?:java|ecma)script/i);
2874(function(){
2875var fragment=document.createDocumentFragment(),
2876div=fragment.appendChild(document.createElement("div")),
2877input=document.createElement("input");
2878input.setAttribute("type","radio");
2879input.setAttribute("checked","checked");
2880input.setAttribute("name","t");
2881div.appendChild(input);
2882support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;
2883div.innerHTML="<textarea>x</textarea>";
2884support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;
2885div.innerHTML="<option></option>";
2886support.option=!!div.lastChild;
2887})();
2888var wrapMap={
2889thead:[1,"<table>","</table>"],
2890col:[2,"<table><colgroup>","</colgroup></table>"],
2891tr:[2,"<table><tbody>","</tbody></table>"],
2892td:[3,"<table><tbody><tr>","</tr></tbody></table>"],
2893_default:[0,"",""]
2894};
2895wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;
2896wrapMap.th=wrapMap.td;
2897if(!support.option){
2898wrapMap.optgroup=wrapMap.option=[1,"<select multiple='multiple'>","</select>"];
2899}
2900function getAll(context,tag){
2901var ret;
2902if(typeof context.getElementsByTagName!=="undefined"){
2903ret=context.getElementsByTagName(tag||"*");
2904}else if(typeof context.querySelectorAll!=="undefined"){
2905ret=context.querySelectorAll(tag||"*");
2906}else{
2907ret=[];
2908}
2909if(tag===undefined||tag&&nodeName(context,tag)){
2910return jQuery.merge([context],ret);
2911}
2912return ret;
2913}
2914function setGlobalEval(elems,refElements){
2915var i=0,
2916l=elems.length;
2917for(;i<l;i++){
2918dataPriv.set(
2919elems[i],
2920"globalEval",
2921!refElements||dataPriv.get(refElements[i],"globalEval")
2922);
2923}
2924}
2925var rhtml=/<|&#?\w+;/;
2926function buildFragment(elems,context,scripts,selection,ignored){
2927var elem,tmp,tag,wrap,attached,j,
2928fragment=context.createDocumentFragment(),
2929nodes=[],
2930i=0,
2931l=elems.length;
2932for(;i<l;i++){
2933elem=elems[i];
2934if(elem||elem===0){
2935if(toType(elem)==="object"){
2936jQuery.merge(nodes,elem.nodeType?[elem]:elem);
2937}else if(!rhtml.test(elem)){
2938nodes.push(context.createTextNode(elem));
2939}else{
2940tmp=tmp||fragment.appendChild(context.createElement("div"));
2941tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();
2942wrap=wrapMap[tag]||wrapMap._default;
2943tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];
2944j=wrap[0];
2945while(j--){
2946tmp=tmp.lastChild;
2947}
2948jQuery.merge(nodes,tmp.childNodes);
2949tmp=fragment.firstChild;
2950tmp.textContent="";
2951}
2952}
2953}
2954fragment.textContent="";
2955i=0;
2956while((elem=nodes[i++])){
2957if(selection&&jQuery.inArray(elem,selection)>-1){
2958if(ignored){
2959ignored.push(elem);
2960}
2961continue;
2962}
2963attached=isAttached(elem);
2964tmp=getAll(fragment.appendChild(elem),"script");
2965if(attached){
2966setGlobalEval(tmp);
2967}
2968if(scripts){
2969j=0;
2970while((elem=tmp[j++])){
2971if(rscriptType.test(elem.type||"")){
2972scripts.push(elem);
2973}
2974}
2975}
2976}
2977return fragment;
2978}
2979var rtypenamespace=/^([^.]*)(?:\.(.+)|)/;
2980function returnTrue(){
2981return true;
2982}
2983function returnFalse(){
2984return false;
2985}
2986function on(elem,types,selector,data,fn,one){
2987var origFn,type;
2988if(typeof types==="object"){
2989if(typeof selector!=="string"){
2990data=data||selector;
2991selector=undefined;
2992}
2993for(type in types){
2994on(elem,type,selector,data,types[type],one);
2995}
2996return elem;
2997}
2998if(data==null&&fn==null){
2999fn=selector;
3000data=selector=undefined;
3001}else if(fn==null){
3002if(typeof selector==="string"){
3003fn=data;
3004data=undefined;
3005}else{
3006fn=data;
3007data=selector;
3008selector=undefined;
3009}
3010}
3011if(fn===false){
3012fn=returnFalse;
3013}else if(!fn){
3014return elem;
3015}
3016if(one===1){
3017origFn=fn;
3018fn=function(event){
3019jQuery().off(event);
3020return origFn.apply(this,arguments);
3021};
3022fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);
3023}
3024return elem.each(function(){
3025jQuery.event.add(this,types,fn,data,selector);
3026});
3027}
3028jQuery.event={
3029global:{},
3030add:function(elem,types,handler,data,selector){
3031var handleObjIn,eventHandle,tmp,
3032events,t,handleObj,
3033special,handlers,type,namespaces,origType,
3034elemData=dataPriv.get(elem);
3035if(!acceptData(elem)){
3036return;
3037}
3038if(handler.handler){
3039handleObjIn=handler;
3040handler=handleObjIn.handler;
3041selector=handleObjIn.selector;
3042}
3043if(selector){
3044jQuery.find.matchesSelector(documentElement,selector);
3045}
3046if(!handler.guid){
3047handler.guid=jQuery.guid++;
3048}
3049if(!(events=elemData.events)){
3050events=elemData.events=Object.create(null);
3051}
3052if(!(eventHandle=elemData.handle)){
3053eventHandle=elemData.handle=function(e){
3054return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?
3055jQuery.event.dispatch.apply(elem,arguments):undefined;
3056};
3057}
3058types=(types||"").match(rnothtmlwhite)||[""];
3059t=types.length;
3060while(t--){
3061tmp=rtypenamespace.exec(types[t])||[];
3062type=origType=tmp[1];
3063namespaces=(tmp[2]||"").split(".").sort();
3064if(!type){
3065continue;
3066}
3067special=jQuery.event.special[type]||{};
3068type=(selector?special.delegateType:special.bindType)||type;
3069special=jQuery.event.special[type]||{};
3070handleObj=jQuery.extend({
3071type:type,
3072origType:origType,
3073data:data,
3074handler:handler,
3075guid:handler.guid,
3076selector:selector,
3077needsContext:selector&&jQuery.expr.match.needsContext.test(selector),
3078namespace:namespaces.join(".")
3079},handleObjIn);
3080if(!(handlers=events[type])){
3081handlers=events[type]=[];
3082handlers.delegateCount=0;
3083if(!special.setup||
3084special.setup.call(elem,data,namespaces,eventHandle)===false){
3085if(elem.addEventListener){
3086elem.addEventListener(type,eventHandle);
3087}
3088}
3089}
3090if(special.add){
3091special.add.call(elem,handleObj);
3092if(!handleObj.handler.guid){
3093handleObj.handler.guid=handler.guid;
3094}
3095}
3096if(selector){
3097handlers.splice(handlers.delegateCount++,0,handleObj);
3098}else{
3099handlers.push(handleObj);
3100}
3101jQuery.event.global[type]=true;
3102}
3103},
3104remove:function(elem,types,handler,selector,mappedTypes){
3105var j,origCount,tmp,
3106events,t,handleObj,
3107special,handlers,type,namespaces,origType,
3108elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);
3109if(!elemData||!(events=elemData.events)){
3110return;
3111}
3112types=(types||"").match(rnothtmlwhite)||[""];
3113t=types.length;
3114while(t--){
3115tmp=rtypenamespace.exec(types[t])||[];
3116type=origType=tmp[1];
3117namespaces=(tmp[2]||"").split(".").sort();
3118if(!type){
3119for(type in events){
3120jQuery.event.remove(elem,type+types[t],handler,selector,true);
3121}
3122continue;
3123}
3124special=jQuery.event.special[type]||{};
3125type=(selector?special.delegateType:special.bindType)||type;
3126handlers=events[type]||[];
3127tmp=tmp[2]&&
3128new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");
3129origCount=j=handlers.length;
3130while(j--){
3131handleObj=handlers[j];
3132if((mappedTypes||origType===handleObj.origType)&&
3133(!handler||handler.guid===handleObj.guid)&&
3134(!tmp||tmp.test(handleObj.namespace))&&
3135(!selector||selector===handleObj.selector||
3136selector==="**"&&handleObj.selector)){
3137handlers.splice(j,1);
3138if(handleObj.selector){
3139handlers.delegateCount--;
3140}
3141if(special.remove){
3142special.remove.call(elem,handleObj);
3143}
3144}
3145}
3146if(origCount&&!handlers.length){
3147if(!special.teardown||
3148special.teardown.call(elem,namespaces,elemData.handle)===false){
3149jQuery.removeEvent(elem,type,elemData.handle);
3150}
3151delete events[type];
3152}
3153}
3154if(jQuery.isEmptyObject(events)){
3155dataPriv.remove(elem,"handle events");
3156}
3157},
3158dispatch:function(nativeEvent){
3159var i,j,ret,matched,handleObj,handlerQueue,
3160args=new Array(arguments.length),
3161event=jQuery.event.fix(nativeEvent),
3162handlers=(
3163dataPriv.get(this,"events")||Object.create(null)
3164)[event.type]||[],
3165special=jQuery.event.special[event.type]||{};
3166args[0]=event;
3167for(i=1;i<arguments.length;i++){
3168args[i]=arguments[i];
3169}
3170event.delegateTarget=this;
3171if(special.preDispatch&&special.preDispatch.call(this,event)===false){
3172return;
3173}
3174handlerQueue=jQuery.event.handlers.call(this,event,handlers);
3175i=0;
3176while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){
3177event.currentTarget=matched.elem;
3178j=0;
3179while((handleObj=matched.handlers[j++])&&
3180!event.isImmediatePropagationStopped()){
3181if(!event.rnamespace||handleObj.namespace===false||
3182event.rnamespace.test(handleObj.namespace)){
3183event.handleObj=handleObj;
3184event.data=handleObj.data;
3185ret=((jQuery.event.special[handleObj.origType]||{}).handle||
3186handleObj.handler).apply(matched.elem,args);
3187if(ret!==undefined){
3188if((event.result=ret)===false){
3189event.preventDefault();
3190event.stopPropagation();
3191}
3192}
3193}
3194}
3195}
3196if(special.postDispatch){
3197special.postDispatch.call(this,event);
3198}
3199return event.result;
3200},
3201handlers:function(event,handlers){
3202var i,handleObj,sel,matchedHandlers,matchedSelectors,
3203handlerQueue=[],
3204delegateCount=handlers.delegateCount,
3205cur=event.target;
3206if(delegateCount&&
3207cur.nodeType&&
3208!(event.type==="click"&&event.button>=1)){
3209for(;cur!==this;cur=cur.parentNode||this){
3210if(cur.nodeType===1&&!(event.type==="click"&&cur.disabled===true)){
3211matchedHandlers=[];
3212matchedSelectors={};
3213for(i=0;i<delegateCount;i++){
3214handleObj=handlers[i];
3215sel=handleObj.selector+" ";
3216if(matchedSelectors[sel]===undefined){
3217matchedSelectors[sel]=handleObj.needsContext?
3218jQuery(sel,this).index(cur)>-1:
3219jQuery.find(sel,this,null,[cur]).length;
3220}
3221if(matchedSelectors[sel]){
3222matchedHandlers.push(handleObj);
3223}
3224}
3225if(matchedHandlers.length){
3226handlerQueue.push({elem:cur,handlers:matchedHandlers});
3227}
3228}
3229}
3230}
3231cur=this;
3232if(delegateCount<handlers.length){
3233handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)});
3234}
3235return handlerQueue;
3236},
3237addProp:function(name,hook){
3238Object.defineProperty(jQuery.Event.prototype,name,{
3239enumerable:true,
3240configurable:true,
3241get:isFunction(hook)?
3242function(){
3243if(this.originalEvent){
3244return hook(this.originalEvent);
3245}
3246}:
3247function(){
3248if(this.originalEvent){
3249return this.originalEvent[name];
3250}
3251},
3252set:function(value){
3253Object.defineProperty(this,name,{
3254enumerable:true,
3255configurable:true,
3256writable:true,
3257value:value
3258});
3259}
3260});
3261},
3262fix:function(originalEvent){
3263return originalEvent[jQuery.expando]?
3264originalEvent:
3265new jQuery.Event(originalEvent);
3266},
3267special:{
3268load:{
3269noBubble:true
3270},
3271click:{
3272setup:function(data){
3273var el=this||data;
3274if(rcheckableType.test(el.type)&&
3275el.click&&nodeName(el,"input")){
3276leverageNative(el,"click",true);
3277}
3278return false;
3279},
3280trigger:function(data){
3281var el=this||data;
3282if(rcheckableType.test(el.type)&&
3283el.click&&nodeName(el,"input")){
3284leverageNative(el,"click");
3285}
3286return true;
3287},
3288_default:function(event){
3289var target=event.target;
3290return rcheckableType.test(target.type)&&
3291target.click&&nodeName(target,"input")&&
3292dataPriv.get(target,"click")||
3293nodeName(target,"a");
3294}
3295},
3296beforeunload:{
3297postDispatch:function(event){
3298if(event.result!==undefined&&event.originalEvent){
3299event.originalEvent.returnValue=event.result;
3300}
3301}
3302}
3303}
3304};
3305function leverageNative(el,type,isSetup){
3306if(!isSetup){
3307if(dataPriv.get(el,type)===undefined){
3308jQuery.event.add(el,type,returnTrue);
3309}
3310return;
3311}
3312dataPriv.set(el,type,false);
3313jQuery.event.add(el,type,{
3314namespace:false,
3315handler:function(event){
3316var result,
3317saved=dataPriv.get(this,type);
3318if((event.isTrigger&1)&&this[type]){
3319if(!saved){
3320saved=slice.call(arguments);
3321dataPriv.set(this,type,saved);
3322this[type]();
3323result=dataPriv.get(this,type);
3324dataPriv.set(this,type,false);
3325if(saved!==result){
3326event.stopImmediatePropagation();
3327event.preventDefault();
3328return result;
3329}
3330}else if((jQuery.event.special[type]||{}).delegateType){
3331event.stopPropagation();
3332}
3333}else if(saved){
3334dataPriv.set(this,type,jQuery.event.trigger(
3335saved[0],
3336saved.slice(1),
3337this
3338));
3339event.stopPropagation();
3340event.isImmediatePropagationStopped=returnTrue;
3341}
3342}
3343});
3344}
3345jQuery.removeEvent=function(elem,type,handle){
3346if(elem.removeEventListener){
3347elem.removeEventListener(type,handle);
3348}
3349};
3350jQuery.Event=function(src,props){
3351if(!(this instanceof jQuery.Event)){
3352return new jQuery.Event(src,props);
3353}
3354if(src&&src.type){
3355this.originalEvent=src;
3356this.type=src.type;
3357this.isDefaultPrevented=src.defaultPrevented||
3358src.defaultPrevented===undefined&&
3359src.returnValue===false?
3360returnTrue:
3361returnFalse;
3362this.target=(src.target&&src.target.nodeType===3)?
3363src.target.parentNode:
3364src.target;
3365this.currentTarget=src.currentTarget;
3366this.relatedTarget=src.relatedTarget;
3367}else{
3368this.type=src;
3369}
3370if(props){
3371jQuery.extend(this,props);
3372}
3373this.timeStamp=src&&src.timeStamp||Date.now();
3374this[jQuery.expando]=true;
3375};
3376jQuery.Event.prototype={
3377constructor:jQuery.Event,
3378isDefaultPrevented:returnFalse,
3379isPropagationStopped:returnFalse,
3380isImmediatePropagationStopped:returnFalse,
3381isSimulated:false,
3382preventDefault:function(){
3383var e=this.originalEvent;
3384this.isDefaultPrevented=returnTrue;
3385if(e&&!this.isSimulated){
3386e.preventDefault();
3387}
3388},
3389stopPropagation:function(){
3390var e=this.originalEvent;
3391this.isPropagationStopped=returnTrue;
3392if(e&&!this.isSimulated){
3393e.stopPropagation();
3394}
3395},
3396stopImmediatePropagation:function(){
3397var e=this.originalEvent;
3398this.isImmediatePropagationStopped=returnTrue;
3399if(e&&!this.isSimulated){
3400e.stopImmediatePropagation();
3401}
3402this.stopPropagation();
3403}
3404};
3405jQuery.each({
3406altKey:true,
3407bubbles:true,
3408cancelable:true,
3409changedTouches:true,
3410ctrlKey:true,
3411detail:true,
3412eventPhase:true,
3413metaKey:true,
3414pageX:true,
3415pageY:true,
3416shiftKey:true,
3417view:true,
3418"char":true,
3419code:true,
3420charCode:true,
3421key:true,
3422keyCode:true,
3423button:true,
3424buttons:true,
3425clientX:true,
3426clientY:true,
3427offsetX:true,
3428offsetY:true,
3429pointerId:true,
3430pointerType:true,
3431screenX:true,
3432screenY:true,
3433targetTouches:true,
3434toElement:true,
3435touches:true,
3436which:true
3437},jQuery.event.addProp);
3438jQuery.each({focus:"focusin",blur:"focusout"},function(type,delegateType){
3439function focusMappedHandler(nativeEvent){
3440if(document.documentMode){
3441var handle=dataPriv.get(this,"handle"),
3442event=jQuery.event.fix(nativeEvent);
3443event.type=nativeEvent.type==="focusin"?"focus":"blur";
3444event.isSimulated=true;
3445handle(nativeEvent);
3446if(event.target===event.currentTarget){
3447handle(event);
3448}
3449}else{
3450jQuery.event.simulate(delegateType,nativeEvent.target,
3451jQuery.event.fix(nativeEvent));
3452}
3453}
3454jQuery.event.special[type]={
3455setup:function(){
3456var attaches;
3457leverageNative(this,type,true);
3458if(document.documentMode){
3459attaches=dataPriv.get(this,delegateType);
3460if(!attaches){
3461this.addEventListener(delegateType,focusMappedHandler);
3462}
3463dataPriv.set(this,delegateType,(attaches||0)+1);
3464}else{
3465return false;
3466}
3467},
3468trigger:function(){
3469leverageNative(this,type);
3470return true;
3471},
3472teardown:function(){
3473var attaches;
3474if(document.documentMode){
3475attaches=dataPriv.get(this,delegateType)-1;
3476if(!attaches){
3477this.removeEventListener(delegateType,focusMappedHandler);
3478dataPriv.remove(this,delegateType);
3479}else{
3480dataPriv.set(this,delegateType,attaches);
3481}
3482}else{
3483return false;
3484}
3485},
3486_default:function(event){
3487return dataPriv.get(event.target,type);
3488},
3489delegateType:delegateType
3490};
3491jQuery.event.special[delegateType]={
3492setup:function(){
3493var doc=this.ownerDocument||this.document||this,
3494dataHolder=document.documentMode?this:doc,
3495attaches=dataPriv.get(dataHolder,delegateType);
3496if(!attaches){
3497if(document.documentMode){
3498this.addEventListener(delegateType,focusMappedHandler);
3499}else{
3500doc.addEventListener(type,focusMappedHandler,true);
3501}
3502}
3503dataPriv.set(dataHolder,delegateType,(attaches||0)+1);
3504},
3505teardown:function(){
3506var doc=this.ownerDocument||this.document||this,
3507dataHolder=document.documentMode?this:doc,
3508attaches=dataPriv.get(dataHolder,delegateType)-1;
3509if(!attaches){
3510if(document.documentMode){
3511this.removeEventListener(delegateType,focusMappedHandler);
3512}else{
3513doc.removeEventListener(type,focusMappedHandler,true);
3514}
3515dataPriv.remove(dataHolder,delegateType);
3516}else{
3517dataPriv.set(dataHolder,delegateType,attaches);
3518}
3519}
3520};
3521});
3522jQuery.each({
3523mouseenter:"mouseover",
3524mouseleave:"mouseout",
3525pointerenter:"pointerover",
3526pointerleave:"pointerout"
3527},function(orig,fix){
3528jQuery.event.special[orig]={
3529delegateType:fix,
3530bindType:fix,
3531handle:function(event){
3532var ret,
3533target=this,
3534related=event.relatedTarget,
3535handleObj=event.handleObj;
3536if(!related||(related!==target&&!jQuery.contains(target,related))){
3537event.type=handleObj.origType;
3538ret=handleObj.handler.apply(this,arguments);
3539event.type=fix;
3540}
3541return ret;
3542}
3543};
3544});
3545jQuery.fn.extend({
3546on:function(types,selector,data,fn){
3547return on(this,types,selector,data,fn);
3548},
3549one:function(types,selector,data,fn){
3550return on(this,types,selector,data,fn,1);
3551},
3552off:function(types,selector,fn){
3553var handleObj,type;
3554if(types&&types.preventDefault&&types.handleObj){
3555handleObj=types.handleObj;
3556jQuery(types.delegateTarget).off(
3557handleObj.namespace?
3558handleObj.origType+"."+handleObj.namespace:
3559handleObj.origType,
3560handleObj.selector,
3561handleObj.handler
3562);
3563return this;
3564}
3565if(typeof types==="object"){
3566for(type in types){
3567this.off(type,selector,types[type]);
3568}
3569return this;
3570}
3571if(selector===false||typeof selector==="function"){
3572fn=selector;
3573selector=undefined;
3574}
3575if(fn===false){
3576fn=returnFalse;
3577}
3578return this.each(function(){
3579jQuery.event.remove(this,types,fn,selector);
3580});
3581}
3582});
3583var
3584rnoInnerhtml=/<script|<style|<link/i,
3585rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,
3586rcleanScript=/^\s*<!\[CDATA\[|\]\]>\s*$/g;
3587function manipulationTarget(elem,content){
3588if(nodeName(elem,"table")&&
3589nodeName(content.nodeType!==11?content:content.firstChild,"tr")){
3590return jQuery(elem).children("tbody")[0]||elem;
3591}
3592return elem;
3593}
3594function disableScript(elem){
3595elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;
3596return elem;
3597}
3598function restoreScript(elem){
3599if((elem.type||"").slice(0,5)==="true/"){
3600elem.type=elem.type.slice(5);
3601}else{
3602elem.removeAttribute("type");
3603}
3604return elem;
3605}
3606function cloneCopyEvent(src,dest){
3607var i,l,type,pdataOld,udataOld,udataCur,events;
3608if(dest.nodeType!==1){
3609return;
3610}
3611if(dataPriv.hasData(src)){
3612pdataOld=dataPriv.get(src);
3613events=pdataOld.events;
3614if(events){
3615dataPriv.remove(dest,"handle events");
3616for(type in events){
3617for(i=0,l=events[type].length;i<l;i++){
3618jQuery.event.add(dest,type,events[type][i]);
3619}
3620}
3621}
3622}
3623if(dataUser.hasData(src)){
3624udataOld=dataUser.access(src);
3625udataCur=jQuery.extend({},udataOld);
3626dataUser.set(dest,udataCur);
3627}
3628}
3629function fixInput(src,dest){
3630var nodeName=dest.nodeName.toLowerCase();
3631if(nodeName==="input"&&rcheckableType.test(src.type)){
3632dest.checked=src.checked;
3633}else if(nodeName==="input"||nodeName==="textarea"){
3634dest.defaultValue=src.defaultValue;
3635}
3636}
3637function domManip(collection,args,callback,ignored){
3638args=flat(args);
3639var fragment,first,scripts,hasScripts,node,doc,
3640i=0,
3641l=collection.length,
3642iNoClone=l-1,
3643value=args[0],
3644valueIsFunction=isFunction(value);
3645if(valueIsFunction||
3646(l>1&&typeof value==="string"&&
3647!support.checkClone&&rchecked.test(value))){
3648return collection.each(function(index){
3649var self=collection.eq(index);
3650if(valueIsFunction){
3651args[0]=value.call(this,index,self.html());
3652}
3653domManip(self,args,callback,ignored);
3654});
3655}
3656if(l){
3657fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);
3658first=fragment.firstChild;
3659if(fragment.childNodes.length===1){
3660fragment=first;
3661}
3662if(first||ignored){
3663scripts=jQuery.map(getAll(fragment,"script"),disableScript);
3664hasScripts=scripts.length;
3665for(;i<l;i++){
3666node=fragment;
3667if(i!==iNoClone){
3668node=jQuery.clone(node,true,true);
3669if(hasScripts){
3670jQuery.merge(scripts,getAll(node,"script"));
3671}
3672}
3673callback.call(collection[i],node,i);
3674}
3675if(hasScripts){
3676doc=scripts[scripts.length-1].ownerDocument;
3677jQuery.map(scripts,restoreScript);
3678for(i=0;i<hasScripts;i++){
3679node=scripts[i];
3680if(rscriptType.test(node.type||"")&&
3681!dataPriv.access(node,"globalEval")&&
3682jQuery.contains(doc,node)){
3683if(node.src&&(node.type||"").toLowerCase()!=="module"){
3684if(jQuery._evalUrl&&!node.noModule){
3685jQuery._evalUrl(node.src,{
3686nonce:node.nonce||node.getAttribute("nonce")
3687},doc);
3688}
3689}else{
3690DOMEval(node.textContent.replace(rcleanScript,""),node,doc);
3691}
3692}
3693}
3694}
3695}
3696}
3697return collection;
3698}
3699function remove(elem,selector,keepData){
3700var node,
3701nodes=selector?jQuery.filter(selector,elem):elem,
3702i=0;
3703for(;(node=nodes[i])!=null;i++){
3704if(!keepData&&node.nodeType===1){
3705jQuery.cleanData(getAll(node));
3706}
3707if(node.parentNode){
3708if(keepData&&isAttached(node)){
3709setGlobalEval(getAll(node,"script"));
3710}
3711node.parentNode.removeChild(node);
3712}
3713}
3714return elem;
3715}
3716jQuery.extend({
3717htmlPrefilter:function(html){
3718return html;
3719},
3720clone:function(elem,dataAndEvents,deepDataAndEvents){
3721var i,l,srcElements,destElements,
3722clone=elem.cloneNode(true),
3723inPage=isAttached(elem);
3724if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&
3725!jQuery.isXMLDoc(elem)){
3726destElements=getAll(clone);
3727srcElements=getAll(elem);
3728for(i=0,l=srcElements.length;i<l;i++){
3729fixInput(srcElements[i],destElements[i]);
3730}
3731}
3732if(dataAndEvents){
3733if(deepDataAndEvents){
3734srcElements=srcElements||getAll(elem);
3735destElements=destElements||getAll(clone);
3736for(i=0,l=srcElements.length;i<l;i++){
3737cloneCopyEvent(srcElements[i],destElements[i]);
3738}
3739}else{
3740cloneCopyEvent(elem,clone);
3741}
3742}
3743destElements=getAll(clone,"script");
3744if(destElements.length>0){
3745setGlobalEval(destElements,!inPage&&getAll(elem,"script"));
3746}
3747return clone;
3748},
3749cleanData:function(elems){
3750var data,elem,type,
3751special=jQuery.event.special,
3752i=0;
3753for(;(elem=elems[i])!==undefined;i++){
3754if(acceptData(elem)){
3755if((data=elem[dataPriv.expando])){
3756if(data.events){
3757for(type in data.events){
3758if(special[type]){
3759jQuery.event.remove(elem,type);
3760}else{
3761jQuery.removeEvent(elem,type,data.handle);
3762}
3763}
3764}
3765elem[dataPriv.expando]=undefined;
3766}
3767if(elem[dataUser.expando]){
3768elem[dataUser.expando]=undefined;
3769}
3770}
3771}
3772}
3773});
3774jQuery.fn.extend({
3775detach:function(selector){
3776return remove(this,selector,true);
3777},
3778remove:function(selector){
3779return remove(this,selector);
3780},
3781text:function(value){
3782return access(this,function(value){
3783return value===undefined?
3784jQuery.text(this):
3785this.empty().each(function(){
3786if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3787this.textContent=value;
3788}
3789});
3790},null,value,arguments.length);
3791},
3792append:function(){
3793return domManip(this,arguments,function(elem){
3794if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3795var target=manipulationTarget(this,elem);
3796target.appendChild(elem);
3797}
3798});
3799},
3800prepend:function(){
3801return domManip(this,arguments,function(elem){
3802if(this.nodeType===1||this.nodeType===11||this.nodeType===9){
3803var target=manipulationTarget(this,elem);
3804target.insertBefore(elem,target.firstChild);
3805}
3806});
3807},
3808before:function(){
3809return domManip(this,arguments,function(elem){
3810if(this.parentNode){
3811this.parentNode.insertBefore(elem,this);
3812}
3813});
3814},
3815after:function(){
3816return domManip(this,arguments,function(elem){
3817if(this.parentNode){
3818this.parentNode.insertBefore(elem,this.nextSibling);
3819}
3820});
3821},
3822empty:function(){
3823var elem,
3824i=0;
3825for(;(elem=this[i])!=null;i++){
3826if(elem.nodeType===1){
3827jQuery.cleanData(getAll(elem,false));
3828elem.textContent="";
3829}
3830}
3831return this;
3832},
3833clone:function(dataAndEvents,deepDataAndEvents){
3834dataAndEvents=dataAndEvents==null?false:dataAndEvents;
3835deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;
3836return this.map(function(){
3837return jQuery.clone(this,dataAndEvents,deepDataAndEvents);
3838});
3839},
3840html:function(value){
3841return access(this,function(value){
3842var elem=this[0]||{},
3843i=0,
3844l=this.length;
3845if(value===undefined&&elem.nodeType===1){
3846return elem.innerHTML;
3847}
3848if(typeof value==="string"&&!rnoInnerhtml.test(value)&&
3849!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){
3850value=jQuery.htmlPrefilter(value);
3851try{
3852for(;i<l;i++){
3853elem=this[i]||{};
3854if(elem.nodeType===1){
3855jQuery.cleanData(getAll(elem,false));
3856elem.innerHTML=value;
3857}
3858}
3859elem=0;
3860}catch(e){}
3861}
3862if(elem){
3863this.empty().append(value);
3864}
3865},null,value,arguments.length);
3866},
3867replaceWith:function(){
3868var ignored=[];
3869return domManip(this,arguments,function(elem){
3870var parent=this.parentNode;
3871if(jQuery.inArray(this,ignored)<0){
3872jQuery.cleanData(getAll(this));
3873if(parent){
3874parent.replaceChild(elem,this);
3875}
3876}
3877},ignored);
3878}
3879});
3880jQuery.each({
3881appendTo:"append",
3882prependTo:"prepend",
3883insertBefore:"before",
3884insertAfter:"after",
3885replaceAll:"replaceWith"
3886},function(name,original){
3887jQuery.fn[name]=function(selector){
3888var elems,
3889ret=[],
3890insert=jQuery(selector),
3891last=insert.length-1,
3892i=0;
3893for(;i<=last;i++){
3894elems=i===last?this:this.clone(true);
3895jQuery(insert[i])[original](elems);
3896push.apply(ret,elems.get());
3897}
3898return this.pushStack(ret);
3899};
3900});
3901var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");
3902var rcustomProp=/^--/;
3903var getStyles=function(elem){
3904var view=elem.ownerDocument.defaultView;
3905if(!view||!view.opener){
3906view=window;
3907}
3908return view.getComputedStyle(elem);
3909};
3910var swap=function(elem,options,callback){
3911var ret,name,
3912old={};
3913for(name in options){
3914old[name]=elem.style[name];
3915elem.style[name]=options[name];
3916}
3917ret=callback.call(elem);
3918for(name in options){
3919elem.style[name]=old[name];
3920}
3921return ret;
3922};
3923var rboxStyle=new RegExp(cssExpand.join("|"),"i");
3924(function(){
3925function computeStyleTests(){
3926if(!div){
3927return;
3928}
3929container.style.cssText="position:absolute;left:-11111px;width:60px;"+
3930"margin-top:1px;padding:0;border:0";
3931div.style.cssText=
3932"position:relative;display:block;box-sizing:border-box;overflow:scroll;"+
3933"margin:auto;border:1px;padding:1px;"+
3934"width:60%;top:1%";
3935documentElement.appendChild(container).appendChild(div);
3936var divStyle=window.getComputedStyle(div);
3937pixelPositionVal=divStyle.top!=="1%";
3938reliableMarginLeftVal=roundPixelMeasures(divStyle.marginLeft)===12;
3939div.style.right="60%";
3940pixelBoxStylesVal=roundPixelMeasures(divStyle.right)===36;
3941boxSizingReliableVal=roundPixelMeasures(divStyle.width)===36;
3942div.style.position="absolute";
3943scrollboxSizeVal=roundPixelMeasures(div.offsetWidth/3)===12;
3944documentElement.removeChild(container);
3945div=null;
3946}
3947function roundPixelMeasures(measure){
3948return Math.round(parseFloat(measure));
3949}
3950var pixelPositionVal,boxSizingReliableVal,scrollboxSizeVal,pixelBoxStylesVal,
3951reliableTrDimensionsVal,reliableMarginLeftVal,
3952container=document.createElement("div"),
3953div=document.createElement("div");
3954if(!div.style){
3955return;
3956}
3957div.style.backgroundClip="content-box";
3958div.cloneNode(true).style.backgroundClip="";
3959support.clearCloneStyle=div.style.backgroundClip==="content-box";
3960jQuery.extend(support,{
3961boxSizingReliable:function(){
3962computeStyleTests();
3963return boxSizingReliableVal;
3964},
3965pixelBoxStyles:function(){
3966computeStyleTests();
3967return pixelBoxStylesVal;
3968},
3969pixelPosition:function(){
3970computeStyleTests();
3971return pixelPositionVal;
3972},
3973reliableMarginLeft:function(){
3974computeStyleTests();
3975return reliableMarginLeftVal;
3976},
3977scrollboxSize:function(){
3978computeStyleTests();
3979return scrollboxSizeVal;
3980},
3981reliableTrDimensions:function(){
3982var table,tr,trChild,trStyle;
3983if(reliableTrDimensionsVal==null){
3984table=document.createElement("table");
3985tr=document.createElement("tr");
3986trChild=document.createElement("div");
3987table.style.cssText="position:absolute;left:-11111px;border-collapse:separate";
3988tr.style.cssText="box-sizing:content-box;border:1px solid";
3989tr.style.height="1px";
3990trChild.style.height="9px";
3991trChild.style.display="block";
3992documentElement
3993.appendChild(table)
3994.appendChild(tr)
3995.appendChild(trChild);
3996trStyle=window.getComputedStyle(tr);
3997reliableTrDimensionsVal=(parseInt(trStyle.height,10)+
3998parseInt(trStyle.borderTopWidth,10)+
3999parseInt(trStyle.borderBottomWidth,10))===tr.offsetHeight;
4000documentElement.removeChild(table);
4001}
4002return reliableTrDimensionsVal;
4003}
4004});
4005})();
4006function curCSS(elem,name,computed){
4007var width,minWidth,maxWidth,ret,
4008isCustomProp=rcustomProp.test(name),
4009style=elem.style;
4010computed=computed||getStyles(elem);
4011if(computed){
4012ret=computed.getPropertyValue(name)||computed[name];
4013if(isCustomProp&&ret){
4014ret=ret.replace(rtrimCSS,"$1")||undefined;
4015}
4016if(ret===""&&!isAttached(elem)){
4017ret=jQuery.style(elem,name);
4018}
4019if(!support.pixelBoxStyles()&&rnumnonpx.test(ret)&&rboxStyle.test(name)){
4020width=style.width;
4021minWidth=style.minWidth;
4022maxWidth=style.maxWidth;
4023style.minWidth=style.maxWidth=style.width=ret;
4024ret=computed.width;
4025style.width=width;
4026style.minWidth=minWidth;
4027style.maxWidth=maxWidth;
4028}
4029}
4030return ret!==undefined?
4031ret+"":
4032ret;
4033}
4034function addGetHookIf(conditionFn,hookFn){
4035return{
4036get:function(){
4037if(conditionFn()){
4038delete this.get;
4039return;
4040}
4041return(this.get=hookFn).apply(this,arguments);
4042}
4043};
4044}
4045var cssPrefixes=["Webkit","Moz","ms"],
4046emptyStyle=document.createElement("div").style,
4047vendorProps={};
4048function vendorPropName(name){
4049var capName=name[0].toUpperCase()+name.slice(1),
4050i=cssPrefixes.length;
4051while(i--){
4052name=cssPrefixes[i]+capName;
4053if(name in emptyStyle){
4054return name;
4055}
4056}
4057}
4058function finalPropName(name){
4059var final=jQuery.cssProps[name]||vendorProps[name];
4060if(final){
4061return final;
4062}
4063if(name in emptyStyle){
4064return name;
4065}
4066return vendorProps[name]=vendorPropName(name)||name;
4067}
4068var
4069rdisplayswap=/^(none|table(?!-c[ea]).+)/,
4070cssShow={position:"absolute",visibility:"hidden",display:"block"},
4071cssNormalTransform={
4072letterSpacing:"0",
4073fontWeight:"400"
4074};
4075function setPositiveNumber(_elem,value,subtract){
4076var matches=rcssNum.exec(value);
4077return matches?
4078Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):
4079value;
4080}
4081function boxModelAdjustment(elem,dimension,box,isBorderBox,styles,computedVal){
4082var i=dimension==="width"?1:0,
4083extra=0,
4084delta=0,
4085marginDelta=0;
4086if(box===(isBorderBox?"border":"content")){
4087return 0;
4088}
4089for(;i<4;i+=2){
4090if(box==="margin"){
4091marginDelta+=jQuery.css(elem,box+cssExpand[i],true,styles);
4092}
4093if(!isBorderBox){
4094delta+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4095if(box!=="padding"){
4096delta+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4097}else{
4098extra+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4099}
4100}else{
4101if(box==="content"){
4102delta-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);
4103}
4104if(box!=="margin"){
4105delta-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);
4106}
4107}
4108}
4109if(!isBorderBox&&computedVal>=0){
4110delta+=Math.max(0,Math.ceil(
4111elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4112computedVal-
4113delta-
4114extra-
41150.5
4116))||0;
4117}
4118return delta+marginDelta;
4119}
4120function getWidthOrHeight(elem,dimension,extra){
4121var styles=getStyles(elem),
4122boxSizingNeeded=!support.boxSizingReliable()||extra,
4123isBorderBox=boxSizingNeeded&&
4124jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4125valueIsBorderBox=isBorderBox,
4126val=curCSS(elem,dimension,styles),
4127offsetProp="offset"+dimension[0].toUpperCase()+dimension.slice(1);
4128if(rnumnonpx.test(val)){
4129if(!extra){
4130return val;
4131}
4132val="auto";
4133}
4134if((!support.boxSizingReliable()&&isBorderBox||
4135!support.reliableTrDimensions()&&nodeName(elem,"tr")||
4136val==="auto"||
4137!parseFloat(val)&&jQuery.css(elem,"display",false,styles)==="inline")&&
4138elem.getClientRects().length){
4139isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";
4140valueIsBorderBox=offsetProp in elem;
4141if(valueIsBorderBox){
4142val=elem[offsetProp];
4143}
4144}
4145val=parseFloat(val)||0;
4146return(val+
4147boxModelAdjustment(
4148elem,
4149dimension,
4150extra||(isBorderBox?"border":"content"),
4151valueIsBorderBox,
4152styles,
4153val
4154)
4155)+"px";
4156}
4157jQuery.extend({
4158cssHooks:{
4159opacity:{
4160get:function(elem,computed){
4161if(computed){
4162var ret=curCSS(elem,"opacity");
4163return ret===""?"1":ret;
4164}
4165}
4166}
4167},
4168cssNumber:{
4169animationIterationCount:true,
4170aspectRatio:true,
4171borderImageSlice:true,
4172columnCount:true,
4173flexGrow:true,
4174flexShrink:true,
4175fontWeight:true,
4176gridArea:true,
4177gridColumn:true,
4178gridColumnEnd:true,
4179gridColumnStart:true,
4180gridRow:true,
4181gridRowEnd:true,
4182gridRowStart:true,
4183lineHeight:true,
4184opacity:true,
4185order:true,
4186orphans:true,
4187scale:true,
4188widows:true,
4189zIndex:true,
4190zoom:true,
4191fillOpacity:true,
4192floodOpacity:true,
4193stopOpacity:true,
4194strokeMiterlimit:true,
4195strokeOpacity:true
4196},
4197cssProps:{},
4198style:function(elem,name,value,extra){
4199if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){
4200return;
4201}
4202var ret,type,hooks,
4203origName=camelCase(name),
4204isCustomProp=rcustomProp.test(name),
4205style=elem.style;
4206if(!isCustomProp){
4207name=finalPropName(origName);
4208}
4209hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4210if(value!==undefined){
4211type=typeof value;
4212if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){
4213value=adjustCSS(elem,name,ret);
4214type="number";
4215}
4216if(value==null||value!==value){
4217return;
4218}
4219if(type==="number"&&!isCustomProp){
4220value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");
4221}
4222if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){
4223style[name]="inherit";
4224}
4225if(!hooks||!("set"in hooks)||
4226(value=hooks.set(elem,value,extra))!==undefined){
4227if(isCustomProp){
4228style.setProperty(name,value);
4229}else{
4230style[name]=value;
4231}
4232}
4233}else{
4234if(hooks&&"get"in hooks&&
4235(ret=hooks.get(elem,false,extra))!==undefined){
4236return ret;
4237}
4238return style[name];
4239}
4240},
4241css:function(elem,name,extra,styles){
4242var val,num,hooks,
4243origName=camelCase(name),
4244isCustomProp=rcustomProp.test(name);
4245if(!isCustomProp){
4246name=finalPropName(origName);
4247}
4248hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];
4249if(hooks&&"get"in hooks){
4250val=hooks.get(elem,true,extra);
4251}
4252if(val===undefined){
4253val=curCSS(elem,name,styles);
4254}
4255if(val==="normal"&&name in cssNormalTransform){
4256val=cssNormalTransform[name];
4257}
4258if(extra===""||extra){
4259num=parseFloat(val);
4260return extra===true||isFinite(num)?num||0:val;
4261}
4262return val;
4263}
4264});
4265jQuery.each(["height","width"],function(_i,dimension){
4266jQuery.cssHooks[dimension]={
4267get:function(elem,computed,extra){
4268if(computed){
4269return rdisplayswap.test(jQuery.css(elem,"display"))&&
4270(!elem.getClientRects().length||!elem.getBoundingClientRect().width)?
4271swap(elem,cssShow,function(){
4272return getWidthOrHeight(elem,dimension,extra);
4273}):
4274getWidthOrHeight(elem,dimension,extra);
4275}
4276},
4277set:function(elem,value,extra){
4278var matches,
4279styles=getStyles(elem),
4280scrollboxSizeBuggy=!support.scrollboxSize()&&
4281styles.position==="absolute",
4282boxSizingNeeded=scrollboxSizeBuggy||extra,
4283isBorderBox=boxSizingNeeded&&
4284jQuery.css(elem,"boxSizing",false,styles)==="border-box",
4285subtract=extra?
4286boxModelAdjustment(
4287elem,
4288dimension,
4289extra,
4290isBorderBox,
4291styles
4292):
42930;
4294if(isBorderBox&&scrollboxSizeBuggy){
4295subtract-=Math.ceil(
4296elem["offset"+dimension[0].toUpperCase()+dimension.slice(1)]-
4297parseFloat(styles[dimension])-
4298boxModelAdjustment(elem,dimension,"border",false,styles)-
42990.5
4300);
4301}
4302if(subtract&&(matches=rcssNum.exec(value))&&
4303(matches[3]||"px")!=="px"){
4304elem.style[dimension]=value;
4305value=jQuery.css(elem,dimension);
4306}
4307return setPositiveNumber(elem,value,subtract);
4308}
4309};
4310});
4311jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,
4312function(elem,computed){
4313if(computed){
4314return(parseFloat(curCSS(elem,"marginLeft"))||
4315elem.getBoundingClientRect().left-
4316swap(elem,{marginLeft:0},function(){
4317return elem.getBoundingClientRect().left;
4318})
4319)+"px";
4320}
4321}
4322);
4323jQuery.each({
4324margin:"",
4325padding:"",
4326border:"Width"
4327},function(prefix,suffix){
4328jQuery.cssHooks[prefix+suffix]={
4329expand:function(value){
4330var i=0,
4331expanded={},
4332parts=typeof value==="string"?value.split(" "):[value];
4333for(;i<4;i++){
4334expanded[prefix+cssExpand[i]+suffix]=
4335parts[i]||parts[i-2]||parts[0];
4336}
4337return expanded;
4338}
4339};
4340if(prefix!=="margin"){
4341jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;
4342}
4343});
4344jQuery.fn.extend({
4345css:function(name,value){
4346return access(this,function(elem,name,value){
4347var styles,len,
4348map={},
4349i=0;
4350if(Array.isArray(name)){
4351styles=getStyles(elem);
4352len=name.length;
4353for(;i<len;i++){
4354map[name[i]]=jQuery.css(elem,name[i],false,styles);
4355}
4356return map;
4357}
4358return value!==undefined?
4359jQuery.style(elem,name,value):
4360jQuery.css(elem,name);
4361},name,value,arguments.length>1);
4362}
4363});
4364function Tween(elem,options,prop,end,easing){
4365return new Tween.prototype.init(elem,options,prop,end,easing);
4366}
4367jQuery.Tween=Tween;
4368Tween.prototype={
4369constructor:Tween,
4370init:function(elem,options,prop,end,easing,unit){
4371this.elem=elem;
4372this.prop=prop;
4373this.easing=easing||jQuery.easing._default;
4374this.options=options;
4375this.start=this.now=this.cur();
4376this.end=end;
4377this.unit=unit||(jQuery.cssNumber[prop]?"":"px");
4378},
4379cur:function(){
4380var hooks=Tween.propHooks[this.prop];
4381return hooks&&hooks.get?
4382hooks.get(this):
4383Tween.propHooks._default.get(this);
4384},
4385run:function(percent){
4386var eased,
4387hooks=Tween.propHooks[this.prop];
4388if(this.options.duration){
4389this.pos=eased=jQuery.easing[this.easing](
4390percent,this.options.duration*percent,0,1,this.options.duration
4391);
4392}else{
4393this.pos=eased=percent;
4394}
4395this.now=(this.end-this.start)*eased+this.start;
4396if(this.options.step){
4397this.options.step.call(this.elem,this.now,this);
4398}
4399if(hooks&&hooks.set){
4400hooks.set(this);
4401}else{
4402Tween.propHooks._default.set(this);
4403}
4404return this;
4405}
4406};
4407Tween.prototype.init.prototype=Tween.prototype;
4408Tween.propHooks={
4409_default:{
4410get:function(tween){
4411var result;
4412if(tween.elem.nodeType!==1||
4413tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){
4414return tween.elem[tween.prop];
4415}
4416result=jQuery.css(tween.elem,tween.prop,"");
4417return!result||result==="auto"?0:result;
4418},
4419set:function(tween){
4420if(jQuery.fx.step[tween.prop]){
4421jQuery.fx.step[tween.prop](tween);
4422}else if(tween.elem.nodeType===1&&(
4423jQuery.cssHooks[tween.prop]||
4424tween.elem.style[finalPropName(tween.prop)]!=null)){
4425jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);
4426}else{
4427tween.elem[tween.prop]=tween.now;
4428}
4429}
4430}
4431};
4432Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={
4433set:function(tween){
4434if(tween.elem.nodeType&&tween.elem.parentNode){
4435tween.elem[tween.prop]=tween.now;
4436}
4437}
4438};
4439jQuery.easing={
4440linear:function(p){
4441return p;
4442},
4443swing:function(p){
4444return 0.5-Math.cos(p*Math.PI)/2;
4445},
4446_default:"swing"
4447};
4448jQuery.fx=Tween.prototype.init;
4449jQuery.fx.step={};
4450var
4451fxNow,inProgress,
4452rfxtypes=/^(?:toggle|show|hide)$/,
4453rrun=/queueHooks$/;
4454function schedule(){
4455if(inProgress){
4456if(document.hidden===false&&window.requestAnimationFrame){
4457window.requestAnimationFrame(schedule);
4458}else{
4459window.setTimeout(schedule,jQuery.fx.interval);
4460}
4461jQuery.fx.tick();
4462}
4463}
4464function createFxNow(){
4465window.setTimeout(function(){
4466fxNow=undefined;
4467});
4468return(fxNow=Date.now());
4469}
4470function genFx(type,includeWidth){
4471var which,
4472i=0,
4473attrs={height:type};
4474includeWidth=includeWidth?1:0;
4475for(;i<4;i+=2-includeWidth){
4476which=cssExpand[i];
4477attrs["margin"+which]=attrs["padding"+which]=type;
4478}
4479if(includeWidth){
4480attrs.opacity=attrs.width=type;
4481}
4482return attrs;
4483}
4484function createTween(value,prop,animation){
4485var tween,
4486collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),
4487index=0,
4488length=collection.length;
4489for(;index<length;index++){
4490if((tween=collection[index].call(animation,prop,value))){
4491return tween;
4492}
4493}
4494}
4495function defaultPrefilter(elem,props,opts){
4496var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,
4497isBox="width"in props||"height"in props,
4498anim=this,
4499orig={},
4500style=elem.style,
4501hidden=elem.nodeType&&isHiddenWithinTree(elem),
4502dataShow=dataPriv.get(elem,"fxshow");
4503if(!opts.queue){
4504hooks=jQuery._queueHooks(elem,"fx");
4505if(hooks.unqueued==null){
4506hooks.unqueued=0;
4507oldfire=hooks.empty.fire;
4508hooks.empty.fire=function(){
4509if(!hooks.unqueued){
4510oldfire();
4511}
4512};
4513}
4514hooks.unqueued++;
4515anim.always(function(){
4516anim.always(function(){
4517hooks.unqueued--;
4518if(!jQuery.queue(elem,"fx").length){
4519hooks.empty.fire();
4520}
4521});
4522});
4523}
4524for(prop in props){
4525value=props[prop];
4526if(rfxtypes.test(value)){
4527delete props[prop];
4528toggle=toggle||value==="toggle";
4529if(value===(hidden?"hide":"show")){
4530if(value==="show"&&dataShow&&dataShow[prop]!==undefined){
4531hidden=true;
4532}else{
4533continue;
4534}
4535}
4536orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);
4537}
4538}
4539propTween=!jQuery.isEmptyObject(props);
4540if(!propTween&&jQuery.isEmptyObject(orig)){
4541return;
4542}
4543if(isBox&&elem.nodeType===1){
4544opts.overflow=[style.overflow,style.overflowX,style.overflowY];
4545restoreDisplay=dataShow&&dataShow.display;
4546if(restoreDisplay==null){
4547restoreDisplay=dataPriv.get(elem,"display");
4548}
4549display=jQuery.css(elem,"display");
4550if(display==="none"){
4551if(restoreDisplay){
4552display=restoreDisplay;
4553}else{
4554showHide([elem],true);
4555restoreDisplay=elem.style.display||restoreDisplay;
4556display=jQuery.css(elem,"display");
4557showHide([elem]);
4558}
4559}
4560if(display==="inline"||display==="inline-block"&&restoreDisplay!=null){
4561if(jQuery.css(elem,"float")==="none"){
4562if(!propTween){
4563anim.done(function(){
4564style.display=restoreDisplay;
4565});
4566if(restoreDisplay==null){
4567display=style.display;
4568restoreDisplay=display==="none"?"":display;
4569}
4570}
4571style.display="inline-block";
4572}
4573}
4574}
4575if(opts.overflow){
4576style.overflow="hidden";
4577anim.always(function(){
4578style.overflow=opts.overflow[0];
4579style.overflowX=opts.overflow[1];
4580style.overflowY=opts.overflow[2];
4581});
4582}
4583propTween=false;
4584for(prop in orig){
4585if(!propTween){
4586if(dataShow){
4587if("hidden"in dataShow){
4588hidden=dataShow.hidden;
4589}
4590}else{
4591dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay});
4592}
4593if(toggle){
4594dataShow.hidden=!hidden;
4595}
4596if(hidden){
4597showHide([elem],true);
4598}
4599anim.done(function(){
4600if(!hidden){
4601showHide([elem]);
4602}
4603dataPriv.remove(elem,"fxshow");
4604for(prop in orig){
4605jQuery.style(elem,prop,orig[prop]);
4606}
4607});
4608}
4609propTween=createTween(hidden?dataShow[prop]:0,prop,anim);
4610if(!(prop in dataShow)){
4611dataShow[prop]=propTween.start;
4612if(hidden){
4613propTween.end=propTween.start;
4614propTween.start=0;
4615}
4616}
4617}
4618}
4619function propFilter(props,specialEasing){
4620var index,name,easing,value,hooks;
4621for(index in props){
4622name=camelCase(index);
4623easing=specialEasing[name];
4624value=props[index];
4625if(Array.isArray(value)){
4626easing=value[1];
4627value=props[index]=value[0];
4628}
4629if(index!==name){
4630props[name]=value;
4631delete props[index];
4632}
4633hooks=jQuery.cssHooks[name];
4634if(hooks&&"expand"in hooks){
4635value=hooks.expand(value);
4636delete props[name];
4637for(index in value){
4638if(!(index in props)){
4639props[index]=value[index];
4640specialEasing[index]=easing;
4641}
4642}
4643}else{
4644specialEasing[name]=easing;
4645}
4646}
4647}
4648function Animation(elem,properties,options){
4649var result,
4650stopped,
4651index=0,
4652length=Animation.prefilters.length,
4653deferred=jQuery.Deferred().always(function(){
4654delete tick.elem;
4655}),
4656tick=function(){
4657if(stopped){
4658return false;
4659}
4660var currentTime=fxNow||createFxNow(),
4661remaining=Math.max(0,animation.startTime+animation.duration-currentTime),
4662temp=remaining/animation.duration||0,
4663percent=1-temp,
4664index=0,
4665length=animation.tweens.length;
4666for(;index<length;index++){
4667animation.tweens[index].run(percent);
4668}
4669deferred.notifyWith(elem,[animation,percent,remaining]);
4670if(percent<1&&length){
4671return remaining;
4672}
4673if(!length){
4674deferred.notifyWith(elem,[animation,1,0]);
4675}
4676deferred.resolveWith(elem,[animation]);
4677return false;
4678},
4679animation=deferred.promise({
4680elem:elem,
4681props:jQuery.extend({},properties),
4682opts:jQuery.extend(true,{
4683specialEasing:{},
4684easing:jQuery.easing._default
4685},options),
4686originalProperties:properties,
4687originalOptions:options,
4688startTime:fxNow||createFxNow(),
4689duration:options.duration,
4690tweens:[],
4691createTween:function(prop,end){
4692var tween=jQuery.Tween(elem,animation.opts,prop,end,
4693animation.opts.specialEasing[prop]||animation.opts.easing);
4694animation.tweens.push(tween);
4695return tween;
4696},
4697stop:function(gotoEnd){
4698var index=0,
4699length=gotoEnd?animation.tweens.length:0;
4700if(stopped){
4701return this;
4702}
4703stopped=true;
4704for(;index<length;index++){
4705animation.tweens[index].run(1);
4706}
4707if(gotoEnd){
4708deferred.notifyWith(elem,[animation,1,0]);
4709deferred.resolveWith(elem,[animation,gotoEnd]);
4710}else{
4711deferred.rejectWith(elem,[animation,gotoEnd]);
4712}
4713return this;
4714}
4715}),
4716props=animation.props;
4717propFilter(props,animation.opts.specialEasing);
4718for(;index<length;index++){
4719result=Animation.prefilters[index].call(animation,elem,props,animation.opts);
4720if(result){
4721if(isFunction(result.stop)){
4722jQuery._queueHooks(animation.elem,animation.opts.queue).stop=
4723result.stop.bind(result);
4724}
4725return result;
4726}
4727}
4728jQuery.map(props,createTween,animation);
4729if(isFunction(animation.opts.start)){
4730animation.opts.start.call(elem,animation);
4731}
4732animation
4733.progress(animation.opts.progress)
4734.done(animation.opts.done,animation.opts.complete)
4735.fail(animation.opts.fail)
4736.always(animation.opts.always);
4737jQuery.fx.timer(
4738jQuery.extend(tick,{
4739elem:elem,
4740anim:animation,
4741queue:animation.opts.queue
4742})
4743);
4744return animation;
4745}
4746jQuery.Animation=jQuery.extend(Animation,{
4747tweeners:{
4748"*":[function(prop,value){
4749var tween=this.createTween(prop,value);
4750adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);
4751return tween;
4752}]
4753},
4754tweener:function(props,callback){
4755if(isFunction(props)){
4756callback=props;
4757props=["*"];
4758}else{
4759props=props.match(rnothtmlwhite);
4760}
4761var prop,
4762index=0,
4763length=props.length;
4764for(;index<length;index++){
4765prop=props[index];
4766Animation.tweeners[prop]=Animation.tweeners[prop]||[];
4767Animation.tweeners[prop].unshift(callback);
4768}
4769},
4770prefilters:[defaultPrefilter],
4771prefilter:function(callback,prepend){
4772if(prepend){
4773Animation.prefilters.unshift(callback);
4774}else{
4775Animation.prefilters.push(callback);
4776}
4777}
4778});
4779jQuery.speed=function(speed,easing,fn){
4780var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{
4781complete:fn||!fn&&easing||
4782isFunction(speed)&&speed,
4783duration:speed,
4784easing:fn&&easing||easing&&!isFunction(easing)&&easing
4785};
4786if(jQuery.fx.off){
4787opt.duration=0;
4788}else{
4789if(typeof opt.duration!=="number"){
4790if(opt.duration in jQuery.fx.speeds){
4791opt.duration=jQuery.fx.speeds[opt.duration];
4792}else{
4793opt.duration=jQuery.fx.speeds._default;
4794}
4795}
4796}
4797if(opt.queue==null||opt.queue===true){
4798opt.queue="fx";
4799}
4800opt.old=opt.complete;
4801opt.complete=function(){
4802if(isFunction(opt.old)){
4803opt.old.call(this);
4804}
4805if(opt.queue){
4806jQuery.dequeue(this,opt.queue);
4807}
4808};
4809return opt;
4810};
4811jQuery.fn.extend({
4812fadeTo:function(speed,to,easing,callback){
4813return this.filter(isHiddenWithinTree).css("opacity",0).show()
4814.end().animate({opacity:to},speed,easing,callback);
4815},
4816animate:function(prop,speed,easing,callback){
4817var empty=jQuery.isEmptyObject(prop),
4818optall=jQuery.speed(speed,easing,callback),
4819doAnimation=function(){
4820var anim=Animation(this,jQuery.extend({},prop),optall);
4821if(empty||dataPriv.get(this,"finish")){
4822anim.stop(true);
4823}
4824};
4825doAnimation.finish=doAnimation;
4826return empty||optall.queue===false?
4827this.each(doAnimation):
4828this.queue(optall.queue,doAnimation);
4829},
4830stop:function(type,clearQueue,gotoEnd){
4831var stopQueue=function(hooks){
4832var stop=hooks.stop;
4833delete hooks.stop;
4834stop(gotoEnd);
4835};
4836if(typeof type!=="string"){
4837gotoEnd=clearQueue;
4838clearQueue=type;
4839type=undefined;
4840}
4841if(clearQueue){
4842this.queue(type||"fx",[]);
4843}
4844return this.each(function(){
4845var dequeue=true,
4846index=type!=null&&type+"queueHooks",
4847timers=jQuery.timers,
4848data=dataPriv.get(this);
4849if(index){
4850if(data[index]&&data[index].stop){
4851stopQueue(data[index]);
4852}
4853}else{
4854for(index in data){
4855if(data[index]&&data[index].stop&&rrun.test(index)){
4856stopQueue(data[index]);
4857}
4858}
4859}
4860for(index=timers.length;index--;){
4861if(timers[index].elem===this&&
4862(type==null||timers[index].queue===type)){
4863timers[index].anim.stop(gotoEnd);
4864dequeue=false;
4865timers.splice(index,1);
4866}
4867}
4868if(dequeue||!gotoEnd){
4869jQuery.dequeue(this,type);
4870}
4871});
4872},
4873finish:function(type){
4874if(type!==false){
4875type=type||"fx";
4876}
4877return this.each(function(){
4878var index,
4879data=dataPriv.get(this),
4880queue=data[type+"queue"],
4881hooks=data[type+"queueHooks"],
4882timers=jQuery.timers,
4883length=queue?queue.length:0;
4884data.finish=true;
4885jQuery.queue(this,type,[]);
4886if(hooks&&hooks.stop){
4887hooks.stop.call(this,true);
4888}
4889for(index=timers.length;index--;){
4890if(timers[index].elem===this&&timers[index].queue===type){
4891timers[index].anim.stop(true);
4892timers.splice(index,1);
4893}
4894}
4895for(index=0;index<length;index++){
4896if(queue[index]&&queue[index].finish){
4897queue[index].finish.call(this);
4898}
4899}
4900delete data.finish;
4901});
4902}
4903});
4904jQuery.each(["toggle","show","hide"],function(_i,name){
4905var cssFn=jQuery.fn[name];
4906jQuery.fn[name]=function(speed,easing,callback){
4907return speed==null||typeof speed==="boolean"?
4908cssFn.apply(this,arguments):
4909this.animate(genFx(name,true),speed,easing,callback);
4910};
4911});
4912jQuery.each({
4913slideDown:genFx("show"),
4914slideUp:genFx("hide"),
4915slideToggle:genFx("toggle"),
4916fadeIn:{opacity:"show"},
4917fadeOut:{opacity:"hide"},
4918fadeToggle:{opacity:"toggle"}
4919},function(name,props){
4920jQuery.fn[name]=function(speed,easing,callback){
4921return this.animate(props,speed,easing,callback);
4922};
4923});
4924jQuery.timers=[];
4925jQuery.fx.tick=function(){
4926var timer,
4927i=0,
4928timers=jQuery.timers;
4929fxNow=Date.now();
4930for(;i<timers.length;i++){
4931timer=timers[i];
4932if(!timer()&&timers[i]===timer){
4933timers.splice(i--,1);
4934}
4935}
4936if(!timers.length){
4937jQuery.fx.stop();
4938}
4939fxNow=undefined;
4940};
4941jQuery.fx.timer=function(timer){
4942jQuery.timers.push(timer);
4943jQuery.fx.start();
4944};
4945jQuery.fx.interval=13;
4946jQuery.fx.start=function(){
4947if(inProgress){
4948return;
4949}
4950inProgress=true;
4951schedule();
4952};
4953jQuery.fx.stop=function(){
4954inProgress=null;
4955};
4956jQuery.fx.speeds={
4957slow:600,
4958fast:200,
4959_default:400
4960};
4961jQuery.fn.delay=function(time,type){
4962time=jQuery.fx?jQuery.fx.speeds[time]||time:time;
4963type=type||"fx";
4964return this.queue(type,function(next,hooks){
4965var timeout=window.setTimeout(next,time);
4966hooks.stop=function(){
4967window.clearTimeout(timeout);
4968};
4969});
4970};
4971(function(){
4972var input=document.createElement("input"),
4973select=document.createElement("select"),
4974opt=select.appendChild(document.createElement("option"));
4975input.type="checkbox";
4976support.checkOn=input.value!=="";
4977support.optSelected=opt.selected;
4978input=document.createElement("input");
4979input.value="t";
4980input.type="radio";
4981support.radioValue=input.value==="t";
4982})();
4983var boolHook,
4984attrHandle=jQuery.expr.attrHandle;
4985jQuery.fn.extend({
4986attr:function(name,value){
4987return access(this,jQuery.attr,name,value,arguments.length>1);
4988},
4989removeAttr:function(name){
4990return this.each(function(){
4991jQuery.removeAttr(this,name);
4992});
4993}
4994});
4995jQuery.extend({
4996attr:function(elem,name,value){
4997var ret,hooks,
4998nType=elem.nodeType;
4999if(nType===3||nType===8||nType===2){
5000return;
5001}
5002if(typeof elem.getAttribute==="undefined"){
5003return jQuery.prop(elem,name,value);
5004}
5005if(nType!==1||!jQuery.isXMLDoc(elem)){
5006hooks=jQuery.attrHooks[name.toLowerCase()]||
5007(jQuery.expr.match.bool.test(name)?boolHook:undefined);
5008}
5009if(value!==undefined){
5010if(value===null){
5011jQuery.removeAttr(elem,name);
5012return;
5013}
5014if(hooks&&"set"in hooks&&
5015(ret=hooks.set(elem,value,name))!==undefined){
5016return ret;
5017}
5018elem.setAttribute(name,value+"");
5019return value;
5020}
5021if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5022return ret;
5023}
5024ret=jQuery.find.attr(elem,name);
5025return ret==null?undefined:ret;
5026},
5027attrHooks:{
5028type:{
5029set:function(elem,value){
5030if(!support.radioValue&&value==="radio"&&
5031nodeName(elem,"input")){
5032var val=elem.value;
5033elem.setAttribute("type",value);
5034if(val){
5035elem.value=val;
5036}
5037return value;
5038}
5039}
5040}
5041},
5042removeAttr:function(elem,value){
5043var name,
5044i=0,
5045attrNames=value&&value.match(rnothtmlwhite);
5046if(attrNames&&elem.nodeType===1){
5047while((name=attrNames[i++])){
5048elem.removeAttribute(name);
5049}
5050}
5051}
5052});
5053boolHook={
5054set:function(elem,value,name){
5055if(value===false){
5056jQuery.removeAttr(elem,name);
5057}else{
5058elem.setAttribute(name,name);
5059}
5060return name;
5061}
5062};
5063jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(_i,name){
5064var getter=attrHandle[name]||jQuery.find.attr;
5065attrHandle[name]=function(elem,name,isXML){
5066var ret,handle,
5067lowercaseName=name.toLowerCase();
5068if(!isXML){
5069handle=attrHandle[lowercaseName];
5070attrHandle[lowercaseName]=ret;
5071ret=getter(elem,name,isXML)!=null?
5072lowercaseName:
5073null;
5074attrHandle[lowercaseName]=handle;
5075}
5076return ret;
5077};
5078});
5079var rfocusable=/^(?:input|select|textarea|button)$/i,
5080rclickable=/^(?:a|area)$/i;
5081jQuery.fn.extend({
5082prop:function(name,value){
5083return access(this,jQuery.prop,name,value,arguments.length>1);
5084},
5085removeProp:function(name){
5086return this.each(function(){
5087delete this[jQuery.propFix[name]||name];
5088});
5089}
5090});
5091jQuery.extend({
5092prop:function(elem,name,value){
5093var ret,hooks,
5094nType=elem.nodeType;
5095if(nType===3||nType===8||nType===2){
5096return;
5097}
5098if(nType!==1||!jQuery.isXMLDoc(elem)){
5099name=jQuery.propFix[name]||name;
5100hooks=jQuery.propHooks[name];
5101}
5102if(value!==undefined){
5103if(hooks&&"set"in hooks&&
5104(ret=hooks.set(elem,value,name))!==undefined){
5105return ret;
5106}
5107return(elem[name]=value);
5108}
5109if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){
5110return ret;
5111}
5112return elem[name];
5113},
5114propHooks:{
5115tabIndex:{
5116get:function(elem){
5117var tabindex=jQuery.find.attr(elem,"tabindex");
5118if(tabindex){
5119return parseInt(tabindex,10);
5120}
5121if(
5122rfocusable.test(elem.nodeName)||
5123rclickable.test(elem.nodeName)&&
5124elem.href
5125){
5126return 0;
5127}
5128return-1;
5129}
5130}
5131},
5132propFix:{
5133"for":"htmlFor",
5134"class":"className"
5135}
5136});
5137if(!support.optSelected){
5138jQuery.propHooks.selected={
5139get:function(elem){
5140var parent=elem.parentNode;
5141if(parent&&parent.parentNode){
5142parent.parentNode.selectedIndex;
5143}
5144return null;
5145},
5146set:function(elem){
5147var parent=elem.parentNode;
5148if(parent){
5149parent.selectedIndex;
5150if(parent.parentNode){
5151parent.parentNode.selectedIndex;
5152}
5153}
5154}
5155};
5156}
5157jQuery.each([
5158"tabIndex",
5159"readOnly",
5160"maxLength",
5161"cellSpacing",
5162"cellPadding",
5163"rowSpan",
5164"colSpan",
5165"useMap",
5166"frameBorder",
5167"contentEditable"
5168],function(){
5169jQuery.propFix[this.toLowerCase()]=this;
5170});
5171function stripAndCollapse(value){
5172var tokens=value.match(rnothtmlwhite)||[];
5173return tokens.join(" ");
5174}
5175function getClass(elem){
5176return elem.getAttribute&&elem.getAttribute("class")||"";
5177}
5178function classesToArray(value){
5179if(Array.isArray(value)){
5180return value;
5181}
5182if(typeof value==="string"){
5183return value.match(rnothtmlwhite)||[];
5184}
5185return[];
5186}
5187jQuery.fn.extend({
5188addClass:function(value){
5189var classNames,cur,curValue,className,i,finalValue;
5190if(isFunction(value)){
5191return this.each(function(j){
5192jQuery(this).addClass(value.call(this,j,getClass(this)));
5193});
5194}
5195classNames=classesToArray(value);
5196if(classNames.length){
5197return this.each(function(){
5198curValue=getClass(this);
5199cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5200if(cur){
5201for(i=0;i<classNames.length;i++){
5202className=classNames[i];
5203if(cur.indexOf(" "+className+" ")<0){
5204cur+=className+" ";
5205}
5206}
5207finalValue=stripAndCollapse(cur);
5208if(curValue!==finalValue){
5209this.setAttribute("class",finalValue);
5210}
5211}
5212});
5213}
5214return this;
5215},
5216removeClass:function(value){
5217var classNames,cur,curValue,className,i,finalValue;
5218if(isFunction(value)){
5219return this.each(function(j){
5220jQuery(this).removeClass(value.call(this,j,getClass(this)));
5221});
5222}
5223if(!arguments.length){
5224return this.attr("class","");
5225}
5226classNames=classesToArray(value);
5227if(classNames.length){
5228return this.each(function(){
5229curValue=getClass(this);
5230cur=this.nodeType===1&&(" "+stripAndCollapse(curValue)+" ");
5231if(cur){
5232for(i=0;i<classNames.length;i++){
5233className=classNames[i];
5234while(cur.indexOf(" "+className+" ")>-1){
5235cur=cur.replace(" "+className+" "," ");
5236}
5237}
5238finalValue=stripAndCollapse(cur);
5239if(curValue!==finalValue){
5240this.setAttribute("class",finalValue);
5241}
5242}
5243});
5244}
5245return this;
5246},
5247toggleClass:function(value,stateVal){
5248var classNames,className,i,self,
5249type=typeof value,
5250isValidValue=type==="string"||Array.isArray(value);
5251if(isFunction(value)){
5252return this.each(function(i){
5253jQuery(this).toggleClass(
5254value.call(this,i,getClass(this),stateVal),
5255stateVal
5256);
5257});
5258}
5259if(typeof stateVal==="boolean"&&isValidValue){
5260return stateVal?this.addClass(value):this.removeClass(value);
5261}
5262classNames=classesToArray(value);
5263return this.each(function(){
5264if(isValidValue){
5265self=jQuery(this);
5266for(i=0;i<classNames.length;i++){
5267className=classNames[i];
5268if(self.hasClass(className)){
5269self.removeClass(className);
5270}else{
5271self.addClass(className);
5272}
5273}
5274}else if(value===undefined||type==="boolean"){
5275className=getClass(this);
5276if(className){
5277dataPriv.set(this,"__className__",className);
5278}
5279if(this.setAttribute){
5280this.setAttribute("class",
5281className||value===false?
5282"":
5283dataPriv.get(this,"__className__")||""
5284);
5285}
5286}
5287});
5288},
5289hasClass:function(selector){
5290var className,elem,
5291i=0;
5292className=" "+selector+" ";
5293while((elem=this[i++])){
5294if(elem.nodeType===1&&
5295(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1){
5296return true;
5297}
5298}
5299return false;
5300}
5301});
5302var rreturn=/\r/g;
5303jQuery.fn.extend({
5304val:function(value){
5305var hooks,ret,valueIsFunction,
5306elem=this[0];
5307if(!arguments.length){
5308if(elem){
5309hooks=jQuery.valHooks[elem.type]||
5310jQuery.valHooks[elem.nodeName.toLowerCase()];
5311if(hooks&&
5312"get"in hooks&&
5313(ret=hooks.get(elem,"value"))!==undefined
5314){
5315return ret;
5316}
5317ret=elem.value;
5318if(typeof ret==="string"){
5319return ret.replace(rreturn,"");
5320}
5321return ret==null?"":ret;
5322}
5323return;
5324}
5325valueIsFunction=isFunction(value);
5326return this.each(function(i){
5327var val;
5328if(this.nodeType!==1){
5329return;
5330}
5331if(valueIsFunction){
5332val=value.call(this,i,jQuery(this).val());
5333}else{
5334val=value;
5335}
5336if(val==null){
5337val="";
5338}else if(typeof val==="number"){
5339val+="";
5340}else if(Array.isArray(val)){
5341val=jQuery.map(val,function(value){
5342return value==null?"":value+"";
5343});
5344}
5345hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];
5346if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){
5347this.value=val;
5348}
5349});
5350}
5351});
5352jQuery.extend({
5353valHooks:{
5354option:{
5355get:function(elem){
5356var val=jQuery.find.attr(elem,"value");
5357return val!=null?
5358val:
5359stripAndCollapse(jQuery.text(elem));
5360}
5361},
5362select:{
5363get:function(elem){
5364var value,option,i,
5365options=elem.options,
5366index=elem.selectedIndex,
5367one=elem.type==="select-one",
5368values=one?null:[],
5369max=one?index+1:options.length;
5370if(index<0){
5371i=max;
5372}else{
5373i=one?index:0;
5374}
5375for(;i<max;i++){
5376option=options[i];
5377if((option.selected||i===index)&&
5378!option.disabled&&
5379(!option.parentNode.disabled||
5380!nodeName(option.parentNode,"optgroup"))){
5381value=jQuery(option).val();
5382if(one){
5383return value;
5384}
5385values.push(value);
5386}
5387}
5388return values;
5389},
5390set:function(elem,value){
5391var optionSet,option,
5392options=elem.options,
5393values=jQuery.makeArray(value),
5394i=options.length;
5395while(i--){
5396option=options[i];
5397if(option.selected=
5398jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1
5399){
5400optionSet=true;
5401}
5402}
5403if(!optionSet){
5404elem.selectedIndex=-1;
5405}
5406return values;
5407}
5408}
5409}
5410});
5411jQuery.each(["radio","checkbox"],function(){
5412jQuery.valHooks[this]={
5413set:function(elem,value){
5414if(Array.isArray(value)){
5415return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);
5416}
5417}
5418};
5419if(!support.checkOn){
5420jQuery.valHooks[this].get=function(elem){
5421return elem.getAttribute("value")===null?"on":elem.value;
5422};
5423}
5424});
5425var location=window.location;
5426var nonce={guid:Date.now()};
5427var rquery=(/\?/);
5428jQuery.parseXML=function(data){
5429var xml,parserErrorElem;
5430if(!data||typeof data!=="string"){
5431return null;
5432}
5433try{
5434xml=(new window.DOMParser()).parseFromString(data,"text/xml");
5435}catch(e){}
5436parserErrorElem=xml&&xml.getElementsByTagName("parsererror")[0];
5437if(!xml||parserErrorElem){
5438jQuery.error("Invalid XML: "+(
5439parserErrorElem?
5440jQuery.map(parserErrorElem.childNodes,function(el){
5441return el.textContent;
5442}).join("\n"):
5443data
5444));
5445}
5446return xml;
5447};
5448var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,
5449stopPropagationCallback=function(e){
5450e.stopPropagation();
5451};
5452jQuery.extend(jQuery.event,{
5453trigger:function(event,data,elem,onlyHandlers){
5454var i,cur,tmp,bubbleType,ontype,handle,special,lastElement,
5455eventPath=[elem||document],
5456type=hasOwn.call(event,"type")?event.type:event,
5457namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];
5458cur=lastElement=tmp=elem=elem||document;
5459if(elem.nodeType===3||elem.nodeType===8){
5460return;
5461}
5462if(rfocusMorph.test(type+jQuery.event.triggered)){
5463return;
5464}
5465if(type.indexOf(".")>-1){
5466namespaces=type.split(".");
5467type=namespaces.shift();
5468namespaces.sort();
5469}
5470ontype=type.indexOf(":")<0&&"on"+type;
5471event=event[jQuery.expando]?
5472event:
5473new jQuery.Event(type,typeof event==="object"&&event);
5474event.isTrigger=onlyHandlers?2:3;
5475event.namespace=namespaces.join(".");
5476event.rnamespace=event.namespace?
5477new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):
5478null;
5479event.result=undefined;
5480if(!event.target){
5481event.target=elem;
5482}
5483data=data==null?
5484[event]:
5485jQuery.makeArray(data,[event]);
5486special=jQuery.event.special[type]||{};
5487if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){
5488return;
5489}
5490if(!onlyHandlers&&!special.noBubble&&!isWindow(elem)){
5491bubbleType=special.delegateType||type;
5492if(!rfocusMorph.test(bubbleType+type)){
5493cur=cur.parentNode;
5494}
5495for(;cur;cur=cur.parentNode){
5496eventPath.push(cur);
5497tmp=cur;
5498}
5499if(tmp===(elem.ownerDocument||document)){
5500eventPath.push(tmp.defaultView||tmp.parentWindow||window);
5501}
5502}
5503i=0;
5504while((cur=eventPath[i++])&&!event.isPropagationStopped()){
5505lastElement=cur;
5506event.type=i>1?
5507bubbleType:
5508special.bindType||type;
5509handle=(dataPriv.get(cur,"events")||Object.create(null))[event.type]&&
5510dataPriv.get(cur,"handle");
5511if(handle){
5512handle.apply(cur,data);
5513}
5514handle=ontype&&cur[ontype];
5515if(handle&&handle.apply&&acceptData(cur)){
5516event.result=handle.apply(cur,data);
5517if(event.result===false){
5518event.preventDefault();
5519}
5520}
5521}
5522event.type=type;
5523if(!onlyHandlers&&!event.isDefaultPrevented()){
5524if((!special._default||
5525special._default.apply(eventPath.pop(),data)===false)&&
5526acceptData(elem)){
5527if(ontype&&isFunction(elem[type])&&!isWindow(elem)){
5528tmp=elem[ontype];
5529if(tmp){
5530elem[ontype]=null;
5531}
5532jQuery.event.triggered=type;
5533if(event.isPropagationStopped()){
5534lastElement.addEventListener(type,stopPropagationCallback);
5535}
5536elem[type]();
5537if(event.isPropagationStopped()){
5538lastElement.removeEventListener(type,stopPropagationCallback);
5539}
5540jQuery.event.triggered=undefined;
5541if(tmp){
5542elem[ontype]=tmp;
5543}
5544}
5545}
5546}
5547return event.result;
5548},
5549simulate:function(type,elem,event){
5550var e=jQuery.extend(
5551new jQuery.Event(),
5552event,
5553{
5554type:type,
5555isSimulated:true
5556}
5557);
5558jQuery.event.trigger(e,null,elem);
5559}
5560});
5561jQuery.fn.extend({
5562trigger:function(type,data){
5563return this.each(function(){
5564jQuery.event.trigger(type,data,this);
5565});
5566},
5567triggerHandler:function(type,data){
5568var elem=this[0];
5569if(elem){
5570return jQuery.event.trigger(type,data,elem,true);
5571}
5572}
5573});
5574var
5575rbracket=/\[\]$/,
5576rCRLF=/\r?\n/g,
5577rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,
5578rsubmittable=/^(?:input|select|textarea|keygen)/i;
5579function buildParams(prefix,obj,traditional,add){
5580var name;
5581if(Array.isArray(obj)){
5582jQuery.each(obj,function(i,v){
5583if(traditional||rbracket.test(prefix)){
5584add(prefix,v);
5585}else{
5586buildParams(
5587prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",
5588v,
5589traditional,
5590add
5591);
5592}
5593});
5594}else if(!traditional&&toType(obj)==="object"){
5595for(name in obj){
5596buildParams(prefix+"["+name+"]",obj[name],traditional,add);
5597}
5598}else{
5599add(prefix,obj);
5600}
5601}
5602jQuery.param=function(a,traditional){
5603var prefix,
5604s=[],
5605add=function(key,valueOrFunction){
5606var value=isFunction(valueOrFunction)?
5607valueOrFunction():
5608valueOrFunction;
5609s[s.length]=encodeURIComponent(key)+"="+
5610encodeURIComponent(value==null?"":value);
5611};
5612if(a==null){
5613return"";
5614}
5615if(Array.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){
5616jQuery.each(a,function(){
5617add(this.name,this.value);
5618});
5619}else{
5620for(prefix in a){
5621buildParams(prefix,a[prefix],traditional,add);
5622}
5623}
5624return s.join("&");
5625};
5626jQuery.fn.extend({
5627serialize:function(){
5628return jQuery.param(this.serializeArray());
5629},
5630serializeArray:function(){
5631return this.map(function(){
5632var elements=jQuery.prop(this,"elements");
5633return elements?jQuery.makeArray(elements):this;
5634}).filter(function(){
5635var type=this.type;
5636return this.name&&!jQuery(this).is(":disabled")&&
5637rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&
5638(this.checked||!rcheckableType.test(type));
5639}).map(function(_i,elem){
5640var val=jQuery(this).val();
5641if(val==null){
5642return null;
5643}
5644if(Array.isArray(val)){
5645return jQuery.map(val,function(val){
5646return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5647});
5648}
5649return{name:elem.name,value:val.replace(rCRLF,"\r\n")};
5650}).get();
5651}
5652});
5653var
5654r20=/%20/g,
5655rhash=/#.*$/,
5656rantiCache=/([?&])_=[^&]*/,
5657rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
5658rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
5659rnoContent=/^(?:GET|HEAD)$/,
5660rprotocol=/^\/\//,
5661prefilters={},
5662transports={},
5663allTypes="*/".concat("*"),
5664originAnchor=document.createElement("a");
5665originAnchor.href=location.href;
5666function addToPrefiltersOrTransports(structure){
5667return function(dataTypeExpression,func){
5668if(typeof dataTypeExpression!=="string"){
5669func=dataTypeExpression;
5670dataTypeExpression="*";
5671}
5672var dataType,
5673i=0,
5674dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];
5675if(isFunction(func)){
5676while((dataType=dataTypes[i++])){
5677if(dataType[0]==="+"){
5678dataType=dataType.slice(1)||"*";
5679(structure[dataType]=structure[dataType]||[]).unshift(func);
5680}else{
5681(structure[dataType]=structure[dataType]||[]).push(func);
5682}
5683}
5684}
5685};
5686}
5687function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){
5688var inspected={},
5689seekingTransport=(structure===transports);
5690function inspect(dataType){
5691var selected;
5692inspected[dataType]=true;
5693jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){
5694var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);
5695if(typeof dataTypeOrTransport==="string"&&
5696!seekingTransport&&!inspected[dataTypeOrTransport]){
5697options.dataTypes.unshift(dataTypeOrTransport);
5698inspect(dataTypeOrTransport);
5699return false;
5700}else if(seekingTransport){
5701return!(selected=dataTypeOrTransport);
5702}
5703});
5704return selected;
5705}
5706return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");
5707}
5708function ajaxExtend(target,src){
5709var key,deep,
5710flatOptions=jQuery.ajaxSettings.flatOptions||{};
5711for(key in src){
5712if(src[key]!==undefined){
5713(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];
5714}
5715}
5716if(deep){
5717jQuery.extend(true,target,deep);
5718}
5719return target;
5720}
5721function ajaxHandleResponses(s,jqXHR,responses){
5722var ct,type,finalDataType,firstDataType,
5723contents=s.contents,
5724dataTypes=s.dataTypes;
5725while(dataTypes[0]==="*"){
5726dataTypes.shift();
5727if(ct===undefined){
5728ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");
5729}
5730}
5731if(ct){
5732for(type in contents){
5733if(contents[type]&&contents[type].test(ct)){
5734dataTypes.unshift(type);
5735break;
5736}
5737}
5738}
5739if(dataTypes[0]in responses){
5740finalDataType=dataTypes[0];
5741}else{
5742for(type in responses){
5743if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){
5744finalDataType=type;
5745break;
5746}
5747if(!firstDataType){
5748firstDataType=type;
5749}
5750}
5751finalDataType=finalDataType||firstDataType;
5752}
5753if(finalDataType){
5754if(finalDataType!==dataTypes[0]){
5755dataTypes.unshift(finalDataType);
5756}
5757return responses[finalDataType];
5758}
5759}
5760function ajaxConvert(s,response,jqXHR,isSuccess){
5761var conv2,current,conv,tmp,prev,
5762converters={},
5763dataTypes=s.dataTypes.slice();
5764if(dataTypes[1]){
5765for(conv in s.converters){
5766converters[conv.toLowerCase()]=s.converters[conv];
5767}
5768}
5769current=dataTypes.shift();
5770while(current){
5771if(s.responseFields[current]){
5772jqXHR[s.responseFields[current]]=response;
5773}
5774if(!prev&&isSuccess&&s.dataFilter){
5775response=s.dataFilter(response,s.dataType);
5776}
5777prev=current;
5778current=dataTypes.shift();
5779if(current){
5780if(current==="*"){
5781current=prev;
5782}else if(prev!=="*"&&prev!==current){
5783conv=converters[prev+" "+current]||converters["* "+current];
5784if(!conv){
5785for(conv2 in converters){
5786tmp=conv2.split(" ");
5787if(tmp[1]===current){
5788conv=converters[prev+" "+tmp[0]]||
5789converters["* "+tmp[0]];
5790if(conv){
5791if(conv===true){
5792conv=converters[conv2];
5793}else if(converters[conv2]!==true){
5794current=tmp[0];
5795dataTypes.unshift(tmp[1]);
5796}
5797break;
5798}
5799}
5800}
5801}
5802if(conv!==true){
5803if(conv&&s.throws){
5804response=conv(response);
5805}else{
5806try{
5807response=conv(response);
5808}catch(e){
5809return{
5810state:"parsererror",
5811error:conv?e:"No conversion from "+prev+" to "+current
5812};
5813}
5814}
5815}
5816}
5817}
5818}
5819return{state:"success",data:response};
5820}
5821jQuery.extend({
5822active:0,
5823lastModified:{},
5824etag:{},
5825ajaxSettings:{
5826url:location.href,
5827type:"GET",
5828isLocal:rlocalProtocol.test(location.protocol),
5829global:true,
5830processData:true,
5831async:true,
5832contentType:"application/x-www-form-urlencoded; charset=UTF-8",
5833accepts:{
5834"*":allTypes,
5835text:"text/plain",
5836html:"text/html",
5837xml:"application/xml, text/xml",
5838json:"application/json, text/javascript"
5839},
5840contents:{
5841xml:/\bxml\b/,
5842html:/\bhtml/,
5843json:/\bjson\b/
5844},
5845responseFields:{
5846xml:"responseXML",
5847text:"responseText",
5848json:"responseJSON"
5849},
5850converters:{
5851"* text":String,
5852"text html":true,
5853"text json":JSON.parse,
5854"text xml":jQuery.parseXML
5855},
5856flatOptions:{
5857url:true,
5858context:true
5859}
5860},
5861ajaxSetup:function(target,settings){
5862return settings?
5863ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):
5864ajaxExtend(jQuery.ajaxSettings,target);
5865},
5866ajaxPrefilter:addToPrefiltersOrTransports(prefilters),
5867ajaxTransport:addToPrefiltersOrTransports(transports),
5868ajax:function(url,options){
5869if(typeof url==="object"){
5870options=url;
5871url=undefined;
5872}
5873options=options||{};
5874var transport,
5875cacheURL,
5876responseHeadersString,
5877responseHeaders,
5878timeoutTimer,
5879urlAnchor,
5880completed,
5881fireGlobals,
5882i,
5883uncached,
5884s=jQuery.ajaxSetup({},options),
5885callbackContext=s.context||s,
5886globalEventContext=s.context&&
5887(callbackContext.nodeType||callbackContext.jquery)?
5888jQuery(callbackContext):
5889jQuery.event,
5890deferred=jQuery.Deferred(),
5891completeDeferred=jQuery.Callbacks("once memory"),
5892statusCode=s.statusCode||{},
5893requestHeaders={},
5894requestHeadersNames={},
5895strAbort="canceled",
5896jqXHR={
5897readyState:0,
5898getResponseHeader:function(key){
5899var match;
5900if(completed){
5901if(!responseHeaders){
5902responseHeaders={};
5903while((match=rheaders.exec(responseHeadersString))){
5904responseHeaders[match[1].toLowerCase()+" "]=
5905(responseHeaders[match[1].toLowerCase()+" "]||[])
5906.concat(match[2]);
5907}
5908}
5909match=responseHeaders[key.toLowerCase()+" "];
5910}
5911return match==null?null:match.join(", ");
5912},
5913getAllResponseHeaders:function(){
5914return completed?responseHeadersString:null;
5915},
5916setRequestHeader:function(name,value){
5917if(completed==null){
5918name=requestHeadersNames[name.toLowerCase()]=
5919requestHeadersNames[name.toLowerCase()]||name;
5920requestHeaders[name]=value;
5921}
5922return this;
5923},
5924overrideMimeType:function(type){
5925if(completed==null){
5926s.mimeType=type;
5927}
5928return this;
5929},
5930statusCode:function(map){
5931var code;
5932if(map){
5933if(completed){
5934jqXHR.always(map[jqXHR.status]);
5935}else{
5936for(code in map){
5937statusCode[code]=[statusCode[code],map[code]];
5938}
5939}
5940}
5941return this;
5942},
5943abort:function(statusText){
5944var finalText=statusText||strAbort;
5945if(transport){
5946transport.abort(finalText);
5947}
5948done(0,finalText);
5949return this;
5950}
5951};
5952deferred.promise(jqXHR);
5953s.url=((url||s.url||location.href)+"")
5954.replace(rprotocol,location.protocol+"//");
5955s.type=options.method||options.type||s.method||s.type;
5956s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""];
5957if(s.crossDomain==null){
5958urlAnchor=document.createElement("a");
5959try{
5960urlAnchor.href=s.url;
5961urlAnchor.href=urlAnchor.href;
5962s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==
5963urlAnchor.protocol+"//"+urlAnchor.host;
5964}catch(e){
5965s.crossDomain=true;
5966}
5967}
5968if(s.data&&s.processData&&typeof s.data!=="string"){
5969s.data=jQuery.param(s.data,s.traditional);
5970}
5971inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);
5972if(completed){
5973return jqXHR;
5974}
5975fireGlobals=jQuery.event&&s.global;
5976if(fireGlobals&&jQuery.active++===0){
5977jQuery.event.trigger("ajaxStart");
5978}
5979s.type=s.type.toUpperCase();
5980s.hasContent=!rnoContent.test(s.type);
5981cacheURL=s.url.replace(rhash,"");
5982if(!s.hasContent){
5983uncached=s.url.slice(cacheURL.length);
5984if(s.data&&(s.processData||typeof s.data==="string")){
5985cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data;
5986delete s.data;
5987}
5988if(s.cache===false){
5989cacheURL=cacheURL.replace(rantiCache,"$1");
5990uncached=(rquery.test(cacheURL)?"&":"?")+"_="+(nonce.guid++)+
5991uncached;
5992}
5993s.url=cacheURL+uncached;
5994}else if(s.data&&s.processData&&
5995(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0){
5996s.data=s.data.replace(r20,"+");
5997}
5998if(s.ifModified){
5999if(jQuery.lastModified[cacheURL]){
6000jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);
6001}
6002if(jQuery.etag[cacheURL]){
6003jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);
6004}
6005}
6006if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){
6007jqXHR.setRequestHeader("Content-Type",s.contentType);
6008}
6009jqXHR.setRequestHeader(
6010"Accept",
6011s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?
6012s.accepts[s.dataTypes[0]]+
6013(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):
6014s.accepts["*"]
6015);
6016for(i in s.headers){
6017jqXHR.setRequestHeader(i,s.headers[i]);
6018}
6019if(s.beforeSend&&
6020(s.beforeSend.call(callbackContext,jqXHR,s)===false||completed)){
6021return jqXHR.abort();
6022}
6023strAbort="abort";
6024completeDeferred.add(s.complete);
6025jqXHR.done(s.success);
6026jqXHR.fail(s.error);
6027transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);
6028if(!transport){
6029done(-1,"No Transport");
6030}else{
6031jqXHR.readyState=1;
6032if(fireGlobals){
6033globalEventContext.trigger("ajaxSend",[jqXHR,s]);
6034}
6035if(completed){
6036return jqXHR;
6037}
6038if(s.async&&s.timeout>0){
6039timeoutTimer=window.setTimeout(function(){
6040jqXHR.abort("timeout");
6041},s.timeout);
6042}
6043try{
6044completed=false;
6045transport.send(requestHeaders,done);
6046}catch(e){
6047if(completed){
6048throw e;
6049}
6050done(-1,e);
6051}
6052}
6053function done(status,nativeStatusText,responses,headers){
6054var isSuccess,success,error,response,modified,
6055statusText=nativeStatusText;
6056if(completed){
6057return;
6058}
6059completed=true;
6060if(timeoutTimer){
6061window.clearTimeout(timeoutTimer);
6062}
6063transport=undefined;
6064responseHeadersString=headers||"";
6065jqXHR.readyState=status>0?4:0;
6066isSuccess=status>=200&&status<300||status===304;
6067if(responses){
6068response=ajaxHandleResponses(s,jqXHR,responses);
6069}
6070if(!isSuccess&&
6071jQuery.inArray("script",s.dataTypes)>-1&&
6072jQuery.inArray("json",s.dataTypes)<0){
6073s.converters["text script"]=function(){};
6074}
6075response=ajaxConvert(s,response,jqXHR,isSuccess);
6076if(isSuccess){
6077if(s.ifModified){
6078modified=jqXHR.getResponseHeader("Last-Modified");
6079if(modified){
6080jQuery.lastModified[cacheURL]=modified;
6081}
6082modified=jqXHR.getResponseHeader("etag");
6083if(modified){
6084jQuery.etag[cacheURL]=modified;
6085}
6086}
6087if(status===204||s.type==="HEAD"){
6088statusText="nocontent";
6089}else if(status===304){
6090statusText="notmodified";
6091}else{
6092statusText=response.state;
6093success=response.data;
6094error=response.error;
6095isSuccess=!error;
6096}
6097}else{
6098error=statusText;
6099if(status||!statusText){
6100statusText="error";
6101if(status<0){
6102status=0;
6103}
6104}
6105}
6106jqXHR.status=status;
6107jqXHR.statusText=(nativeStatusText||statusText)+"";
6108if(isSuccess){
6109deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);
6110}else{
6111deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);
6112}
6113jqXHR.statusCode(statusCode);
6114statusCode=undefined;
6115if(fireGlobals){
6116globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",
6117[jqXHR,s,isSuccess?success:error]);
6118}
6119completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);
6120if(fireGlobals){
6121globalEventContext.trigger("ajaxComplete",[jqXHR,s]);
6122if(!(--jQuery.active)){
6123jQuery.event.trigger("ajaxStop");
6124}
6125}
6126}
6127return jqXHR;
6128},
6129getJSON:function(url,data,callback){
6130return jQuery.get(url,data,callback,"json");
6131},
6132getScript:function(url,callback){
6133return jQuery.get(url,undefined,callback,"script");
6134}
6135});
6136jQuery.each(["get","post"],function(_i,method){
6137jQuery[method]=function(url,data,callback,type){
6138if(isFunction(data)){
6139type=type||callback;
6140callback=data;
6141data=undefined;
6142}
6143return jQuery.ajax(jQuery.extend({
6144url:url,
6145type:method,
6146dataType:type,
6147data:data,
6148success:callback
6149},jQuery.isPlainObject(url)&&url));
6150};
6151});
6152jQuery.ajaxPrefilter(function(s){
6153var i;
6154for(i in s.headers){
6155if(i.toLowerCase()==="content-type"){
6156s.contentType=s.headers[i]||"";
6157}
6158}
6159});
6160jQuery._evalUrl=function(url,options,doc){
6161return jQuery.ajax({
6162url:url,
6163type:"GET",
6164dataType:"script",
6165cache:true,
6166async:false,
6167global:false,
6168converters:{
6169"text script":function(){}
6170},
6171dataFilter:function(response){
6172jQuery.globalEval(response,options,doc);
6173}
6174});
6175};
6176jQuery.fn.extend({
6177wrapAll:function(html){
6178var wrap;
6179if(this[0]){
6180if(isFunction(html)){
6181html=html.call(this[0]);
6182}
6183wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);
6184if(this[0].parentNode){
6185wrap.insertBefore(this[0]);
6186}
6187wrap.map(function(){
6188var elem=this;
6189while(elem.firstElementChild){
6190elem=elem.firstElementChild;
6191}
6192return elem;
6193}).append(this);
6194}
6195return this;
6196},
6197wrapInner:function(html){
6198if(isFunction(html)){
6199return this.each(function(i){
6200jQuery(this).wrapInner(html.call(this,i));
6201});
6202}
6203return this.each(function(){
6204var self=jQuery(this),
6205contents=self.contents();
6206if(contents.length){
6207contents.wrapAll(html);
6208}else{
6209self.append(html);
6210}
6211});
6212},
6213wrap:function(html){
6214var htmlIsFunction=isFunction(html);
6215return this.each(function(i){
6216jQuery(this).wrapAll(htmlIsFunction?html.call(this,i):html);
6217});
6218},
6219unwrap:function(selector){
6220this.parent(selector).not("body").each(function(){
6221jQuery(this).replaceWith(this.childNodes);
6222});
6223return this;
6224}
6225});
6226jQuery.expr.pseudos.hidden=function(elem){
6227return!jQuery.expr.pseudos.visible(elem);
6228};
6229jQuery.expr.pseudos.visible=function(elem){
6230return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length);
6231};
6232jQuery.ajaxSettings.xhr=function(){
6233try{
6234return new window.XMLHttpRequest();
6235}catch(e){}
6236};
6237var xhrSuccessStatus={
62380:200,
62391223:204
6240},
6241xhrSupported=jQuery.ajaxSettings.xhr();
6242support.cors=!!xhrSupported&&("withCredentials"in xhrSupported);
6243support.ajax=xhrSupported=!!xhrSupported;
6244jQuery.ajaxTransport(function(options){
6245var callback,errorCallback;
6246if(support.cors||xhrSupported&&!options.crossDomain){
6247return{
6248send:function(headers,complete){
6249var i,
6250xhr=options.xhr();
6251xhr.open(
6252options.type,
6253options.url,
6254options.async,
6255options.username,
6256options.password
6257);
6258if(options.xhrFields){
6259for(i in options.xhrFields){
6260xhr[i]=options.xhrFields[i];
6261}
6262}
6263if(options.mimeType&&xhr.overrideMimeType){
6264xhr.overrideMimeType(options.mimeType);
6265}
6266if(!options.crossDomain&&!headers["X-Requested-With"]){
6267headers["X-Requested-With"]="XMLHttpRequest";
6268}
6269for(i in headers){
6270xhr.setRequestHeader(i,headers[i]);
6271}
6272callback=function(type){
6273return function(){
6274if(callback){
6275callback=errorCallback=xhr.onload=
6276xhr.onerror=xhr.onabort=xhr.ontimeout=
6277xhr.onreadystatechange=null;
6278if(type==="abort"){
6279xhr.abort();
6280}else if(type==="error"){
6281if(typeof xhr.status!=="number"){
6282complete(0,"error");
6283}else{
6284complete(
6285xhr.status,
6286xhr.statusText
6287);
6288}
6289}else{
6290complete(
6291xhrSuccessStatus[xhr.status]||xhr.status,
6292xhr.statusText,
6293(xhr.responseType||"text")!=="text"||
6294typeof xhr.responseText!=="string"?
6295{binary:xhr.response}:
6296{text:xhr.responseText},
6297xhr.getAllResponseHeaders()
6298);
6299}
6300}
6301};
6302};
6303xhr.onload=callback();
6304errorCallback=xhr.onerror=xhr.ontimeout=callback("error");
6305if(xhr.onabort!==undefined){
6306xhr.onabort=errorCallback;
6307}else{
6308xhr.onreadystatechange=function(){
6309if(xhr.readyState===4){
6310window.setTimeout(function(){
6311if(callback){
6312errorCallback();
6313}
6314});
6315}
6316};
6317}
6318callback=callback("abort");
6319try{
6320xhr.send(options.hasContent&&options.data||null);
6321}catch(e){
6322if(callback){
6323throw e;
6324}
6325}
6326},
6327abort:function(){
6328if(callback){
6329callback();
6330}
6331}
6332};
6333}
6334});
6335jQuery.ajaxPrefilter(function(s){
6336if(s.crossDomain){
6337s.contents.script=false;
6338}
6339});
6340jQuery.ajaxSetup({
6341accepts:{
6342script:"text/javascript, application/javascript, "+
6343"application/ecmascript, application/x-ecmascript"
6344},
6345contents:{
6346script:/\b(?:java|ecma)script\b/
6347},
6348converters:{
6349"text script":function(text){
6350jQuery.globalEval(text);
6351return text;
6352}
6353}
6354});
6355jQuery.ajaxPrefilter("script",function(s){
6356if(s.cache===undefined){
6357s.cache=false;
6358}
6359if(s.crossDomain){
6360s.type="GET";
6361}
6362});
6363jQuery.ajaxTransport("script",function(s){
6364if(s.crossDomain||s.scriptAttrs){
6365var script,callback;
6366return{
6367send:function(_,complete){
6368script=jQuery("<script>")
6369.attr(s.scriptAttrs||{})
6370.prop({charset:s.scriptCharset,src:s.url})
6371.on("load error",callback=function(evt){
6372script.remove();
6373callback=null;
6374if(evt){
6375complete(evt.type==="error"?404:200,evt.type);
6376}
6377});
6378document.head.appendChild(script[0]);
6379},
6380abort:function(){
6381if(callback){
6382callback();
6383}
6384}
6385};
6386}
6387});
6388var oldCallbacks=[],
6389rjsonp=/(=)\?(?=&|$)|\?\?/;
6390jQuery.ajaxSetup({
6391jsonp:"callback",
6392jsonpCallback:function(){
6393var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce.guid++));
6394this[callback]=true;
6395return callback;
6396}
6397});
6398jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){
6399var callbackName,overwritten,responseContainer,
6400jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?
6401"url":
6402typeof s.data==="string"&&
6403(s.contentType||"")
6404.indexOf("application/x-www-form-urlencoded")===0&&
6405rjsonp.test(s.data)&&"data"
6406);
6407if(jsonProp||s.dataTypes[0]==="jsonp"){
6408callbackName=s.jsonpCallback=isFunction(s.jsonpCallback)?
6409s.jsonpCallback():
6410s.jsonpCallback;
6411if(jsonProp){
6412s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);
6413}else if(s.jsonp!==false){
6414s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;
6415}
6416s.converters["script json"]=function(){
6417if(!responseContainer){
6418jQuery.error(callbackName+" was not called");
6419}
6420return responseContainer[0];
6421};
6422s.dataTypes[0]="json";
6423overwritten=window[callbackName];
6424window[callbackName]=function(){
6425responseContainer=arguments;
6426};
6427jqXHR.always(function(){
6428if(overwritten===undefined){
6429jQuery(window).removeProp(callbackName);
6430}else{
6431window[callbackName]=overwritten;
6432}
6433if(s[callbackName]){
6434s.jsonpCallback=originalSettings.jsonpCallback;
6435oldCallbacks.push(callbackName);
6436}
6437if(responseContainer&&isFunction(overwritten)){
6438overwritten(responseContainer[0]);
6439}
6440responseContainer=overwritten=undefined;
6441});
6442return"script";
6443}
6444});
6445support.createHTMLDocument=(function(){
6446var body=document.implementation.createHTMLDocument("").body;
6447body.innerHTML="<form></form><form></form>";
6448return body.childNodes.length===2;
6449})();
6450jQuery.parseHTML=function(data,context,keepScripts){
6451if(typeof data!=="string"){
6452return[];
6453}
6454if(typeof context==="boolean"){
6455keepScripts=context;
6456context=false;
6457}
6458var base,parsed,scripts;
6459if(!context){
6460if(support.createHTMLDocument){
6461context=document.implementation.createHTMLDocument("");
6462base=context.createElement("base");
6463base.href=document.location.href;
6464context.head.appendChild(base);
6465}else{
6466context=document;
6467}
6468}
6469parsed=rsingleTag.exec(data);
6470scripts=!keepScripts&&[];
6471if(parsed){
6472return[context.createElement(parsed[1])];
6473}
6474parsed=buildFragment([data],context,scripts);
6475if(scripts&&scripts.length){
6476jQuery(scripts).remove();
6477}
6478return jQuery.merge([],parsed.childNodes);
6479};
6480jQuery.fn.load=function(url,params,callback){
6481var selector,type,response,
6482self=this,
6483off=url.indexOf(" ");
6484if(off>-1){
6485selector=stripAndCollapse(url.slice(off));
6486url=url.slice(0,off);
6487}
6488if(isFunction(params)){
6489callback=params;
6490params=undefined;
6491}else if(params&&typeof params==="object"){
6492type="POST";
6493}
6494if(self.length>0){
6495jQuery.ajax({
6496url:url,
6497type:type||"GET",
6498dataType:"html",
6499data:params
6500}).done(function(responseText){
6501response=arguments;
6502self.html(selector?
6503jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):
6504responseText);
6505}).always(callback&&function(jqXHR,status){
6506self.each(function(){
6507callback.apply(this,response||[jqXHR.responseText,status,jqXHR]);
6508});
6509});
6510}
6511return this;
6512};
6513jQuery.expr.pseudos.animated=function(elem){
6514return jQuery.grep(jQuery.timers,function(fn){
6515return elem===fn.elem;
6516}).length;
6517};
6518jQuery.offset={
6519setOffset:function(elem,options,i){
6520var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,
6521position=jQuery.css(elem,"position"),
6522curElem=jQuery(elem),
6523props={};
6524if(position==="static"){
6525elem.style.position="relative";
6526}
6527curOffset=curElem.offset();
6528curCSSTop=jQuery.css(elem,"top");
6529curCSSLeft=jQuery.css(elem,"left");
6530calculatePosition=(position==="absolute"||position==="fixed")&&
6531(curCSSTop+curCSSLeft).indexOf("auto")>-1;
6532if(calculatePosition){
6533curPosition=curElem.position();
6534curTop=curPosition.top;
6535curLeft=curPosition.left;
6536}else{
6537curTop=parseFloat(curCSSTop)||0;
6538curLeft=parseFloat(curCSSLeft)||0;
6539}
6540if(isFunction(options)){
6541options=options.call(elem,i,jQuery.extend({},curOffset));
6542}
6543if(options.top!=null){
6544props.top=(options.top-curOffset.top)+curTop;
6545}
6546if(options.left!=null){
6547props.left=(options.left-curOffset.left)+curLeft;
6548}
6549if("using"in options){
6550options.using.call(elem,props);
6551}else{
6552curElem.css(props);
6553}
6554}
6555};
6556jQuery.fn.extend({
6557offset:function(options){
6558if(arguments.length){
6559return options===undefined?
6560this:
6561this.each(function(i){
6562jQuery.offset.setOffset(this,options,i);
6563});
6564}
6565var rect,win,
6566elem=this[0];
6567if(!elem){
6568return;
6569}
6570if(!elem.getClientRects().length){
6571return{top:0,left:0};
6572}
6573rect=elem.getBoundingClientRect();
6574win=elem.ownerDocument.defaultView;
6575return{
6576top:rect.top+win.pageYOffset,
6577left:rect.left+win.pageXOffset
6578};
6579},
6580position:function(){
6581if(!this[0]){
6582return;
6583}
6584var offsetParent,offset,doc,
6585elem=this[0],
6586parentOffset={top:0,left:0};
6587if(jQuery.css(elem,"position")==="fixed"){
6588offset=elem.getBoundingClientRect();
6589}else{
6590offset=this.offset();
6591doc=elem.ownerDocument;
6592offsetParent=elem.offsetParent||doc.documentElement;
6593while(offsetParent&&
6594(offsetParent===doc.body||offsetParent===doc.documentElement)&&
6595jQuery.css(offsetParent,"position")==="static"){
6596offsetParent=offsetParent.parentNode;
6597}
6598if(offsetParent&&offsetParent!==elem&&offsetParent.nodeType===1){
6599parentOffset=jQuery(offsetParent).offset();
6600parentOffset.top+=jQuery.css(offsetParent,"borderTopWidth",true);
6601parentOffset.left+=jQuery.css(offsetParent,"borderLeftWidth",true);
6602}
6603}
6604return{
6605top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),
6606left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)
6607};
6608},
6609offsetParent:function(){
6610return this.map(function(){
6611var offsetParent=this.offsetParent;
6612while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){
6613offsetParent=offsetParent.offsetParent;
6614}
6615return offsetParent||documentElement;
6616});
6617}
6618});
6619jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){
6620var top="pageYOffset"===prop;
6621jQuery.fn[method]=function(val){
6622return access(this,function(elem,method,val){
6623var win;
6624if(isWindow(elem)){
6625win=elem;
6626}else if(elem.nodeType===9){
6627win=elem.defaultView;
6628}
6629if(val===undefined){
6630return win?win[prop]:elem[method];
6631}
6632if(win){
6633win.scrollTo(
6634!top?val:win.pageXOffset,
6635top?val:win.pageYOffset
6636);
6637}else{
6638elem[method]=val;
6639}
6640},method,val,arguments.length);
6641};
6642});
6643jQuery.each(["top","left"],function(_i,prop){
6644jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,
6645function(elem,computed){
6646if(computed){
6647computed=curCSS(elem,prop);
6648return rnumnonpx.test(computed)?
6649jQuery(elem).position()[prop]+"px":
6650computed;
6651}
6652}
6653);
6654});
6655jQuery.each({Height:"height",Width:"width"},function(name,type){
6656jQuery.each({
6657padding:"inner"+name,
6658content:type,
6659"":"outer"+name
6660},function(defaultExtra,funcName){
6661jQuery.fn[funcName]=function(margin,value){
6662var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),
6663extra=defaultExtra||(margin===true||value===true?"margin":"border");
6664return access(this,function(elem,type,value){
6665var doc;
6666if(isWindow(elem)){
6667return funcName.indexOf("outer")===0?
6668elem["inner"+name]:
6669elem.document.documentElement["client"+name];
6670}
6671if(elem.nodeType===9){
6672doc=elem.documentElement;
6673return Math.max(
6674elem.body["scroll"+name],doc["scroll"+name],
6675elem.body["offset"+name],doc["offset"+name],
6676doc["client"+name]
6677);
6678}
6679return value===undefined?
6680jQuery.css(elem,type,extra):
6681jQuery.style(elem,type,value,extra);
6682},type,chainable?margin:undefined,chainable);
6683};
6684});
6685});
6686jQuery.each([
6687"ajaxStart",
6688"ajaxStop",
6689"ajaxComplete",
6690"ajaxError",
6691"ajaxSuccess",
6692"ajaxSend"
6693],function(_i,type){
6694jQuery.fn[type]=function(fn){
6695return this.on(type,fn);
6696};
6697});
6698jQuery.fn.extend({
6699bind:function(types,data,fn){
6700return this.on(types,null,data,fn);
6701},
6702unbind:function(types,fn){
6703return this.off(types,null,fn);
6704},
6705delegate:function(selector,types,data,fn){
6706return this.on(types,selector,data,fn);
6707},
6708undelegate:function(selector,types,fn){
6709return arguments.length===1?
6710this.off(selector,"**"):
6711this.off(types,selector||"**",fn);
6712},
6713hover:function(fnOver,fnOut){
6714return this
6715.on("mouseenter",fnOver)
6716.on("mouseleave",fnOut||fnOver);
6717}
6718});
6719jQuery.each(
6720("blur focus focusin focusout resize scroll click dblclick "+
6721"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+
6722"change select submit keydown keypress keyup contextmenu").split(" "),
6723function(_i,name){
6724jQuery.fn[name]=function(data,fn){
6725return arguments.length>0?
6726this.on(name,null,data,fn):
6727this.trigger(name);
6728};
6729}
6730);
6731var rtrim=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;
6732jQuery.proxy=function(fn,context){
6733var tmp,args,proxy;
6734if(typeof context==="string"){
6735tmp=fn[context];
6736context=fn;
6737fn=tmp;
6738}
6739if(!isFunction(fn)){
6740return undefined;
6741}
6742args=slice.call(arguments,2);
6743proxy=function(){
6744return fn.apply(context||this,args.concat(slice.call(arguments)));
6745};
6746proxy.guid=fn.guid=fn.guid||jQuery.guid++;
6747return proxy;
6748};
6749jQuery.holdReady=function(hold){
6750if(hold){
6751jQuery.readyWait++;
6752}else{
6753jQuery.ready(true);
6754}
6755};
6756jQuery.isArray=Array.isArray;
6757jQuery.parseJSON=JSON.parse;
6758jQuery.nodeName=nodeName;
6759jQuery.isFunction=isFunction;
6760jQuery.isWindow=isWindow;
6761jQuery.camelCase=camelCase;
6762jQuery.type=toType;
6763jQuery.now=Date.now;
6764jQuery.isNumeric=function(obj){
6765var type=jQuery.type(obj);
6766return(type==="number"||type==="string")&&
6767!isNaN(obj-parseFloat(obj));
6768};
6769jQuery.trim=function(text){
6770return text==null?
6771"":
6772(text+"").replace(rtrim,"$1");
6773};
6774if(typeof define==="function"&&define.amd){
6775define("jquery",[],function(){
6776return jQuery;
6777});
6778}
6779var
6780_jQuery=window.jQuery,
6781_$=window.$;
6782jQuery.noConflict=function(deep){
6783if(window.$===jQuery){
6784window.$=_$;
6785}
6786if(deep&&window.jQuery===jQuery){
6787window.jQuery=_jQuery;
6788}
6789return jQuery;
6790};
6791if(typeof noGlobal==="undefined"){
6792window.jQuery=window.$=jQuery;
6793}
6794return jQuery;
6795});
6796
6797
6798/* prive/javascript/jquery.form.js?1790327464 */
6799
6800(function(factory){
6801if(typeof define==='function'&&define.amd){
6802define(['jquery'],factory);
6803}else if(typeof module==='object'&&module.exports){
6804module.exports=function(root,jQuery){
6805if(typeof jQuery==='undefined'){
6806if(typeof window!=='undefined'){
6807jQuery=require('jquery');
6808}
6809else{
6810jQuery=require('jquery')(root);
6811}
6812}
6813factory(jQuery);
6814return jQuery;
6815};
6816}else{
6817factory(jQuery);
6818}
6819}(function($){
6820'use strict';
6821var rCRLF=/\r?\n/g;
6822var feature={};
6823feature.fileapi=$('<input type="file">').get(0).files!==undefined;
6824feature.formdata=(typeof window.FormData!=='undefined');
6825var hasProp=!!$.fn.prop;
6826$.fn.attr2=function(){
6827if(!hasProp){
6828return this.attr.apply(this,arguments);
6829}
6830var val=this.prop.apply(this,arguments);
6831if((val&&val.jquery)||typeof val==='string'){
6832return val;
6833}
6834return this.attr.apply(this,arguments);
6835};
6836$.fn.ajaxSubmit=function(options,data,dataType,onSuccess){
6837if(!this.length){
6838log('ajaxSubmit: skipping submit process - no element selected');
6839return this;
6840}
6841var method,action,url,isMsie,iframeSrc,$form=this;
6842if(typeof options==='function'){
6843options={success:options};
6844}else if(typeof options==='string'||(options===false&&arguments.length>0)){
6845options={
6846'url':options,
6847'data':data,
6848'dataType':dataType
6849};
6850if(typeof onSuccess==='function'){
6851options.success=onSuccess;
6852}
6853}else if(typeof options==='undefined'){
6854options={};
6855}
6856method=options.method||options.type||this.attr2('method');
6857action=options.url||this.attr2('action');
6858url=(typeof action==='string')?$.trim(action):'';
6859url=url||window.location.href||'';
6860if(url){
6861url=(url.match(/^([^#]+)/)||[])[1];
6862}
6863isMsie=/(MSIE|Trident)/.test(navigator.userAgent||'');
6864iframeSrc=(isMsie&&/^https/i.test(window.location.href||''))?'javascript:false':'about:blank';
6865options=$.extend(true,{
6866url:url,
6867success:$.ajaxSettings.success,
6868type:method||$.ajaxSettings.type,
6869iframeSrc:iframeSrc
6870},options);
6871var veto={};
6872this.trigger('form-pre-serialize',[this,options,veto]);
6873if(veto.veto){
6874log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
6875return this;
6876}
6877if(options.beforeSerialize&&options.beforeSerialize(this,options)===false){
6878log('ajaxSubmit: submit aborted via beforeSerialize callback');
6879return this;
6880}
6881var traditional=options.traditional;
6882if(typeof traditional==='undefined'){
6883traditional=$.ajaxSettings.traditional;
6884}
6885var elements=[];
6886var qx,a=this.formToArray(options.semantic,elements,options.filtering);
6887if(options.data){
6888var optionsData=$.isFunction(options.data)?options.data(a):options.data;
6889options.extraData=optionsData;
6890qx=$.param(optionsData,traditional);
6891}
6892if(options.beforeSubmit&&options.beforeSubmit(a,this,options)===false){
6893log('ajaxSubmit: submit aborted via beforeSubmit callback');
6894return this;
6895}
6896this.trigger('form-submit-validate',[a,this,options,veto]);
6897if(veto.veto){
6898log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
6899return this;
6900}
6901var q=$.param(a,traditional);
6902if(qx){
6903q=(q?(q+'&'+qx):qx);
6904}
6905if(options.type.toUpperCase()==='GET'){
6906options.url+=(options.url.indexOf('?')>=0?'&':'?')+q;
6907options.data=null;
6908}else{
6909options.data=q;
6910}
6911var callbacks=[];
6912if(options.resetForm){
6913callbacks.push(function(){
6914$form.resetForm();
6915});
6916}
6917if(options.clearForm){
6918callbacks.push(function(){
6919$form.clearForm(options.includeHidden);
6920});
6921}
6922if(!options.dataType&&options.target){
6923var oldSuccess=options.success||function(){};
6924callbacks.push(function(data,textStatus,jqXHR){
6925var successArguments=arguments,
6926fn=options.replaceTarget?'replaceWith':'html';
6927if(fn=='html'){
6928data=$.parseHTML($("<div>").text(data).html())
6929};
6930$(options.target)[fn](data).each(function(){
6931oldSuccess.apply(this,successArguments);
6932});
6933});
6934}else if(options.success){
6935if($.isArray(options.success)){
6936$.merge(callbacks,options.success);
6937}else{
6938callbacks.push(options.success);
6939}
6940}
6941options.success=function(data,status,xhr){
6942var context=options.context||this;
6943for(var i=0,max=callbacks.length;i<max;i++){
6944callbacks[i].apply(context,[data,status,xhr||$form,$form]);
6945}
6946};
6947if(options.error){
6948var oldError=options.error;
6949options.error=function(xhr,status,error){
6950var context=options.context||this;
6951oldError.apply(context,[xhr,status,error,$form]);
6952};
6953}
6954if(options.complete){
6955var oldComplete=options.complete;
6956options.complete=function(xhr,status){
6957var context=options.context||this;
6958oldComplete.apply(context,[xhr,status,$form]);
6959};
6960}
6961var fileInputs=$('input[type=file]:enabled',this).filter(function(){
6962return $(this).val()!=='';
6963});
6964var hasFileInputs=fileInputs.length>0;
6965var mp='multipart/form-data';
6966var multipart=($form.attr('enctype')===mp||$form.attr('encoding')===mp);
6967var fileAPI=feature.fileapi&&feature.formdata;
6968log('fileAPI :'+fileAPI);
6969var shouldUseFrame=(hasFileInputs||multipart)&&!fileAPI;
6970var jqxhr;
6971if(options.iframe!==false&&(options.iframe||shouldUseFrame)){
6972if(options.closeKeepAlive){
6973$.get(options.closeKeepAlive,function(){
6974jqxhr=fileUploadIframe(a);
6975});
6976}else{
6977jqxhr=fileUploadIframe(a);
6978}
6979}else if((hasFileInputs||multipart)&&fileAPI){
6980jqxhr=fileUploadXhr(a);
6981}else{
6982jqxhr=$.ajax(options);
6983}
6984$form.removeData('jqxhr').data('jqxhr',jqxhr);
6985for(var k=0;k<elements.length;k++){
6986elements[k]=null;
6987}
6988this.trigger('form-submit-notify',[this,options]);
6989return this;
6990function deepSerialize(extraData){
6991var serialized=$.param(extraData,options.traditional).split('&');
6992var len=serialized.length;
6993var result=[];
6994var i,part;
6995for(i=0;i<len;i++){
6996serialized[i]=serialized[i].replace(/\+/g,' ');
6997part=serialized[i].split('=');
6998result.push([decodeURIComponent(part[0]),decodeURIComponent(part[1])]);
6999}
7000return result;
7001}
7002function fileUploadXhr(a){
7003var formdata=new FormData();
7004for(var i=0;i<a.length;i++){
7005formdata.append(a[i].name,a[i].value);
7006}
7007if(options.extraData){
7008var serializedData=deepSerialize(options.extraData);
7009for(i=0;i<serializedData.length;i++){
7010if(serializedData[i]){
7011formdata.append(serializedData[i][0],serializedData[i][1]);
7012}
7013}
7014}
7015options.data=null;
7016var s=$.extend(true,{},$.ajaxSettings,options,{
7017contentType:false,
7018processData:false,
7019cache:false,
7020type:method||'POST'
7021});
7022if(options.uploadProgress){
7023s.xhr=function(){
7024var xhr=$.ajaxSettings.xhr();
7025if(xhr.upload){
7026xhr.upload.addEventListener('progress',function(event){
7027var percent=0;
7028var position=event.loaded||event.position;
7029var total=event.total;
7030if(event.lengthComputable){
7031percent=Math.ceil(position/total*100);
7032}
7033options.uploadProgress(event,position,total,percent);
7034},false);
7035}
7036return xhr;
7037};
7038}
7039s.data=null;
7040var beforeSend=s.beforeSend;
7041s.beforeSend=function(xhr,o){
7042if(options.formData){
7043o.data=options.formData;
7044}else{
7045o.data=formdata;
7046}
7047if(beforeSend){
7048beforeSend.call(this,xhr,o);
7049}
7050};
7051return $.ajax(s);
7052}
7053function fileUploadIframe(a){
7054var form=$form[0],el,i,s,g,id,$io,io,xhr,sub,n,timedOut,timeoutHandle;
7055var deferred=$.Deferred();
7056deferred.abort=function(status){
7057xhr.abort(status);
7058};
7059if(a){
7060for(i=0;i<elements.length;i++){
7061el=$(elements[i]);
7062if(hasProp){
7063el.prop('disabled',false);
7064}else{
7065el.removeAttr('disabled');
7066}
7067}
7068}
7069s=$.extend(true,{},$.ajaxSettings,options);
7070s.context=s.context||s;
7071id='jqFormIO'+new Date().getTime();
7072var ownerDocument=form.ownerDocument;
7073var $body=$form.closest('body');
7074if(s.iframeTarget){
7075$io=$(s.iframeTarget,ownerDocument);
7076n=$io.attr2('name');
7077if(!n){
7078$io.attr2('name',id);
7079}else{
7080id=n;
7081}
7082}else{
7083$io=$('<iframe name="'+id+'" src="'+s.iframeSrc+'">',ownerDocument);
7084$io.css({position:'absolute',top:'-1000px',left:'-1000px'});
7085}
7086io=$io[0];
7087xhr={
7088aborted:0,
7089responseText:null,
7090responseXML:null,
7091status:0,
7092statusText:'n/a',
7093getAllResponseHeaders:function(){},
7094getResponseHeader:function(){},
7095setRequestHeader:function(){},
7096abort:function(status){
7097var e=(status==='timeout'?'timeout':'aborted');
7098log('aborting upload... '+e);
7099this.aborted=1;
7100try{
7101if(io.contentWindow.document.execCommand){
7102io.contentWindow.document.execCommand('Stop');
7103}
7104}catch(ignore){}
7105$io.attr('src',s.iframeSrc);
7106xhr.error=e;
7107if(s.error){
7108s.error.call(s.context,xhr,e,status);
7109}
7110if(g){
7111$.event.trigger('ajaxError',[xhr,s,e]);
7112}
7113if(s.complete){
7114s.complete.call(s.context,xhr,e);
7115}
7116}
7117};
7118g=s.global;
7119if(g&&$.active++===0){
7120$.event.trigger('ajaxStart');
7121}
7122if(g){
7123$.event.trigger('ajaxSend',[xhr,s]);
7124}
7125if(s.beforeSend&&s.beforeSend.call(s.context,xhr,s)===false){
7126if(s.global){
7127$.active--;
7128}
7129deferred.reject();
7130return deferred;
7131}
7132if(xhr.aborted){
7133deferred.reject();
7134return deferred;
7135}
7136sub=form.clk;
7137if(sub){
7138n=sub.name;
7139if(n&&!sub.disabled){
7140s.extraData=s.extraData||{};
7141s.extraData[n]=sub.value;
7142if(sub.type==='image'){
7143s.extraData[n+'.x']=form.clk_x;
7144s.extraData[n+'.y']=form.clk_y;
7145}
7146}
7147}
7148var CLIENT_TIMEOUT_ABORT=1;
7149var SERVER_ABORT=2;
7150function getDoc(frame){
7151var doc=null;
7152try{
7153if(frame.contentWindow){
7154doc=frame.contentWindow.document;
7155}
7156}catch(err){
7157log('cannot get iframe.contentWindow document: '+err);
7158}
7159if(doc){
7160return doc;
7161}
7162try{
7163doc=frame.contentDocument?frame.contentDocument:frame.document;
7164}catch(err){
7165log('cannot get iframe.contentDocument: '+err);
7166doc=frame.document;
7167}
7168return doc;
7169}
7170var csrf_token=$('meta[name=csrf-token]').attr('content');
7171var csrf_param=$('meta[name=csrf-param]').attr('content');
7172if(csrf_param&&csrf_token){
7173s.extraData=s.extraData||{};
7174s.extraData[csrf_param]=csrf_token;
7175}
7176function doSubmit(){
7177var t=$form.attr2('target'),
7178a=$form.attr2('action'),
7179mp='multipart/form-data',
7180et=$form.attr('enctype')||$form.attr('encoding')||mp;
7181form.setAttribute('target',id);
7182if(!method||/post/i.test(method)){
7183form.setAttribute('method','POST');
7184}
7185if(a!==s.url){
7186form.setAttribute('action',s.url);
7187}
7188if(!s.skipEncodingOverride&&(!method||/post/i.test(method))){
7189$form.attr({
7190encoding:'multipart/form-data',
7191enctype:'multipart/form-data'
7192});
7193}
7194if(s.timeout){
7195timeoutHandle=setTimeout(function(){
7196timedOut=true;cb(CLIENT_TIMEOUT_ABORT);
7197},s.timeout);
7198}
7199function checkState(){
7200try{
7201var state=getDoc(io).readyState;
7202log('state = '+state);
7203if(state&&state.toLowerCase()==='uninitialized'){
7204setTimeout(checkState,50);
7205}
7206}catch(e){
7207log('Server abort: ',e,' (',e.name,')');
7208cb(SERVER_ABORT);
7209if(timeoutHandle){
7210clearTimeout(timeoutHandle);
7211}
7212timeoutHandle=undefined;
7213}
7214}
7215var extraInputs=[];
7216try{
7217if(s.extraData){
7218for(var n in s.extraData){
7219if(s.extraData.hasOwnProperty(n)){
7220if($.isPlainObject(s.extraData[n])&&s.extraData[n].hasOwnProperty('name')&&s.extraData[n].hasOwnProperty('value')){
7221extraInputs.push(
7222$('<input type="hidden" name="'+s.extraData[n].name+'">',ownerDocument).val(s.extraData[n].value)
7223.appendTo(form)[0]);
7224}else{
7225extraInputs.push(
7226$('<input type="hidden" name="'+n+'">',ownerDocument).val(s.extraData[n])
7227.appendTo(form)[0]);
7228}
7229}
7230}
7231}
7232if(!s.iframeTarget){
7233$io.appendTo($body);
7234}
7235if(io.attachEvent){
7236io.attachEvent('onload',cb);
7237}else{
7238io.addEventListener('load',cb,false);
7239}
7240setTimeout(checkState,15);
7241try{
7242form.submit();
7243}catch(err){
7244var submitFn=document.createElement('form').submit;
7245submitFn.apply(form);
7246}
7247}finally{
7248form.setAttribute('action',a);
7249form.setAttribute('enctype',et);
7250if(t){
7251form.setAttribute('target',t);
7252}else{
7253$form.removeAttr('target');
7254}
7255$(extraInputs).remove();
7256}
7257}
7258if(s.forceSync){
7259doSubmit();
7260}else{
7261setTimeout(doSubmit,10);
7262}
7263var data,doc,domCheckCount=50,callbackProcessed;
7264function cb(e){
7265if(xhr.aborted||callbackProcessed){
7266return;
7267}
7268doc=getDoc(io);
7269if(!doc){
7270log('cannot access response document');
7271e=SERVER_ABORT;
7272}
7273if(e===CLIENT_TIMEOUT_ABORT&&xhr){
7274xhr.abort('timeout');
7275deferred.reject(xhr,'timeout');
7276return;
7277}
7278if(e===SERVER_ABORT&&xhr){
7279xhr.abort('server abort');
7280deferred.reject(xhr,'error','server abort');
7281return;
7282}
7283if(!doc||doc.location.href===s.iframeSrc){
7284if(!timedOut){
7285return;
7286}
7287}
7288if(io.detachEvent){
7289io.detachEvent('onload',cb);
7290}else{
7291io.removeEventListener('load',cb,false);
7292}
7293var status='success',errMsg;
7294try{
7295if(timedOut){
7296throw'timeout';
7297}
7298var isXml=s.dataType==='xml'||doc.XMLDocument||$.isXMLDoc(doc);
7299log('isXml='+isXml);
7300if(!isXml&&window.opera&&(doc.body===null||!doc.body.innerHTML)){
7301if(--domCheckCount){
7302log('requeing onLoad callback, DOM not available');
7303setTimeout(cb,250);
7304return;
7305}
7306}
7307var docRoot=doc.body?doc.body:doc.documentElement;
7308xhr.responseText=docRoot?docRoot.innerHTML:null;
7309xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;
7310if(isXml){
7311s.dataType='xml';
7312}
7313xhr.getResponseHeader=function(header){
7314var headers={'content-type':s.dataType};
7315return headers[header.toLowerCase()];
7316};
7317if(docRoot){
7318xhr.status=Number(docRoot.getAttribute('status'))||xhr.status;
7319xhr.statusText=docRoot.getAttribute('statusText')||xhr.statusText;
7320}
7321var dt=(s.dataType||'').toLowerCase();
7322var scr=/(json|script|text)/.test(dt);
7323if(scr||s.textarea){
7324var ta=doc.getElementsByTagName('textarea')[0];
7325if(ta){
7326xhr.responseText=ta.value;
7327xhr.status=Number(ta.getAttribute('status'))||xhr.status;
7328xhr.statusText=ta.getAttribute('statusText')||xhr.statusText;
7329}else if(scr){
7330var pre=doc.getElementsByTagName('pre')[0];
7331var b=doc.getElementsByTagName('body')[0];
7332if(pre){
7333xhr.responseText=pre.textContent?pre.textContent:pre.innerText;
7334}else if(b){
7335xhr.responseText=b.textContent?b.textContent:b.innerText;
7336}
7337}
7338}else if(dt==='xml'&&!xhr.responseXML&&xhr.responseText){
7339xhr.responseXML=toXml(xhr.responseText);
7340}
7341try{
7342data=httpData(xhr,dt,s);
7343}catch(err){
7344status='parsererror';
7345xhr.error=errMsg=(err||status);
7346}
7347}catch(err){
7348log('error caught: ',err);
7349status='error';
7350xhr.error=errMsg=(err||status);
7351}
7352if(xhr.aborted){
7353log('upload aborted');
7354status=null;
7355}
7356if(xhr.status){
7357status=((xhr.status>=200&&xhr.status<300)||xhr.status===304)?'success':'error';
7358}
7359if(status==='success'){
7360if(s.success){
7361s.success.call(s.context,data,'success',xhr);
7362}
7363deferred.resolve(xhr.responseText,'success',xhr);
7364if(g){
7365$.event.trigger('ajaxSuccess',[xhr,s]);
7366}
7367}else if(status){
7368if(typeof errMsg==='undefined'){
7369errMsg=xhr.statusText;
7370}
7371if(s.error){
7372s.error.call(s.context,xhr,status,errMsg);
7373}
7374deferred.reject(xhr,'error',errMsg);
7375if(g){
7376$.event.trigger('ajaxError',[xhr,s,errMsg]);
7377}
7378}
7379if(g){
7380$.event.trigger('ajaxComplete',[xhr,s]);
7381}
7382if(g&&!--$.active){
7383$.event.trigger('ajaxStop');
7384}
7385if(s.complete){
7386s.complete.call(s.context,xhr,status);
7387}
7388callbackProcessed=true;
7389if(s.timeout){
7390clearTimeout(timeoutHandle);
7391}
7392setTimeout(function(){
7393if(!s.iframeTarget){
7394$io.remove();
7395}else{
7396$io.attr('src',s.iframeSrc);
7397}
7398xhr.responseXML=null;
7399},100);
7400}
7401var toXml=$.parseXML||function(s,doc){
7402if(window.ActiveXObject){
7403doc=new ActiveXObject('Microsoft.XMLDOM');
7404doc.async='false';
7405doc.loadXML(s);
7406}else{
7407doc=(new DOMParser()).parseFromString(s,'text/xml');
7408}
7409return(doc&&doc.documentElement&&doc.documentElement.nodeName!=='parsererror')?doc:null;
7410};
7411var parseJSON=$.parseJSON||function(s){
7412window.console.error('jquery.parseJSON is undefined');
7413return null;
7414};
7415var httpData=function(xhr,type,s){
7416var ct=xhr.getResponseHeader('content-type')||'',
7417xml=((type==='xml'||!type)&&ct.indexOf('xml')>=0),
7418data=xml?xhr.responseXML:xhr.responseText;
7419if(xml&&data.documentElement.nodeName==='parsererror'){
7420if($.error){
7421$.error('parsererror');
7422}
7423}
7424if(s&&s.dataFilter){
7425data=s.dataFilter(data,type);
7426}
7427if(typeof data==='string'){
7428if((type==='json'||!type)&&ct.indexOf('json')>=0){
7429data=parseJSON(data);
7430}else if((type==='script'||!type)&&ct.indexOf('javascript')>=0){
7431$.globalEval(data);
7432}
7433}
7434return data;
7435};
7436return deferred;
7437}
7438};
7439$.fn.ajaxForm=function(options,data,dataType,onSuccess){
7440if(typeof options==='string'||(options===false&&arguments.length>0)){
7441options={
7442'url':options,
7443'data':data,
7444'dataType':dataType
7445};
7446if(typeof onSuccess==='function'){
7447options.success=onSuccess;
7448}
7449}
7450options=options||{};
7451options.delegation=options.delegation&&$.isFunction($.fn.on);
7452if(!options.delegation&&this.length===0){
7453var o={s:this.selector,c:this.context};
7454if(!$.isReady&&o.s){
7455log('DOM not ready, queuing ajaxForm');
7456$(function(){
7457$(o.s,o.c).ajaxForm(options);
7458});
7459return this;
7460}
7461log('terminating; zero elements found by selector'+($.isReady?'':' (DOM not ready)'));
7462return this;
7463}
7464if(options.delegation){
7465$(document)
7466.off('submit.form-plugin',this.selector,doAjaxSubmit)
7467.off('click.form-plugin',this.selector,captureSubmittingElement)
7468.on('submit.form-plugin',this.selector,options,doAjaxSubmit)
7469.on('click.form-plugin',this.selector,options,captureSubmittingElement);
7470return this;
7471}
7472if(options.beforeFormUnbind){
7473options.beforeFormUnbind(this,options);
7474}
7475return this.ajaxFormUnbind()
7476.on('submit.form-plugin',options,doAjaxSubmit)
7477.on('click.form-plugin',options,captureSubmittingElement);
7478};
7479function doAjaxSubmit(e){
7480var options=e.data;
7481if(!e.isDefaultPrevented()){
7482e.preventDefault();
7483$(e.target).closest('form').ajaxSubmit(options);
7484}
7485}
7486function captureSubmittingElement(e){
7487var target=e.target;
7488var $el=$(target);
7489if(!$el.is('[type=submit],[type=image]')){
7490var t=$el.closest('[type=submit]');
7491if(t.length===0){
7492return;
7493}
7494target=t[0];
7495}
7496var form=target.form;
7497form.clk=target;
7498if(target.type==='image'){
7499if(typeof e.offsetX!=='undefined'){
7500form.clk_x=e.offsetX;
7501form.clk_y=e.offsetY;
7502}else if(typeof $.fn.offset==='function'){
7503var offset=$el.offset();
7504form.clk_x=e.pageX-offset.left;
7505form.clk_y=e.pageY-offset.top;
7506}else{
7507form.clk_x=e.pageX-target.offsetLeft;
7508form.clk_y=e.pageY-target.offsetTop;
7509}
7510}
7511setTimeout(function(){
7512form.clk=form.clk_x=form.clk_y=null;
7513},100);
7514}
7515$.fn.ajaxFormUnbind=function(){
7516return this.off('submit.form-plugin click.form-plugin');
7517};
7518$.fn.formToArray=function(semantic,elements,filtering){
7519var a=[];
7520if(this.length===0){
7521return a;
7522}
7523var form=this[0];
7524var formId=this.attr('id');
7525var els=(semantic||typeof form.elements==='undefined')?form.getElementsByTagName('*'):form.elements;
7526var els2;
7527if(els){
7528els=$.makeArray(els);
7529}
7530if(formId&&(semantic||/(Edge|Trident)\//.test(navigator.userAgent))){
7531els2=$(':input[form="'+formId+'"]').get();
7532if(els2.length){
7533els=(els||[]).concat(els2);
7534}
7535}
7536if(!els||!els.length){
7537return a;
7538}
7539if($.isFunction(filtering)){
7540els=$.map(els,filtering);
7541}
7542var i,j,n,v,el,max,jmax;
7543for(i=0,max=els.length;i<max;i++){
7544el=els[i];
7545n=el.name;
7546if(!n||el.disabled){
7547continue;
7548}
7549if(semantic&&form.clk&&el.type==='image'){
7550if(form.clk===el){
7551a.push({name:n,value:$(el).val(),type:el.type});
7552a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7553}
7554continue;
7555}
7556v=$.fieldValue(el,true);
7557if(v&&v.constructor===Array){
7558if(elements){
7559elements.push(el);
7560}
7561for(j=0,jmax=v.length;j<jmax;j++){
7562a.push({name:n,value:v[j]});
7563}
7564}else if(feature.fileapi&&el.type==='file'){
7565if(elements){
7566elements.push(el);
7567}
7568var files=el.files;
7569if(files.length){
7570for(j=0;j<files.length;j++){
7571a.push({name:n,value:files[j],type:el.type});
7572}
7573}else{
7574a.push({name:n,value:'',type:el.type});
7575}
7576}else if(v!==null&&typeof v!=='undefined'){
7577if(elements){
7578elements.push(el);
7579}
7580a.push({name:n,value:v,type:el.type,required:el.required});
7581}
7582}
7583if(!semantic&&form.clk){
7584var $input=$(form.clk),input=$input[0];
7585n=input.name;
7586if(n&&!input.disabled&&input.type==='image'){
7587a.push({name:n,value:$input.val()});
7588a.push({name:n+'.x',value:form.clk_x},{name:n+'.y',value:form.clk_y});
7589}
7590}
7591return a;
7592};
7593$.fn.formSerialize=function(semantic){
7594return $.param(this.formToArray(semantic));
7595};
7596$.fn.fieldSerialize=function(successful){
7597var a=[];
7598this.each(function(){
7599var n=this.name;
7600if(!n){
7601return;
7602}
7603var v=$.fieldValue(this,successful);
7604if(v&&v.constructor===Array){
7605for(var i=0,max=v.length;i<max;i++){
7606a.push({name:n,value:v[i]});
7607}
7608}else if(v!==null&&typeof v!=='undefined'){
7609a.push({name:this.name,value:v});
7610}
7611});
7612return $.param(a);
7613};
7614$.fn.fieldValue=function(successful){
7615for(var val=[],i=0,max=this.length;i<max;i++){
7616var el=this[i];
7617var v=$.fieldValue(el,successful);
7618if(v===null||typeof v==='undefined'||(v.constructor===Array&&!v.length)){
7619continue;
7620}
7621if(v.constructor===Array){
7622$.merge(val,v);
7623}else{
7624val.push(v);
7625}
7626}
7627return val;
7628};
7629$.fieldValue=function(el,successful){
7630var n=el.name,t=el.type,tag=el.tagName.toLowerCase();
7631if(typeof successful==='undefined'){
7632successful=true;
7633}
7634if(successful&&(!n||el.disabled||t==='reset'||t==='button'||
7635(t==='checkbox'||t==='radio')&&!el.checked||
7636(t==='submit'||t==='image')&&el.form&&el.form.clk!==el||
7637tag==='select'&&el.selectedIndex===-1)){
7638return null;
7639}
7640if(tag==='select'){
7641var index=el.selectedIndex;
7642if(index<0){
7643return null;
7644}
7645var a=[],ops=el.options;
7646var one=(t==='select-one');
7647var max=(one?index+1:ops.length);
7648for(var i=(one?index:0);i<max;i++){
7649var op=ops[i];
7650if(op.selected&&!op.disabled){
7651var v=op.value;
7652if(!v){
7653v=(op.attributes&&op.attributes.value&&!(op.attributes.value.specified))?op.text:op.value;
7654}
7655if(one){
7656return v;
7657}
7658a.push(v);
7659}
7660}
7661return a;
7662}
7663return $(el).val().replace(rCRLF,'\r\n');
7664};
7665$.fn.clearForm=function(includeHidden){
7666return this.each(function(){
7667$('input,select,textarea',this).clearFields(includeHidden);
7668});
7669};
7670$.fn.clearFields=$.fn.clearInputs=function(includeHidden){
7671var re=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
7672return this.each(function(){
7673var t=this.type,tag=this.tagName.toLowerCase();
7674if(re.test(t)||tag==='textarea'){
7675this.value='';
7676}else if(t==='checkbox'||t==='radio'){
7677this.checked=false;
7678}else if(tag==='select'){
7679this.selectedIndex=-1;
7680}else if(t==='file'){
7681if(/MSIE/.test(navigator.userAgent)){
7682$(this).replaceWith($(this).clone(true));
7683}else{
7684$(this).val('');
7685}
7686}else if(includeHidden){
7687if((includeHidden===true&&/hidden/.test(t))||
7688(typeof includeHidden==='string'&&$(this).is(includeHidden))){
7689this.value='';
7690}
7691}
7692});
7693};
7694$.fn.resetForm=function(){
7695return this.each(function(){
7696var el=$(this);
7697var tag=this.tagName.toLowerCase();
7698switch(tag){
7699case'input':
7700this.checked=this.defaultChecked;
7701case'textarea':
7702this.value=this.defaultValue;
7703return true;
7704case'option':
7705case'optgroup':
7706var select=el.parents('select');
7707if(select.length&&select[0].multiple){
7708if(tag==='option'){
7709this.selected=this.defaultSelected;
7710}else{
7711el.find('option').resetForm();
7712}
7713}else{
7714select.resetForm();
7715}
7716return true;
7717case'select':
7718el.find('option').each(function(i){
7719this.selected=this.defaultSelected;
7720if(this.defaultSelected&&!el[0].multiple){
7721el[0].selectedIndex=i;
7722return false;
7723}
7724});
7725return true;
7726case'label':
7727var forEl=$(el.attr('for'));
7728var list=el.find('input,select,textarea');
7729if(forEl[0]){
7730list.unshift(forEl[0]);
7731}
7732list.resetForm();
7733return true;
7734case'form':
7735if(typeof this.reset==='function'||(typeof this.reset==='object'&&!this.reset.nodeType)){
7736this.reset();
7737}
7738return true;
7739default:
7740el.find('form,input,label,select,textarea').resetForm();
7741return true;
7742}
7743});
7744};
7745$.fn.enable=function(b){
7746if(typeof b==='undefined'){
7747b=true;
7748}
7749return this.each(function(){
7750this.disabled=!b;
7751});
7752};
7753$.fn.selected=function(select){
7754if(typeof select==='undefined'){
7755select=true;
7756}
7757return this.each(function(){
7758var t=this.type;
7759if(t==='checkbox'||t==='radio'){
7760this.checked=select;
7761}else if(this.tagName.toLowerCase()==='option'){
7762var $sel=$(this).parent('select');
7763if(select&&$sel[0]&&$sel[0].type==='select-one'){
7764$sel.find('option').selected(false);
7765}
7766this.selected=select;
7767}
7768});
7769};
7770$.fn.ajaxSubmit.debug=false;
7771function log(){
7772if(!$.fn.ajaxSubmit.debug){
7773return;
7774}
7775var msg='[jquery.form] '+Array.prototype.join.call(arguments,'');
7776if(window.console&&window.console.log){
7777window.console.log(msg);
7778}else if(window.opera&&window.opera.postError){
7779window.opera.postError(msg);
7780}
7781}
7782}));
7783
7784
7785/* prive/javascript/jquery.autosave.js?1790327464 */
7786
7787(function($){
7788$.fn.autosave=function(opt){
7789opt=$.extend({
7790url:window.location,
7791confirm:false,
7792confirmstring:'Sauvegarder ?'
7793},opt);
7794var save_changed=function(){
7795$('form.autosavechanged')
7796.each(function(){
7797if(!opt.confirm||confirm(opt.confirmstring)){
7798var contenu=$(this).serialize();
7799var d=new Date();
7800contenu=contenu+"&__timestamp="+Math.round(d.getTime()/1000);
7801$.post(opt.url,{
7802'action':'session',
7803'var':'autosave_'+$('input[name=autosave]',this).val(),
7804'val':contenu
7805});
7806}
7807}).removeClass('autosavechanged');
7808};
7809$(window).on('unload',save_changed);
7810return this
7811.on('keyup',function(){
7812$(this).addClass('autosavechanged');
7813})
7814.on('change',function(){
7815$(this).addClass('autosavechanged');
7816save_changed();
7817})
7818.on('submit',function(){
7819save_changed();
7820});
7821};
7822})(jQuery);
7823
7824
7825/* prive/javascript/jquery.placeholder-label.js?1790327464 */
7826
7827(function($){
7828$.placeholderLabel={
7829placeholder_class:null,
7830add_placeholder:function(){
7831if($(this).val()==$(this).attr('placeholder')){
7832$(this).val('').removeClass($.placeholderLabel.placeholder_class);
7833}
7834},
7835remove_placeholder:function(){
7836if($(this).val()==''){
7837$(this).val($(this).attr('placeholder')).addClass($.placeholderLabel.placeholder_class);
7838}
7839},
7840disable_placeholder_fields:function(){
7841$(this).find("input[placeholder]").each(function(){
7842if($(this).val()==$(this).attr('placeholder')){
7843$(this).val('');
7844}
7845});
7846return true;
7847}
7848};
7849$.fn.placeholderLabel=function(options){
7850var dummy=document.createElement('input');
7851if(dummy.placeholder!=undefined){
7852return this;
7853}
7854var config={
7855placeholder_class:'placeholder'
7856};
7857if(options)$.extend(config,options);
7858$.placeholderLabel.placeholder_class=config.placeholder_class;
7859this.each(function(){
7860var input=$(this);
7861input.focus($.placeholderLabel.add_placeholder);
7862input.blur($.placeholderLabel.remove_placeholder);
7863input.triggerHandler('focus');
7864input.triggerHandler('blur');
7865$(this.form).submit($.placeholderL
7865abel.disable_placeholder_fields);
7866});
7867return this;
7868}
7869})(jQuery);
7870
7871
7872/* prive/javascript/ajaxCallback.js?1790327464 */
7873jQuery.spip=jQuery.spip||{};
7874jQuery.spip.log=function(){
7875if(jQuery.spip.debug&&window.console&&window.console.log)
7876window.console.log.apply(this,arguments);
7877}
7878jQuery.spip.test_espace_prive=function(){
7879if(typeof spipConfig.core.test_espace_prive!=undefined&&spipConfig.core.test_espace_prive){
7880return true;
7881}
7882return false;
7883}
7884if(!jQuery.spip.load_handlers){
7885jQuery.spip.load_handlers=new Array();
7886function onAjaxLoad(f){
7887jQuery.spip.load_handlers.push(f);
7888};
7889jQuery.spip.triggerAjaxLoad=function(root){
7890jQuery.spip.log('triggerAjaxLoad');
7891jQuery.spip.log(root);
7892for(var i=0;i<jQuery.spip.load_handlers.length;i++)
7893jQuery.spip.load_handlers[i].apply(root);
7894};
7895jQuery.spip.intercepted={};
7896jQuery.spip.intercepted.load=jQuery.fn.load;
7897jQuery.fn.load=function(url,params,callback){
7898if(typeof url!=="string"){
7899return jQuery.spip.intercepted.load.apply(this,arguments);
7900}
7901callback=callback||function(){};
7902if(params){
7903if(params.constructor==Function){
7904callback=params;
7905params=null;
7906}
7907}
7908params=jQuery.extend(params,{triggerAjaxLoad:false});
7909var callback2=function(){jQuery.spip.log('jQuery.load');jQuery.spip.triggerAjaxLoad(this);callback.apply(this,arguments);};
7910return jQuery.spip.intercepted.load.apply(this,[url,params,callback2]);
7911};
7912jQuery.spip.intercepted.ajaxSubmit=jQuery.fn.ajaxSubmit;
7913jQuery.fn.ajaxSubmit=function(options){
7914options=options||{};
7915if(typeof options.onAjaxLoad=="undefined"||options.onAjaxLoad!=false){
7916var me=jQuery(this).parents('div.ajax');
7917if(me.length)
7918me=me.parent();
7919else
7920me=document;
7921if(typeof options=='function')
7922options={success:options};
7923var callback=options.success||function(){};
7924options.success=function(){callback.apply(this,arguments);jQuery.spip.log('jQuery.ajaxSubmit');jQuery.spip.triggerAjaxLoad(me);}
7925}
7926return jQuery.spip.intercepted.ajaxSubmit.apply(this,[options]);
7927}
7928jQuery.spip.intercepted.ajax=jQuery.ajax;
7929jQuery.ajax=function(url,settings){
7930if(typeof settings=='undefined'){
7931settings={};
7932if(typeof url=='object'){
7933settings=url;
7934url=null;
7935}
7936}
7937if(typeof url=='string'){
7938settings['url']=url;
7939}
7940if(settings.data&&settings.data['triggerAjaxLoad']===false){
7941settings.data['triggerAjaxLoad']=null;
7942return jQuery.spip.intercepted.ajax(settings);
7943}
7944var s=jQuery.extend(true,{},jQuery.ajaxSettings,settings);
7945var callbackContext=s.context||s;
7946try{
7947if(jQuery.ajax.caller==jQuery.spip.intercepted.load||jQuery.ajax.caller==jQuery.spip.intercepted.ajaxSubmit)
7948return jQuery.spip.intercepted.ajax(settings);
7949}
7950catch(err){}
7951var orig_complete=s.complete||function(){};
7952settings.complete=function(res,status){
7953var dataType=settings.dataType;
7954var ct=(res&&(typeof res.getResponseHeader=='function'))
7955?res.getResponseHeader("content-type"):'';
7956var xml=!dataType&&ct&&ct.indexOf("xml")>=0;
7957orig_complete.call(callbackContext,res,status);
7958if((!dataType&&!xml)||dataType=="html"){
7959jQuery.spip.log('jQuery.ajax');
7960if(typeof s.onAjaxLoad=="undefined"||s.onAjaxLoad!=false)
7961jQuery.spip.triggerAjaxLoad(s.ajaxTarget?s.ajaxTarget:document);
7962}
7963};
7964return jQuery.spip.intercepted.ajax(settings);
7965};
7966}
7967jQuery.uaMatch=function(ua){
7968ua=ua.toLowerCase();
7969var match=/(chrome)[ \/]([\w.]+)/.exec(ua)||/(webkit)[ \/]([\w.]+)/.exec(ua)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua)||/(msie) ([\w.]+)/.exec(ua)||
7970ua.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua)||
7971[];
7972return{
7973browser:match[1]||"",
7974version:match[2]||"0"
7975};
7976};
7977if(!jQuery.browser){
7978matched=jQuery.uaMatch(navigator.userAgent);
7979browser={};
7980if(matched.browser){
7981browser[matched.browser]=true;
7982browser.version=matched.version;
7983}
7984if(browser.chrome){
7985browser.webkit=true;
7986}else if(browser.webkit){
7987browser.safari=true;
7988}
7989jQuery.browser=browser;
7990}
7991jQuery.getScript=function(url,callback){
7992return $.ajax({
7993url:url,
7994dataType:"script",
7995success:callback,
7996cache:true
7997});
7998}
7999jQuery.fn.positionner=function(force,setfocus){
8000if(!this.length){
8001return this;
8002}
8003var offset=jQuery(this).offset();
8004var hauteur=parseInt(jQuery(this).css('height'));
8005var marge=jQuery.spip.positionner_marge||5;
8006var scrolltop=self['pageYOffset']||
8007jQuery.boxModel&&document.documentElement['scrollTop']||
8008document.body['scrollTop'];
8009var h=jQuery(window).height();
8010var scroll=0;
8011if(force||(offset&&offset['top']-marge<=scrolltop)){
8012scroll=offset['top']-marge;
8013}
8014else if(offset&&offset['top']+hauteur-h+marge>scrolltop){
8015scroll=Math.min(offset['top']-marge-15,offset['top']+hauteur-h+40);
8016}
8017if(scroll)
8018jQuery('html,body')
8019.animate({scrollTop:scroll},300);
8020if(setfocus!==false)
8021jQuery(jQuery('*',this).filter('input[type=text],textarea')[0]).focus();
8022return this;
8023}
8024jQuery.spip.virtualbuffer_id='spip_virtualbufferupdate';
8025jQuery.spip.initReaderBuffer=function(){
8026if(jQuery('#'+jQuery.spip.virtualbuffer_id).length)return;
8027jQuery('body').append('<div style="float:left;width:0;height:0;position:absolute;left:-5000px;top:-5000px;"><input type="hidden" name="'+jQuery.spip.virtualbuffer_id+'" id="'+jQuery.spip.virtualbuffer_id+'" value="0"></div>');
8028}
8029jQuery.spip.updateReaderBuffer=function(){
8030var i=jQuery('#'+jQuery.spip.virtualbuffer_id);
8031if(!i.length)return;
8032i.val(parseInt(i.val())+1);
8033}
8034jQuery.fn.formulaire_setContainer=function(){
8035if(!this.closest('.ajax-form-container').length){
8036this.find('script').remove();
8037var aria=this.data('aria');
8038var $container=jQuery('<div class="ajax-form-container"></div>');
8039if(aria&&typeof aria==='object'){
8040for(var i in aria){
8041$container=$container.attr(i,aria[i]);
8042}
8043}
8044else{
8045aria=false;
8046}
8047this.wrap($container);
8048if(aria){
8049jQuery('form',this).not('[aria-live]').attr('aria-live','off');
8050}
8051}
8052return this;
8053}
8054jQuery.fn.formulaire_dyn_ajax=function(target){
8055if(this.length)
8056jQuery.spip.initReaderBuffer();
8057return this.each(function(){
8058var scrollwhensubmit=!jQuery(this).is('.noscroll');
8059var cible=target||this;
8060jQuery(cible).formulaire_setContainer();
8061jQuery('form:not(.noajax):not(.bouton_action_post)',this).each(function(){
8062var leform=this;
8063var leclk,leclk_x,leclk_y;
8064var onError=function(xhr,status,error,$form){
8065jQuery(leform).ajaxFormUnbind().find('input[name="var_ajax"]').remove();
8066var msg="Erreur";
8067if(typeof(error_on_ajaxform)!=="undefined")msg=error_on_ajaxform;
8068jQuery(leform).prepend("<p class='error ajax-error none'>"+msg+"</p>").find('.ajax-error').show('fast');
8069jQuery(cible).closest('.ajax-form-container').endLoading(true);
8070}
8071jQuery(this).prepend("<input type='hidden' name='var_ajax' value='form'>")
8072.ajaxForm({
8073beforeSubmit:function(){
8074leclk=leform.clk;
8075var scrollwhensubmit_button=true;
8076if(leclk){
8077scrollwhensubmit_button=!jQuery(leclk).is('.noscroll');
8078var n=leclk.name;
8079if(n&&!leclk.disabled&&leclk.type==="image"){
8080leclk_x=leform.clk_x;
8081leclk_y=leform.clk_y;
8082}
8083}
8084jQuery(cible).wrap('<div />');
8085cible=jQuery(cible).parent();
8086jQuery(cible).closest('.ajax-form-container').animateLoading();
8087if(scrollwhensubmit&&scrollwhensubmit_button){
8088jQuery(cible).positionner(false,false);
8089}
8090},
8091error:onError,
8092success:function(c,status,xhr,$form){
8093if(c.match(/^\s*noajax\s*$/)){
8094jQuery("input[name=var_ajax]",leform).remove();
8095if(leclk){
8096var n=leclk.name;
8097if(n&&!leclk.disabled){
8098jQuery(leform).prepend("<input type='hidden' name='"+n+"' value='"+leclk.value+"'>");
8099if(leclk.type==="image"){
8100jQuery(leform).prepend("<input type='hidden' name='"+n+".x' value='"+leform.clk_x+"'>");
8101jQuery(leform).prepend("<input type='hidden' name='"+n+".y' value='"+leform.clk_y+"'>");
8102}
8103}
8104}
8105jQuery(leform).ajaxFormUnbind().closest('.formulaire_spip').addClass('resubmit-noajax');
8106try{
8107leform.submit();
8108}catch(err){
8109var submitFn=document.createElement('form').submit;
8110submitFn.apply(leform);
8111}
8112}
8113else{
8114if(!c.length||c.indexOf("ajax-form-is-ok")==-1)
8115return onError.apply(this,[status,xhr,$form]);
8116var preloaded=jQuery.spip.preloaded_urls;
8117jQuery.spip.preloaded_urls={};
8118jQuery(cible).html(c);
8119var a=jQuery('a:first',cible).eq(0);
8120var d=jQuery('div.ajax',cible);
8121if(!d.length){
8122jQuery(cible).addClass('ajax');
8123if(!scrollwhensubmit)
8124jQuery(cible).addClass('noscroll');
8125}
8126else{
8127d.siblings('br.bugajaxie').remove();
8128cible=jQuery(":first",cible);
8129cible.unwrap();
8130}
8131if(a.length
8132&&a.is('a[name=ajax_ancre]')
8133&&jQuery(a.attr('href'),cible).length){
8134a=a.attr('href');
8135if(jQuery(a,cible).length)
8136setTimeout(function(){
8137jQuery(a,cible).positionner(false);
8138},10);
8139jQuery(cible).closest('.ajax-form-container').endLoading(true);
8140}
8141else{
8142if(a.length&&a.is('a[name=ajax_redirect]')){
8143a=a.get(0).href;
8144setTimeout(function(){
8145var cur=window.location.href.split('#');
8146document.location.replace(a);
8147if(cur[0]==a.split('#')[0]){
8148window.location.reload();
8149}
8150},10);
8151jQuery(cible).closest('.ajax-form-container').animateLoading();
8152}
8153else{
8154jQuery(cible).closest('.ajax-form-container').endLoading(true);
8155}
8156}
8157if(!jQuery('.reponse_formulaire_ok',cible).length)
8158jQuery.spip.preloaded_urls=preloaded;
8159jQuery.spip.updateReaderBuffer();
8160}
8161}
8162})
8163.addClass('noajax hasajax');
8164});
8165});
8166}
8167jQuery.fn.formulaire_verifier=function(callback,champ){
8168var erreurs={'message_erreur':'form non ajax'};
8169var me=this;
8170if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true'){
8171if(jQuery(me).is('form.hasajax')){
8172jQuery(me).ajaxSubmit({
8173dataType:"json",
8174data:{formulaire_action_verifier_json:true},
8175success:function(errs){
8176var args=[errs,champ]
8177if(jQuery(me).closest('.ajax-form-container').attr('aria-busy')!='true')
8178callback.apply(me,args);
8179}
8180});
8181}
8182else
8183callback.apply(me,[erreurs,champ]);
8184}
8185return this;
8186}
8187jQuery.fn.formulaire_activer_verif_auto=function(callback){
8188callback=callback||formulaire_actualiser_erreurs;
8189var me=jQuery(this).closest('.ajax-form-container');
8190var check=function(){
8191var name=jQuery(this).attr('name');
8192setTimeout(function(){me.find('form').formulaire_verifier(callback,name);},50);
8193}
8194var activer=function(){
8195if(me.find('form').attr('data-verifjson')!='on'){
8196me
8197.find('form')
8198.attr('data-verifjson','on')
8199.find('input,select,textarea')
8200.on('change',check);
8201}
8202}
8203jQuery(activer);
8204onAjaxLoad(function(){setTimeout(activer,150);});
8205}
8206function formulaire_actualiser_erreurs(erreurs){
8207var parent=jQuery(this).closest('.formulaire_spip');
8208if(!parent.length)return;
8209parent.find('.reponse_formulaire,.erreur_message').fadeOut().remove();
8210parent.find('.erreur').removeClass('erreur');
8211if(erreurs['message_ok'])
8212parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_ok">'+erreurs['message_ok']+'</p>');
8213if(erreurs['message_erreur'])
8214parent.find('form').before('<p class="reponse_formulaire reponse_formulaire_erreur">'+erreurs['message_erreur']+'</p>');
8215for(var k in erreurs){
8216var saisie=parent.find('.editer_'+k);
8217if(saisie.length){
8218saisie.addClass('erreur');
8219saisie.find('label').after('<span class="erreur_message">'+erreurs[k]+'</span>');
8220}
8221}
8222}
8223var ajax_confirm=true;
8224var ajax_confirm_date=0;
8225var spip_confirm=window.confirm;
8226function _confirm(message){
8227ajax_confirm=spip_confirm(message);
8228if(!ajax_confirm){
8229var d=new Date();
8230ajax_confirm_date=d.getTime();
8231}
8232return ajax_confirm;
8233}
8234window.confirm=_confirm;
8235var ajaxbloc_selecteur;
8236jQuery.spip.preloaded_urls={};
8237jQuery.spip.on_ajax_loaded=function(blocfrag,c,href,history){
8238history=history||(history==null);
8239if(typeof href==undefined||href==null)
8240history=false;
8241if(history)
8242jQuery.spip.setHistoryState(blocfrag);
8243if(jQuery(blocfrag).attr('data-loaded-callback')){
8244var callback=eval(jQuery(blocfrag).attr('data-loaded-callback'));
8245callback.call(blocfrag,c,href,history);
8246}
8247else{
8248jQuery(blocfrag)
8249.html(c)
8250.endLoading();
8251}
8252if(typeof href!=undefined)
8253jQuery(blocfrag).attr('data-url',href);
8254if(history){
8255var href_history=href;
8256if(href_history.indexOf('var_nullify')!==-1){
8257href_history=parametre_url(href_history,'var_nullify','');
8258}
8259jQuery.spip.pushHistoryState(href_history);
8260jQuery.spip.setHistoryState(blocfrag);
8261}
8262var a=jQuery('a:first',jQuery(blocfrag)).eq(0);
8263if(a.length
8264&&a.is('a[name=ajax_ancre]')
8265&&jQuery(a.attr('href'),blocfrag).length){
8266a=a.attr('href');
8267jQuery(a,blocfrag).positionner(false);
8268}
8269jQuery.spip.log('on_ajax_loaded');
8270jQuery.spip.triggerAjaxLoad(blocfrag);
8271a=jQuery(blocfrag).parents('form.hasajax')
8272if(a.length)
8273a.eq(0).removeClass('noajax').parents('div.ajax').formulaire_dyn_ajax();
8274jQuery.spip.updateReaderBuffer();
8275}
8276jQuery.spip.on_ajax_failed=function(blocfrag,statusCode,href,history){
8277jQuery(blocfrag).addClass('invalid');
8278jQuery.spip.log("Echec AJAX statusCode "+statusCode)
8279history=history||(history==null);
8280if(history){
8281if(jQuery.spip.debug){
8282jQuery.spip.log("On redirige sur sur "+href)
8283}
8284else{
8285window.location.href=href;
8286}
8287}
8288}
8289jQuery.spip.stateId=0;
8290jQuery.spip.setHistoryState=function(blocfrag){
8291if(!window.history.replaceState)return;
8292if(!blocfrag.attr('id')){
8293while(jQuery('#ghsid'+jQuery.spip.stateId).length)
8294jQuery.spip.stateId++;
8295blocfrag.attr('id','ghsid'+jQuery.spip.stateId);
8296}
8297var href=blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8298href=jQuery("<"+"a href='"+href+"'></a>").get(0).href;
8299var state={
8300id:blocfrag.attr('id'),
8301href:href
8302};
8303var ajaxid=blocfrag.attr('class').match(/\bajax-id-[\w-]+\b/);
8304if(ajaxid&&ajaxid.length)
8305state["ajaxid"]=ajaxid[0];
8306window.history.replaceState(state,window.document.title,window.document.location);
8307}
8308jQuery.spip.pushHistoryState=function(href,title){
8309if(!window.history.pushState)
8310return false;
8311window.history.pushState({},title,href);
8312}
8313window.onpopstate=function(popState){
8314if(popState.state&&popState.state.href){
8315var blocfrag=false;
8316if(popState.state.id){
8317blocfrag=jQuery('#'+popState.state.id);
8318}
8319if((!blocfrag||!blocfrag.length)&&popState.state.ajaxid){
8320blocfrag=jQuery('.ajaxbloc.'+popState.state.ajaxid);
8321}
8322if(blocfrag&&blocfrag.length==1){
8323jQuery.spip.ajaxClick(blocfrag,popState.state.href,{history:false});
8324return true;
8325}
8326else{
8327window.location.href=popState.state.href;
8328}
8329}
8330}
8331jQuery.spip.loadAjax=function(blocfrag,url,href,options){
8332var force=options.force||false;
8333if(jQuery(blocfrag).attr('data-loading-callback')){
8334var callback=eval(jQuery(blocfrag).attr('data-loading-callback'));
8335callback.call(blocfrag,url,href,options);
8336}
8337else{
8338jQuery(blocfrag).animateLoading();
8339}
8340if(jQuery.spip.preloaded_urls[url]&&!force){
8341if(jQuery.spip.preloaded_urls[url]=="<!--loading-->"){
8342setTimeout(function(){jQuery.spip.loadAjax(blocfrag,url,href,options);},100);
8343return;
8344}
8345jQuery.spip.on_ajax_loaded(blocfrag,jQuery.spip.preloaded_urls[url],href,options.history);
8346}else{
8347var d=new Date();
8348jQuery.spip.preloaded_urls[url]="<!--loading-->";
8349jQuery.ajax({
8350url:parametre_url(url,'var_t',d.getTime()),
8351onAjaxLoad:false,
8352success:function(c){
8353jQuery.spip.on_ajax_loaded(blocfrag,c,href,options.history);
8354jQuery.spip.preloaded_urls[url]=c;
8355if(options.callback&&typeof options.callback=="function")
8356options.callback.apply(blocfrag);
8357},
8358error:function(e){
8359jQuery.spip.preloaded_urls[url]='';
8360jQuery.spip.on_ajax_failed(blocfrag,e.status,href,options.history);
8361}
8362});
8363}
8364}
8365jQuery.spip.makeAjaxUrl=function(href,ajax_env,origin){
8366var url=href.split('#');
8367url[0]=parametre_url(url[0],'var_ajax',1);
8368url[0]=parametre_url(url[0],'var_ajax_env',ajax_env);
8369if(origin){
8370if(origin.indexOf('var_nullify')!==-1){
8371origin=parametre_url(origin,'var_nullify','');
8372}
8373var p=origin.indexOf('?');
8374var nullify=[];
8375if(p!==-1){
8376var args=origin.substring(p+1).split('&');
8377var val;
8378var arg;
8379for(var n=0;n<args.length;n++){
8380arg=args[n].split('=');
8381arg=decodeURIComponent(arg[0]);
8382p=arg.indexOf('[');
8383if(p!==-1)
8384arg=arg.substring(0,p);
8385val=parametre_url(href,arg);
8386if((typeof val=="undefined"||val==null)&&nullify.indexOf(arg)===-1){
8387nullify.push(arg);
8388}
8389}
8390if(nullify.length){
8391url[0]=url[0]+'&'+'var_nullify='+encodeURIComponent(nullify.join('|'));
8392}
8393}
8394}
8395if(url[1])
8396url[0]=parametre_url(url[0],'var_ajax_ancre',url[1]);
8397return url[0];
8398}
8399jQuery.spip.ajaxReload=function(blocfrag,options){
8400var ajax_env=blocfrag.attr('data-ajax-env');
8401if(!ajax_env||ajax_env==undefined)return;
8402var href=options.href||blocfrag.attr('data-url')||blocfrag.attr('data-origin');
8403if(href&&typeof href!=undefined){
8404if(href.indexOf('var_nullify')!==-1){
8405href=parametre_url(href,'var_nullify','');
8406}
8407options=options||{};
8408var callback=options.callback||null;
8409var history=options.history||false;
8410var args=options.args||{};
8411for(var key in args){
8412href=parametre_url(href,key,args[key]==undefined?'':args[key],'&',args[key]==undefined?false:true);
8413}
8414var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8415jQuery.spip.loadAjax(blocfrag,url,href,{force:true,callback:callback,history:history});
8416return true;
8417}
8418}
8419jQuery.spip.ajaxClick=function(blocfrag,href,options){
8420var ajax_env=blocfrag.attr('data-ajax-env');
8421if(!ajax_env||ajax_env==undefined)return;
8422if(!ajax_confirm){
8423ajax_confirm=true;
8424var d=new Date();
8425if((d.getTime()-ajax_confirm_date)<=2)
8426return false;
8427}
8428var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8429jQuery.spip.loadAjax(blocfrag,url,href,options);
8430return false;
8431}
8432jQuery.fn.ajaxbloc=function(){
8433if(this.length)
8434jQuery.spip.initReaderBuffer();
8435if(ajaxbloc_selecteur==undefined)
8436ajaxbloc_selecteur='.pagination a,a.ajax';
8437return this.each(function(){
8438jQuery('div.ajaxbloc',this).ajaxbloc();
8439var blocfrag=jQuery(this);
8440var ajax_env=blocfrag.attr('data-ajax-env');
8441if(!ajax_env||ajax_env==undefined)return;
8442blocfrag.not('.bind-ajaxReload').on('ajaxReload',function(event,options){
8443if(jQuery.spip.ajaxReload(blocfrag,options))
8444event.stopPropagation();
8445}).addClass('bind-ajaxReload');
8446jQuery(ajaxbloc_selecteur,this).not('.noajax,.bind-ajax')
8447.click(function(){return jQuery.spip.ajaxClick(blocfrag,this.href,{force:jQuery(this).is('.nocache'),history:!(jQuery(this).is('.nohistory')||jQuery(this).closest('.box_modalbox').length)});})
8448.addClass('bind-ajax')
8449.filter('.preload').each(function(){
8450var href=this.href;
8451var url=jQuery.spip.makeAjaxUrl(href,ajax_env,blocfrag.attr('data-origin'));
8452if(!jQuery.spip.preloaded_urls[url]){
8453jQuery.spip.preloaded_urls[url]='<!--loading-->';
8454jQuery.ajax({url:url,onAjaxLoad:false,success:function(r){jQuery.spip.preloaded_urls[url]=r;},error:function(){jQuery.spip.preloaded_urls[url]='';}});
8455}
8456});
8457jQuery('form.bouton_action_post.ajax',this).not('.noajax,.bind-ajax').each(function(){
8458var leform=this;
8459var url=jQuery(this).attr('action').split('#');
8460var scrollwhensubmit=(!jQuery(this).is('.noscroll')&&!jQuery('.submit',this).is('.noscroll'));
8461jQuery(this)
8462.prepend("<input type='hidden' name='var_ajax' value='1'><input type='hidden' name='var_ajax_env' value='"+(ajax_env)+"'>"+(url[1]?"<input type='hidden' name='var_ajax_ancre' value='"+url[1]+"'>":""))
8463.ajaxForm({
8464beforeSubmit:function(){
8465jQuery(blocfrag).animateLoading();
8466if(scrollwhensubmit){
8467jQuery(blocfrag).positionner(false);
8468}
8469},
8470onAjaxLoad:false,
8471success:function(c){
8472jQuery.spip.on_ajax_loaded(blocfrag,c);
8473jQuery.spip.preloaded_urls={};
8474},
8475error:function(e){
8476jQuery.spip.preloaded_urls={};
8477var href=parametre_url(url,'redirect');
8478if(!href){
8479href=window.location.href;
8480}
8481jQuery.spip.on_ajax_failed(blocfrag,e.status,href,e.status===400);
8482}
8483})
8484.addClass('bind-ajax');
8485});
8486});
8487};
8488jQuery.fn.followLink=function(){
8489$(this).click();
8490if(!$(this).is('.bind-ajax'))
8491window.location.href=$(this).get(0).href;
8492return this;
8493}
8494function ajaxReload(ajaxid,options){
8495jQuery('div.ajaxbloc.ajax-id-'+ajaxid).ajaxReload(options);
8496}
8497jQuery.fn.ajaxReload=function(options){
8498options=options||{};
8499jQuery(this).trigger('ajaxReload',[options]);
8500return this;
8501}
8502jQuery.fn.animateLoading=function(){
8503this.attr('aria-busy','true').addClass('loading').children().css('opacity',0.5);
8504if(typeof ajax_image_searching!='undefined'){
8505var i=(this).find('.image_loading');
8506if(i.length)i.eq(0).html(ajax_image_searching);
8507else this.prepend('<span class="image_loading">'+ajax_image_searching+'</span>');
8508}
8509return this;
8510}
8511jQuery.fn.animeajax=jQuery.fn.animateLoading;
8512jQuery.fn.endLoading=function(hard){
8513hard=hard||false;
8514this.attr('aria-busy','false').removeClass('loading');
8515if(hard){
8516this.children().css('opacity','');
8517this.find('.image_loading').html('');
8518}
8519return this;
8520}
8521jQuery.fn.animateRemove=function(callback){
8522if(this.length){
8523var me=this;
8524var color=$("<div class='remove'></div>").css('background-color');
8525var sel=$(this);
8526if(sel.is('tr'))
8527sel=sel.add('>td',sel);
8528sel.addClass('remove').css({backgroundColor:color}).animate({opacity:"0.0"},'fast',function(){
8529sel.removeClass('remove').css({backgroundColor:''});
8530if(callback)
8531callback.apply(me);
8532});
8533}
8534return this;
8535}
8536jQuery.fn.animateAppend=function(callback){
8537if(this.length){
8538var me=this;
8539var color=$("<div class='append'></div>").css('background-color');
8540var origin=$(this).css('background-color')||'#ffffff';
8541if(origin=='transparent')origin='#ffffff';
8542var sel=$(this);
8543if(sel.is('tr'))
8544sel=sel.add('>td',sel);
8545sel.css('opacity','0.0').addClass('append').css({backgroundColor:color}).animate({opacity:"1.0"},1000,function(){
8546sel.animate({backgroundColor:origin},3000,function(){
8547sel.removeClass('append').css({backgroundColor:''});
8548if(callback)
8549callback.apply(me);
8550});
8551});
8552}
8553return this;
8554}
8555function parametre_url(url,c,v,sep,force_vide){
8556if(typeof(url)=='undefined'){
8557url='';
8558}
8559var p;
8560var ancre='';
8561var a='./';
8562var args=[];
8563p=url.indexOf('#');
8564if(p!=-1){
8565ancre=url.substring(p);
8566url=url.substring(0,p);
8567}
8568p=url.indexOf('?');
8569if(p!==-1){
8570if(p>0)a=url.substring(0,p);
8571args=url.substring(p+1).split('&');
8572}
8573else
8574a=url;
8575var regexp=new RegExp('^('+c.replace('[]','\\[\\]')+'\\[?\\]?)(=.*)?$');
8576var ajouts=[];
8577var u=(typeof(v)!=='object')?encodeURIComponent(v):v;
8578var na=[];
8579var v_read=null;
8580for(var n=0;n<args.length;n++){
8581var val=args[n];
8582try{
8583val=decodeURIComponent(val);
8584}catch(e){}
8585var r=val.match(regexp);
8586if(r&&r.length){
8587if(v==null){
8588if(r[1].substr(-2)=='[]'){
8589if(!v_read)v_read=[];
8590v_read.push((r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'');
8591}
8592else{
8593return(r.length>2&&typeof r[2]!=='undefined')?r[2].substring(1):'';
8594}
8595}
8596else if(!v.length){
8597}
8598else if(r[1].substr(-2)!='[]'){
8599na.push(r[1]+'='+u);
8600ajouts.push(r[1]);
8601}
8602}
8603else
8604na.push(args[n]);
8605}
8606if(v==null)return v_read;
8607if(v||v.length||force_vide){
8608ajouts="="+ajouts.join("=")+"=";
8609var all=c.split('|');
8610for(n=0;n<all.length;n++){
8611if(ajouts.search("="+all[n]+"=")==-1){
8612if(typeof(v)!=='object'){
8613na.push(all[n]+'='+u);
8614}
8615else{
8616var id=((all[n].substring(-2)=='[]')?all[n]:all[n]+"[]");
8617for(p=0;p<v.length;p++)
8618na.push(id+'='+encodeURIComponent(v[p]));
8619}
8620}
8621}
8622}
8623if(na.length){
8624if(!sep)sep='&';
8625a=a+"?"+na.join(sep);
8626}
8627return a+ancre;
8628}
8629function spip_logo_survol_hover(){
8630var me=jQuery(this);
8631if(me.attr('data-src-hover')){
8632me.attr('data-src-original',me.attr('src'));
8633me.attr('src',me.attr('data-src-hover'));
8634}
8635}
8636function spip_logo_survol_out(){
8637var me=jQuery(this);
8638if(me.attr('data-src-original')){
8639me.attr('src',me.attr('data-src-original'));
8640}
8641}
8642function disableClickAfterFormSubmit(){
8643if(jQuery(this).is('.processing-submitted-form')){
8644return false;
8645}
8646jQuery(this)
8647.addClass('processing-submitted-form')
8648.find('button[type="submit"]')
8649.attr('disabled','disabled')
8650.addClass('disabled')
8651}
8652function puce_enable_survol(){
8653jQuery('span.puce_objet_popup a',this).not('.puce-survol-enabled').click(function(){
8654selec_statut(jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-decal'),jQuery('img',this).attr('src'),jQuery(this).attr('data-puce-action'));
8655return false;
8656}).addClass('puce-survol-enabled');
8657jQuery('span.puce_objet',this).not('.puce-survol-enabled').mouseover(function(){
8658if(!this.puce_loaded){
8659this.puce_loaded=true;prepare_selec_statut(this,jQuery(this).attr('data-puce-nom'),jQuery(this).attr('data-puce-type'),jQuery(this).attr('data-puce-id'),jQuery(this).attr('data-puce-action'));
8660}
8661}).addClass('puce-survol-enabled');
8662}
8663if(!window.var_zajax_content)
8664window.var_zajax_content='contenu';
8665jQuery(function(){
8666jQuery('form:not(.bouton_action_post)').parents('div.ajax')
8667.formulaire_dyn_ajax();
8668jQuery('div.ajaxbloc').ajaxbloc();
8669jQuery("input[placeholder]:text").placeholderLabel();
8670jQuery('.spip_logo_survol').hover(spip_logo_survol_hover,spip_logo_survol_out);
8671puce_enable_survol.apply(this);
8672jQuery('body').on('submit','form.bouton_action_post',disableClickAfterFormSubmit);
8673});
8674onAjaxLoad(function(){
8675if(jQuery){
8676jQuery('form:not(.bouton_action_post)',this).parents('div.ajax')
8677.formulaire_dyn_ajax();
8678if(jQuery(this).is('div.ajaxbloc'))
8679jQuery(this).ajaxbloc();
8680else if(jQuery(this).closest('div.ajaxbloc').length)
8681jQuery(this).closest('div.ajaxbloc').ajaxbloc();
8682else
8683jQuery('div.ajaxbloc',this).ajaxbloc();
8684jQuery("input[placeholder]:text",this).placeholderLabel();
8685jQuery('.spip_logo_survol',this).hover(spip_logo_survol_hover,spip_logo_survol_out);
8686puce_enable_survol.apply(this);
8687}
8688});
8689
8690
8691/* prive/javascript/js.cookie.js?1790327464 */
8692
8693;
8694(function(global,factory){
8695typeof exports==='object'&&typeof module!=='undefined'?module.exports=factory():
8696typeof define==='function'&&define.amd?define(factory):
8697(global=typeof globalThis!=='undefined'?globalThis:global||self,(function(){
8698var current=global.Cookies;
8699var exports=global.Cookies=factory();
8700exports.noConflict=function(){global.Cookies=current;return exports;};
8701})());
8702})(this,(function(){'use strict';
8703function assign(target){
8704for(var i=1;i<arguments.length;i++){
8705var source=arguments[i];
8706for(var key in source){
8707target[key]=source[key];
8708}
8709}
8710return target
8711}
8712var defaultConverter={
8713read:function(value){
8714if(value[0]==='"'){
8715value=value.slice(1,-1);
8716}
8717return value.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)
8718},
8719write:function(value){
8720return encodeURIComponent(value).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,
8721decodeURIComponent
8722)
8723}
8724};
8725function init(converter,defaultAttributes){
8726function set(name,value,attributes){
8727if(typeof document==='undefined'){
8728return
8729}
8730attributes=assign({},defaultAttributes,attributes);
8731if(typeof attributes.expires==='number'){
8732attributes.expires=new Date(Date.now()+attributes.expires*864e5);
8733}
8734if(attributes.expires){
8735attributes.expires=attributes.expires.toUTCString();
8736}
8737name=encodeURIComponent(name)
8738.replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent)
8739.replace(/[()]/g,escape);
8740var stringifiedAttributes='';
8741for(var attributeName in attributes){
8742if(!attributes[attributeName]){
8743continue
8744}
8745stringifiedAttributes+='; '+attributeName;
8746if(attributes[attributeName]===true){
8747continue
8748}
8749stringifiedAttributes+='='+attributes[attributeName].split(';')[0];
8750}
8751return(document.cookie=
8752name+'='+converter.write(value,name)+stringifiedAttributes)
8753}
8754function get(name){
8755if(typeof document==='undefined'||(arguments.length&&!name)){
8756return
8757}
8758var cookies=document.cookie?document.cookie.split('; '):[];
8759var jar={};
8760for(var i=0;i<cookies.length;i++){
8761var parts=cookies[i].split('=');
8762var value=parts.slice(1).join('=');
8763try{
8764var found=decodeURIComponent(parts[0]);
8765jar[found]=converter.read(value,found);
8766if(name===found){
8767break
8768}
8769}catch(e){}
8770}
8771return name?jar[name]:jar
8772}
8773return Object.create(
8774{
8775set,
8776get,
8777remove:function(name,attributes){
8778set(
8779name,
8780'',
8781assign({},attributes,{
8782expires:-1
8783})
8784);
8785},
8786withAttributes:function(attributes){
8787return init(this.converter,assign({},this.attributes,attributes))
8788},
8789withConverter:function(converter){
8790return init(assign({},this.converter,converter),this.attributes)
8791}
8792},
8793{
8794attributes:{value:Object.freeze(defaultAttributes)},
8795converter:{value:Object.freeze(converter)}
8796}
8797)
8798}
8799var api=init(defaultConverter,{path:'/'});
8800return api;
8801}));
8802
8803
8804/* plugins/auto/coordonnees/v4.3.2/javascript/coordonnees_adresses.js?1786954066 */
8805;(function($){
8806function coordonnees_adresses_par_pays(){
8807$('.saisie_pays select[data-adresse-id]:not(.js_active)').change(function(){
8808var select=$(this);
8809var saisie_pays=select.parents('.editer').eq(0);
8810var obligatoire=saisie_pays.is('.obligatoire')?'oui':'';
8811var identifiant=select.data('adresse-id');
8812var code_pays=select.val();
8813var name=select.attr('name');
8814var api='adresses_par_pays.api/';
8815if(typeof spip_ecrire!=='undefined'&&spip_ecrire){
8816api='../'+api;
8817}
8818var env=['adresse-id='+identifiant,'obligatoire='+obligatoire,'modele_name='+name];
8819env.push(saisie_pays.siblings('.editer').find('[data-adresse-id='+identifiant+']').serialize());
8820env=env.join('&');
8821$.get(api+code_pays,env,function(html){
8822saisie_pays.siblings('.editer:has([data-adresse-id='+identifiant+'])').remove();
8823saisie_pays.after(html);
8824});
8825})
8826.addClass('js_active');
8827}
8828$(function(){
8829coordonnees_adresses_par_pays();
8830onAjaxLoad(coordonnees_adresses_par_pays);
8831});
8832})(jQuery);
8833
8834
8835/* plugins/auto/ancresdouces/v3.0.0/js/jquery.scrollto.js */
8836
8837;(function(factory){
8838'use strict';
8839if(typeof define==='function'&&define.amd){
8840define(['jquery'],factory);
8841}else if(typeof module!=='undefined'&&module.exports){
8842module.exports=factory(require('jquery'));
8843}else{
8844factory(jQuery);
8845}
8846})(function($){
8847'use strict';
8848var $scrollTo=$.scrollTo=function(target,duration,settings){
8849return $(window).scrollTo(target,duration,settings);
8850};
8851$scrollTo.defaults={
8852axis:'xy',
8853duration:0,
8854limit:true
8855};
8856function isWin(elem){
8857return!elem.nodeName||
8858$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!==-1;
8859}
8860function isFunction(obj){
8861return typeof obj==='function'
8862}
8863$.fn.scrollTo=function(target,duration,settings){
8864if(typeof duration==='object'){
8865settings=duration;
8866duration=0;
8867}
8868if(typeof settings==='function'){
8869settings={onAfter:settings};
8870}
8871if(target==='max'){
8872target=9e9;
8873}
8874settings=$.extend({},$scrollTo.defaults,settings);
8875duration=duration||settings.duration;
8876var queue=settings.queue&&settings.axis.length>1;
8877if(queue){
8878duration/=2;
8879}
8880settings.offset=both(settings.offset);
8881settings.over=both(settings.over);
8882return this.each(function(){
8883if(target===null)return;
8884var win=isWin(this),
8885elem=win?this.contentWindow||window:this,
8886$elem=$(elem),
8887targ=target,
8888attr={},
8889toff;
8890switch(typeof targ){
8891case'number':
8892case'string':
8893if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){
8894targ=both(targ);
8895break;
8896}
8897targ=win?$(targ):$(targ,elem);
8898case'object':
8899if(targ.length===0)return;
8900if(targ.is||targ.style){
8901toff=(targ=$(targ)).offset();
8902}
8903}
8904var offset=isFunction(settings.offset)&&settings.offset(elem,targ)||settings.offset;
8905$.each(settings.axis.split(''),function(i,axis){
8906var Pos=axis==='x'?'Left':'Top',
8907pos=Pos.toLowerCase(),
8908key='scroll'+Pos,
8909prev=$elem[key](),
8910max=$scrollTo.max(elem,axis);
8911if(toff){
8912attr[key]=toff[pos]+(win?0:prev-$elem.offset()[pos]);
8913if(settings.margin){
8914attr[key]-=parseInt(targ.css('margin'+Pos),10)||0;
8915attr[key]-=parseInt(targ.css('border'+Pos+'Width'),10)||0;
8916}
8917attr[key]+=offset[pos]||0;
8918if(settings.over[pos]){
8919attr[key]+=targ[axis==='x'?'width':'height']()*settings.over[pos];
8920}
8921}else{
8922var val=targ[pos];
8923attr[key]=val.slice&&val.slice(-1)==='%'?
8924parseFloat(val)/100*max
8925:val;
8926}
8927if(settings.limit&&/^\d+$/.test(attr[key])){
8928attr[key]=attr[key]<=0?0:Math.min(attr[key],max);
8929}
8930if(!i&&settings.axis.length>1){
8931if(prev===attr[key]){
8932attr={};
8933}else if(queue){
8934animate(settings.onAfterFirst);
8935attr={};
8936}
8937}
8938});
8939animate(settings.onAfter);
8940function animate(callback){
8941var opts=$.extend({},settings,{
8942queue:true,
8943duration:duration,
8944complete:callback&&function(){
8945callback.call(elem,targ,settings);
8946}
8947});
8948$elem.animate(attr,opts);
8949}
8950});
8951};
8952$scrollTo.max=function(elem,axis){
8953var Dim=axis==='x'?'Width':'Height',
8954scroll='scroll'+Dim;
8955if(!isWin(elem))
8956return elem[scroll]-$(elem)[Dim.toLowerCase()]();
8957var size='client'+Dim,
8958doc=elem.ownerDocument||elem.document,
8959html=doc.documentElement,
8960body=doc.body;
8961return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);
8962};
8963function both(val){
8964return isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val};
8965}
8966$.Tween.propHooks.scrollLeft=
8967$.Tween.propHooks.scrollTop={
8968get:function(t){
8969return $(t.elem)[t.prop]();
8970},
8971set:function(t){
8972var curr=this.get(t);
8973if(t.options.interrupt&&t._last&&t._last!==curr){
8974return $(t.elem).stop();
8975}
8976var next=Math.round(t.now);
8977if(curr!==next){
8978$(t.elem)[t.prop](next);
8979t._last=this.get(t);
8980}
8981}
8982};
8983return $scrollTo;
8984});
8985
8986
8987/* plugins/auto/ancresdouces/v3.0.0/js/jquery.localscroll.js */
8988
8989;(function(plugin){
8990if(typeof define==='function'&&define.amd){
8991define(['jquery'],plugin);
8992}else{
8993plugin(jQuery);
8994}
8995}(function($){
8996var URI=location.href.replace(/#.*/,'');
8997var $localScroll=$.localScroll=function(settings){
8998$('body').localScroll(settings);
8999};
9000$localScroll.defaults={
9001duration:1000,
9002axis:'y',
9003event:'click',
9004stop:true,
9005target:window,
9006autoscroll:true
9007};
9008$.fn.localScroll=function(settings){
9009settings=$.extend({},$localScroll.defaults,settings);
9010if(settings.autoscroll&&settings.hash&&location.hash){
9011if(settings.target)window.scrollTo(0,0);
9012scroll(0,location,settings);
9013}
9014return settings.lazy?
9015this.on(settings.event,'a,area',function(e){
9016if(filter.call(this)){
9017scroll(e,this,settings);
9018}
9019}):
9020this.find('a,area')
9021.filter(filter).bind(settings.event,function(e){
9022scroll(e,this,settings);
9023}).end()
9024.end();
9025function filter(){
9026return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')===URI&&(!settings.filter||$(this).is(settings.filter));
9027}
9028};
9029$localScroll.hash=function(){};
9030function scroll(e,link,settings){
9031var id=link.hash.slice(1),
9032elem=document.getElementById(id)||document.getElementsByName(id)[0];
9033if(!elem)return;
9034if(e)e.preventDefault();
9035var $target=$(settings.target);
9036if(settings.lock&&$target.is(':animated')||
9037settings.onBefore&&settings.onBefore(e,elem,$target)===false)
9038return;
9039if(settings.stop){
9040$target.stop(true);
9041}
9042if(settings.hash){
9043var attr=elem.id===id?'id':'name',
9044$a=$('<a> </a>').attr(attr,id).css({
9045position:'absolute',
9046top:$(window).scrollTop(),
9047left:$(window).scrollLeft()
9048});
9049elem[attr]='';
9050$('body').prepend($a);
9051location.hash=link.hash;
9052$a.remove();
9053elem[attr]=id;
9054}
9055$target
9056.scrollTo(elem,settings)
9057.trigger('notify.serialScroll',[elem]);
9058}
9059return $localScroll;
9060}));
9061
9062
9063/* plugins/auto/photoswipe/v1.2.2/lib/photoswipe/photoswipe.min.js */
9064
9065!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipe=b()}(this,function(){"use strict";var a=function(a,b,c,d){var e={features:null,bind:function(a,b,c,d){var e=(d?"remove":"add")+"EventListener";b=b.split(" ");for(var f=0;f<b.length;f++)b[f]&&a[e](b[f],c,!1)},isArray:function(a){return a instanceof Array},createEl:function(a,b){var c=document.createElement(b||"div");return a&&(c.className=a),c},getScrollY:function(){var a=window.pageYOffset;return void 0!==a?a:document.documentElement.scrollTop},unbind:function(a,b,c){e.bind(a,b,c,!0)},removeClass:function(a,b){var c=new RegExp("(\\s|^)"+b+"(\\s|$)");a.className=a.className.replace(c," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},addClass:function(a,b){e.hasClass(a,b)||(a.className+=(a.className?" ":"")+b)},hasClass:function(a,b){return a.className&&new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},getChildByClass:function(a,b){for(var c=a.firstChild;c;){if(e.hasClass(c,b))return c;c=c.nextSibling}},arraySearch:function(a,b,c){for(var d=a.length;d--;)if(a[d][c]===b)return d;return-1},extend:function(a,b,c){for(var d in b)if(b.hasOwnProperty(d)){if(c&&a.hasOwnProperty(d))continue;a[d]=b[d]}},easing:{sine:{out:function(a){return Math.sin(a*(Math.PI/2))},inOut:function(a){return-(Math.cos(Math.PI*a)-1)/2}},cubic:{out:function(a){return--a*a*a+1}}},detectFeatures:function(){if(e.features)return e.features;var a=e.createEl(),b=a.style,c="",d={};if(d.oldIE=document.all&&!document.addEventListener,d.touch="ontouchstart"in window,window.requestAnimationFrame&&(d.raf=window.requestAnimationFrame,d.caf=window.cancelAnimationFrame),d.pointerEvent=!!window.PointerEvent||navigator.msPointerEnabled,!d.pointerEvent){var f=navigator.userAgent;if(/iP(hone|od)/.test(navigator.platform)){var g=navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/);g&&g.length>0&&(g=parseInt(g[1],10),g>=1&&g<8&&(d.isOldIOSPhone=!0))}var h=f.match(/Android\s([0-9\.]*)/),i=h?h[1]:0;i=parseFloat(i),i>=1&&(i<4.4&&(d.isOldAndroid=!0),d.androidVersion=i),d.isMobileOpera=/opera mini|o
9065pera mobi/i.test(f)}for(var j,k,l=["transform","perspective","animationName"],m=["","webkit","Moz","ms","O"],n=0;n<4;n++){c=m[n];for(var o=0;o<3;o++)j=l[o],k=c+(c?j.charAt(0).toUpperCase()+j.slice(1):j),!d[j]&&k in b&&(d[j]=k);c&&!d.raf&&(c=c.toLowerCase(),d.raf=window[c+"RequestAnimationFrame"],d.raf&&(d.caf=window[c+"CancelAnimationFrame"]||window[c+"CancelRequestAnimationFrame"]))}if(!d.raf){var p=0;d.raf=function(a){var b=(new Date).getTime(),c=Math.max(0,16-(b-p)),d=window.setTimeout(function(){a(b+c)},c);return p=b+c,d},d.caf=function(a){clearTimeout(a)}}return d.svg=!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,e.features=d,d}};e.detectFeatures(),e.features.oldIE&&(e.bind=function(a,b,c,d){b=b.split(" ");for(var e,f=(d?"detach":"attach")+"Event",g=function(){c.handleEvent.call(c)},h=0;h<b.length;h++)if(e=b[h])if("object"==typeof c&&c.handleEvent){if(d){if(!c["oldIE"+e])return!1}else c["oldIE"+e]=g;a[f]("on"+e,c["oldIE"+e])}else a[f]("on"+e,c)});var f=this,g=25,h=3,i={allowPanToNext:!0,spacing:.12,bgOpacity:1,mouseUsed:!1,loop:!0,pinchToClose:!0,closeOnScroll:!0,closeOnVerticalDrag:!0,verticalDragRange:.75,hideAnimationDuration:333,showAnimationDuration:333,showHideOpacity:!1,focus:!0,escKey:!0,arrowKeys:!0,mainScrollEndFriction:.35,panEndFriction:.35,isClickableElement:function(a){return"A"===a.tagName},getDoubleTapZoom:function(a,b){return a?1:b.initialZoomLevel<.7?1:1.33},maxSpreadZoom:1.33,modal:!0,scaleMode:"fit"};e.extend(i,d);var j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ba,ca,da,ea,fa,ga,ha,ia,ja,ka,la,ma=function(){return{x:0,y:0}},na=ma(),oa=ma(),pa=ma(),qa={},ra=0,sa={},ta=ma(),ua=0,va=!0,wa=[],xa={},ya=!1,za=function(a,b){e.extend(f,b.publicMethods),wa.push(a)},Aa=function(a){var b=ac();return a>b-1?a-b:a<0?b+a:a},Ba={},Ca=function(a,b){return Ba[a]||(Ba[a]=[]),Ba[a].push(b)},Da=function(a){var b=Ba[a];if(b){var c=Array.prototype.slice.call(arguments);c.shift();for(var d=0;d<b.length;d++)b[d].apply(f,c)}},Ea=function(){return(new Date).getTime()},Fa=function(a){ja=a,f.bg.style.opacity=a*i.bgOpacity},Ga=function(a,b,c,d,e){(!ya||e&&e!==f.currItem)&&(d/=e?e.fitRatio:f.currItem.fitRatio),a[E]=u+b+"px, "+c+"px"+v+" scale("+d+")"},Ha=function(a){ea&&(a&&(s>f.currItem.fitRatio?ya||(mc(f.currItem,!1,!0),ya=!0):ya&&(mc(f.currItem),ya=!1)),Ga(ea,pa.x,pa.y,s))},Ia=function(a){a.container&&Ga(a.container.style,a.initialPosition.x,a.initialPosition.y,a.initialZoomLevel,a)},Ja=function(a,b){b[E]=u+a+"px, 0px"+v},Ka=function(a,b){if(!i.loop&&b){var c=m+(ta.x*ra-a)/ta.x,d=Math.round(a-tb.x);(c<0&&d>0||c>=ac()-1&&d<0)&&(a=tb.x+d*i.mainScrollEndFriction)}tb.x=a,Ja(a,n)},La=function(a,b){var c=ub[a]-sa[a];return oa[a]+na[a]+c-c*(b/t)},Ma=function(a,b){a.x=b.x,a.y=b.y,b.id&&(a.id=b.id)},Na=function(a){a.x=Math.round(a.x),a.y=Math.round(a.y)},Oa=null,Pa=function(){Oa&&(e.unbind(document,"mousemove",Pa),e.addClass(a,"pswp--has_mouse"),i.mouseUsed=!0,Da("mouseUsed")),Oa=setTimeout(function(){Oa=null},100)},Qa=function(){e.bind(document,"keydown",f),N.transform&&e.bind(f.scrollWrap,"click",f),i.mouseUsed||e.bind(document,"mousemove",Pa),e.bind(window,"resize scroll orientationchange",f),Da("bindEvents")},Ra=function(){e.unbind(window,"resize scroll orientationchange",f),e.unbind(window,"scroll",r.scroll),e.unbind(document,"keydown",f),e.unbind(document,"mousemove",Pa),N.transform&&e.unbind(f.scrollWrap,"click",f),V&&e.unbind(window,p,f),clearTimeout(O),Da("unbindEvents")},Sa=function(a,b){var c=ic(f.currItem,qa,a);return b&&(da=c),c},Ta=function(a){return a||(a=f.currItem),a.initialZoomLevel},Ua=function(a){return a||(a=f.currItem),a.w>0?i.maxSpreadZoom:1},Va=function(a,b,c,d){return d===f.currItem.initialZoomLevel?(c[a]=f.currItem.initialPosition[a],!0):(c[a]=La(a,d),c[a]>b.min[a]?(c[a]=b.min[a],!0):c[a]<b.max[a]&&(c[a]=b.max[a],!0))},Wa=function(){if(E){var b=N.perspective&&!G;return u="translate"+(b?"3d(":"("),void(v=N.perspective?", 0px)":")")}E="left",e.addClass(a,"pswp--ie"),Ja=function(a,b){b.left=a+"px"},Ia=function(a){var b=a.fitRatio>1?1:a.fitRatio,c=a.container.style,d=b*a.w,e=b*a.h;c.width=d+"px",c.height=e+"px",c.left=a.initialPosition.x+"px",c.top=a.initialPosition.y+"px"},Ha=function(){if(ea){var a=ea,b=f.currItem,c=b.fitRatio>1?1:b.fitRatio,d=c*b.w,e=c*b.h;a.width=d+"px",a.height=e+"px",a.left=pa.x+"px",a.top=pa.y+"px"}}},Xa=function(a){var b="";i.escKey&&27===a.keyCode?b="close":i.arrowKeys&&(37===a.keyCode?b="prev":39===a.keyCode&&(b="next")),b&&(a.ctrlKey||a.altKey||a.shiftKey||a.metaKey||(a.preventDefault?a.preventDefault():a.returnValue=!1,f[b]()))},Ya=function(a){a&&(Y||X||fa||T)&&(a.preventDefault(),a.stopPropagation())},Za=function(){f.setScrollOffset(0,e.getScrollY())},$a={},_a=0,ab=function(a){$a[a]&&($a[a].raf&&I($a[a].raf),_a--,delete $a[a])},bb=function(a){$a[a]&&ab(a),$a[a]||(_a++,$a[a]={})},cb=function(){for(var a in $a)$a.hasOwnProperty(a)&&ab(a)},db=function(a,b,c,d,e,f,g){var h,i=Ea();
9065bb(a);var j=function(){if($a[a]){if(h=Ea()-i,h>=d)return ab(a),f(c),void(g&&g());f((c-b)*e(h/d)+b),$a[a].raf=H(j)}};j()},eb={shout:Da,listen:Ca,viewportSize:qa,options:i,isMainScrollAnimating:function(){return fa},getZoomLevel:function(){return s},getCurrentIndex:function(){return m},isDragging:function(){return V},isZooming:function(){return aa},setScrollOffset:function(a,b){sa.x=a,M=sa.y=b,Da("updateScrollOffset",sa)},applyZoomPan:function(a,b,c,d){pa.x=b,pa.y=c,s=a,Ha(d)},init:function(){if(!j&&!k){var c;f.framework=e,f.template=a,f.bg=e.getChildByClass(a,"pswp__bg"),J=a.className,j=!0,N=e.detectFeatures(),H=N.raf,I=N.caf,E=N.transform,L=N.oldIE,f.scrollWrap=e.getChildByClass(a,"pswp__scroll-wrap"),f.container=e.getChildByClass(f.scrollWrap,"pswp__container"),n=f.container.style,f.itemHolders=y=[{el:f.container.children[0],wrap:0,index:-1},{el:f.container.children[1],wrap:0,index:-1},{el:f.container.children[2],wrap:0,index:-1}],y[0].el.style.display=y[2].el.style.display="none",Wa(),r={resize:f.updateSize,orientationchange:function(){clearTimeout(O),O=setTimeout(function(){qa.x!==f.scrollWrap.clientWidth&&f.updateSize()},500)},scroll:Za,keydown:Xa,click:Ya};var d=N.isOldIOSPhone||N.isOldAndroid||N.isMobileOpera;for(N.animationName&&N.transform&&!d||(i.showAnimationDuration=i.hideAnimationDuration=0),c=0;c<wa.length;c++)f["init"+wa[c]]();if(b){var g=f.ui=new b(f,e);g.init()}Da("firstUpdate"),m=m||i.index||0,(isNaN(m)||m<0||m>=ac())&&(m=0),f.currItem=_b(m),(N.isOldIOSPhone||N.isOldAndroid)&&(va=!1),a.setAttribute("aria-hidden","false"),i.modal&&(va?a.style.position="fixed":(a.style.position="absolute",a.style.top=e.getScrollY()+"px")),void 0===M&&(Da("initialLayout"),M=K=e.getScrollY());var l="pswp--open ";for(i.mainClass&&(l+=i.mainClass+" "),i.showHideOpacity&&(l+="pswp--animate_opacity "),l+=G?"pswp--touch":"pswp--notouch",l+=N.animationName?" pswp--css_animation":"",l+=N.svg?" pswp--svg":"",e.addClass(a,l),f.updateSize(),o=-1,ua=null,c=0;c<h;c++)Ja((c+o)*ta.x,y[c].el.style);L||e.bind(f.scrollWrap,q,f),Ca("initialZoomInEnd",function(){f.setContent(y[0],m-1),f.setContent(y[2],m+1),y[0].el.style.display=y[2].el.style.display="block",i.focus&&a.focus(),Qa()}),f.setContent(y[1],m),f.updateCurrItem(),Da("afterInit"),va||(w=setInterval(function(){_a||V||aa||s!==f.currItem.initialZoomLevel||f.updateSize()},1e3)),e.addClass(a,"pswp--visible")}},close:function(){j&&(j=!1,k=!0,Da("close"),Ra(),cc(f.currItem,null,!0,f.destroy))},destroy:function(){Da("destroy"),Xb&&clearTimeout(Xb),a.setAttribute("aria-hidden","true"),a.className=J,w&&clearInterval(w),e.unbind(f.scrollWrap,q,f),e.unbind(window,"scroll",f),zb(),cb(),Ba=null},panTo:function(a,b,c){c||(a>da.min.x?a=da.min.x:a<da.max.x&&(a=da.max.x),b>da.min.y?b=da.min.y:b<da.max.y&&(b=da.max.y)),pa.x=a,pa.y=b,Ha()},handleEvent:function(a){a=a||window.event,r[a.type]&&r[a.type](a)},goTo:function(a){a=Aa(a);var b=a-m;ua=b,m=a,f.currItem=_b(m),ra-=b,Ka(ta.x*ra),cb(),fa=!1,f.updateCurrItem()},next:function(){f.goTo(m+1)},prev:function(){f.goTo(m-1)},updateCurrZoomItem:function(a){if(a&&Da("beforeChange",0),y[1].el.children.length){var b=y[1].el.children[0];ea=e.hasClass(b,"pswp__zoom-wrap")?b.style:null}else ea=null;da=f.currItem.bounds,t=s=f.currItem.initialZoomLevel,pa.x=da.center.x,pa.y=da.center.y,a&&Da("afterChange")},invalidateCurrItems:function(){x=!0;for(var a=0;a<h;a++)y[a].item&&(y[a].item.needsUpdate=!0)},updateCurrItem:function(a){if(0!==ua){var b,c=Math.abs(ua);if(!(a&&c<2)){f.currItem=_b(m),ya=!1,Da("beforeChange",ua),c>=h&&(o+=ua+(ua>0?-h:h),c=h);for(var d=0;d<c;d++)ua>0?(b=y.shift(),y[h-1]=b,o++,Ja((o+2)*ta.x,b.el.style),f.setContent(b,m-c+d+1+1)):(b=y.pop(),y.unshift(b),o--,Ja(o*ta.x,b.el.style),f.setContent(b,m+c-d-1-1));if(ea&&1===Math.abs(ua)){var e=_b(z);e.initialZoomLevel!==s&&(ic(e,qa),mc(e),Ia(e))}ua=0,f.updateCurrZoomItem(),z=m,Da("afterChange")}}},updateSize:function(b){if(!va&&i.modal){var c=e.getScrollY();if(M!==c&&(a.style.top=c+"px",M=c),!b&&xa.x===window.innerWidth&&xa.y===window.innerHeight)return;xa.x=window.innerWidth,xa.y=window.innerHeight,a.style.height=xa.y+"px"}if(qa.x=f.scrollWrap.clientWidth,qa.y=f.scrollWrap.clientHeight,Za(),ta.x=qa.x+Math.round(qa.x*i.spacing),ta.y=qa.y,Ka(ta.x*ra),Da("beforeResize"),void 0!==o){for(var d,g,j,k=0;k<h;k++)d=y[k],Ja((k+o)*ta.x,d.el.style),j=m+k-1,i.loop&&ac()>2&&(j=Aa(j)),g=_b(j),g&&(x||g.needsUpdate||!g.bounds)?(f.cleanSlide(g),f.setContent(d,j),1===k&&(f.currItem=g,f.updateCurrZoomItem(!0)),g.needsUpdate=!1):d.index===-1&&j>=0&&f.setContent(d,j),g&&g.container&&(ic(g,qa),mc(g),Ia(g));x=!1}
9065t=s=f.currItem.initialZoomLevel,da=f.currItem.bounds,da&&(pa.x=da.center.x,pa.y=da.center.y,Ha(!0)),Da("resize")},zoomTo:function(a,b,c,d,f){b&&(t=s,ub.x=Math.abs(b.x)-pa.x,ub.y=Math.abs(b.y)-pa.y,Ma(oa,pa));var g=Sa(a,!1),h={};Va("x",g,h,a),Va("y",g,h,a);var i=s,j={x:pa.x,y:pa.y};Na(h);var k=function(b){1===b?(s=a,pa.x=h.x,pa.y=h.y):(s=(a-i)*b+i,pa.x=(h.x-j.x)*b+j.x,pa.y=(h.y-j.y)*b+j.y),f&&f(b),Ha(1===b)};c?db("customZoomTo",0,1,c,d||e.easing.sine.inOut,k):k(1)}},fb=30,gb=10,hb={},ib={},jb={},kb={},lb={},mb=[],nb={},ob=[],pb={},qb=0,rb=ma(),sb=0,tb=ma(),ub=ma(),vb=ma(),wb=function(a,b){return a.x===b.x&&a.y===b.y},xb=function(a,b){return Math.abs(a.x-b.x)<g&&Math.abs(a.y-b.y)<g},yb=function(a,b){return pb.x=Math.abs(a.x-b.x),pb.y=Math.abs(a.y-b.y),Math.sqrt(pb.x*pb.x+pb.y*pb.y)},zb=function(){Z&&(I(Z),Z=null)},Ab=function(){V&&(Z=H(Ab),Qb())},Bb=function(){return!("fit"===i.scaleMode&&s===f.currItem.initialZoomLevel)},Cb=function(a,b){return!(!a||a===document)&&(!(a.getAttribute("class")&&a.getAttribute("class").indexOf("pswp__scroll-wrap")>-1)&&(b(a)?a:Cb(a.parentNode,b)))},Db={},Eb=function(a,b){return Db.prevent=!Cb(a.target,i.isClickableElement),Da("preventDragEvent",a,b,Db),Db.prevent},Fb=function(a,b){return b.x=a.pageX,b.y=a.pageY,b.id=a.identifier,b},Gb=function(a,b,c){c.x=.5*(a.x+b.x),c.y=.5*(a.y+b.y)},Hb=function(a,b,c){if(a-Q>50){var d=ob.length>2?ob.shift():{};d.x=b,d.y=c,ob.push(d),Q=a}},Ib=function(){var a=pa.y-f.currItem.initialPosition.y;return 1-Math.abs(a/(qa.y/2))},Jb={},Kb={},Lb=[],Mb=function(a){for(;Lb.length>0;)Lb.pop();return F?(la=0,mb.forEach(function(a){0===la?Lb[0]=a:1===la&&(Lb[1]=a),la++})):a.type.indexOf("touch")>-1?a.touches&&a.touches.length>0&&(Lb[0]=Fb(a.touches[0],Jb),a.touches.length>1&&(Lb[1]=Fb(a.touches[1],Kb))):(Jb.x=a.pageX,Jb.y=a.pageY,Jb.id="",Lb[0]=Jb),Lb},Nb=function(a,b){var c,d,e,g,h=0,j=pa[a]+b[a],k=b[a]>0,l=tb.x+b.x,m=tb.x-nb.x;return c=j>da.min[a]||j<da.max[a]?i.panEndFriction:1,j=pa[a]+b[a]*c,!i.allowPanToNext&&s!==f.currItem.initialZoomLevel||(ea?"h"!==ga||"x"!==a||X||(k?(j>da.min[a]&&(c=i.panEndFriction,h=da.min[a]-j,d=da.min[a]-oa[a]),(d<=0||m<0)&&ac()>1?(g=l,m<0&&l>nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j)):(j<da.max[a]&&(c=i.panEndFriction,h=j-da.max[a],d=oa[a]-da.max[a]),(d<=0||m>0)&&ac()>1?(g=l,m>0&&l<nb.x&&(g=nb.x)):da.min.x!==da.max.x&&(e=j))):g=l,"x"!==a)?void(fa||$||s>f.currItem.fitRatio&&(pa[a]+=b[a]*c)):(void 0!==g&&(Ka(g,!0),$=g!==nb.x),da.min.x!==da.max.x&&(void 0!==e?pa.x=e:$||(pa.x+=b.x*c)),void 0!==g)},Ob=function(a){if(!("mousedown"===a.type&&a.button>0)){if($b)return void a.preventDefault();if(!U||"mousedown"!==a.type){if(Eb(a,!0)&&a.preventDefault(),Da("pointerDown"),F){var b=e.arraySearch(mb,a.pointerId,"id");b<0&&(b=mb.length),mb[b]={x:a.pageX,y:a.pageY,id:a.pointerId}}var c=Mb(a),d=c.length;_=null,cb(),V&&1!==d||(V=ha=!0,e.bind(window,p,f),S=ka=ia=T=$=Y=W=X=!1,ga=null,Da("firstTouchStart",c),Ma(oa,pa),na.x=na.y=0,Ma(kb,c[0]),Ma(lb,kb),nb.x=ta.x*ra,ob=[{x:kb.x,y:kb.y}],Q=P=Ea(),Sa(s,!0),zb(),Ab()),!aa&&d>1&&!fa&&!$&&(t=s,X=!1,aa=W=!0,na.y=na.x=0,Ma(oa,pa),Ma(hb,c[0]),Ma(ib,c[1]),Gb(hb,ib,vb),ub.x=Math.abs(vb.x)-pa.x,ub.y=Math.abs(vb.y)-pa.y,ba=ca=yb(hb,ib))}}},Pb=function(a){if(a.preventDefault(),F){var b=e.arraySearch(mb,a.pointerId,"id");if(b>-1){var c=mb[b];c.x=a.pageX,c.y=a.pageY}}if(V){var d=Mb(a);if(ga||Y||aa)_=d;else if(tb.x!==ta.x*ra)ga="h";else{var f=Math.abs(d[0].x-kb.x)-Math.abs(d[0].y-kb.y);Math.abs(f)>=gb&&(ga=f>0?"h":"v",_=d)}}},Qb=function(){if(_){var a=_.length;if(0!==a)if(Ma(hb,_[0]),jb.x=hb.x-kb.x,jb.y=hb.y-kb.y,aa&&a>1){if(kb.x=hb.x,kb.y=hb.y,!jb.x&&!jb.y&&wb(_[1],ib))return;Ma(ib,_[1]),X||(X=!0,Da("zoomGestureStarted"));var b=yb(hb,ib),c=Vb(b);c>f.currItem.initialZoomLevel+f.currItem.initialZoomLevel/15&&(ka=!0);var d=1,e=Ta(),g=Ua();if(c<e)if(i.pinchToClose&&!ka&&t<=f.currItem.initialZoomLevel){var h=e-c,j=1-h/(e/1.2);Fa(j),Da("onPinchClose",j),ia=!0}else d=(e-c)/e,d>1&&(d=1),c=e-d*(e/3);else c>g&&(d=(c-g)/(6*e),d>1&&(d=1),c=g+d*e);d<0&&(d=0),ba=b,Gb(hb,ib,rb),na.x+=rb.x-vb.x,na.y+=rb.y-vb.y,Ma(vb,rb),pa.x=La("x",c),pa.y=La("y",c),S=c>s,s=c,Ha()}else{if(!ga)return;if(ha&&(ha=!1,Math.abs(jb.x)>=gb&&(jb.x-=_[0].x-lb.x),Math.abs(jb.y)>=gb&&(jb.y-=_[0].y-lb.y)),kb.x=hb.x,kb.y=hb.y,0===jb.x&&0===jb.y)return;if("v"===ga&&i.closeOnVerticalDrag&&!Bb()){na.y+=jb.y,pa.y+=jb.y;var k=Ib();return T=!0,Da("onVerticalDrag",k),Fa(k),void Ha()}Hb(Ea(),hb.x,hb.y),Y=!0,da=f.currItem.bounds;var l=Nb("x",jb);l||(Nb("y",jb),Na(pa),Ha())}}}
9065,Rb=function(a){if(N.isOldAndroid){if(U&&"mouseup"===a.type)return;a.type.indexOf("touch")>-1&&(clearTimeout(U),U=setTimeout(function(){U=0},600))}Da("pointerUp"),Eb(a,!1)&&a.preventDefault();var b;if(F){var c=e.arraySearch(mb,a.pointerId,"id");if(c>-1)if(b=mb.splice(c,1)[0],navigator.msPointerEnabled){var d={4:"mouse",2:"touch",3:"pen"};b.type=d[a.pointerType],b.type||(b.type=a.pointerType||"mouse")}else b.type=a.pointerType||"mouse"}var g,h=Mb(a),j=h.length;if("mouseup"===a.type&&(j=0),2===j)return _=null,!0;1===j&&Ma(lb,h[0]),0!==j||ga||fa||(b||("mouseup"===a.type?b={x:a.pageX,y:a.pageY,type:"mouse"}:a.changedTouches&&a.changedTouches[0]&&(b={x:a.changedTouches[0].pageX,y:a.changedTouches[0].pageY,type:"touch"})),Da("touchRelease",a,b));var k=-1;if(0===j&&(V=!1,e.unbind(window,p,f),zb(),aa?k=0:sb!==-1&&(k=Ea()-sb)),sb=1===j?Ea():-1,g=k!==-1&&k<150?"zoom":"swipe",aa&&j<2&&(aa=!1,1===j&&(g="zoomPointerUp"),Da("zoomGestureEnded")),_=null,Y||X||fa||T)if(cb(),R||(R=Sb()),R.calculateSwipeSpeed("x"),T){var l=Ib();if(l<i.verticalDragRange)f.close();else{var m=pa.y,n=ja;db("verticalDrag",0,1,300,e.easing.cubic.out,function(a){pa.y=(f.currItem.initialPosition.y-m)*a+m,Fa((1-n)*a+n),Ha()}),Da("onVerticalDrag",1)}}else{if(($||fa)&&0===j){var o=Ub(g,R);if(o)return;g="zoomPointerUp"}if(!fa)return"swipe"!==g?void Wb():void(!$&&s>f.currItem.fitRatio&&Tb(R))}},Sb=function(){var a,b,c={lastFlickOffset:{},lastFlickDist:{},lastFlickSpeed:{},slowDownRatio:{},slowDownRatioReverse:{},speedDecelerationRatio:{},speedDecelerationRatioAbs:{},distanceOffset:{},backAnimDestination:{},backAnimStarted:{},calculateSwipeSpeed:function(d){ob.length>1?(a=Ea()-Q+50,b=ob[ob.length-2][d]):(a=Ea()-P,b=lb[d]),c.lastFlickOffset[d]=kb[d]-b,c.lastFlickDist[d]=Math.abs(c.lastFlickOffset[d]),c.lastFlickDist[d]>20?c.lastFlickSpeed[d]=c.lastFlickOffset[d]/a:c.lastFlickSpeed[d]=0,Math.abs(c.lastFlickSpeed[d])<.1&&(c.lastFlickSpeed[d]=0),c.slowDownRatio[d]=.95,c.slowDownRatioReverse[d]=1-c.slowDownRatio[d],c.speedDecelerationRatio[d]=1},calculateOverBoundsAnimOffset:function(a,b){c.backAnimStarted[a]||(pa[a]>da.min[a]?c.backAnimDestination[a]=da.min[a]:pa[a]<da.max[a]&&(c.backA
9065nimDestination[a]=da.max[a]),void 0!==c.backAnimDestination[a]&&(c.slowDownRatio[a]=.7,c.slowDownRatioReverse[a]=1-c.slowDownRatio[a],c.speedDecelerationRatioAbs[a]<.05&&(c.lastFlickSpeed[a]=0,c.backAnimStarted[a]=!0,db("bounceZoomPan"+a,pa[a],c.backAnimDestination[a],b||300,e.easing.sine.out,function(b){pa[a]=b,Ha()}))))},calculateAnimOffset:function(a){c.backAnimStarted[a]||(c.speedDecelerationRatio[a]=c.speedDecelerationRatio[a]*(c.slowDownRatio[a]+c.slowDownRatioReverse[a]-c.slowDownRatioReverse[a]*c.timeDiff/10),c.speedDecelerationRatioAbs[a]=Math.abs(c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]),c.distanceOffset[a]=c.lastFlickSpeed[a]*c.speedDecelerationRatio[a]*c.timeDiff,pa[a]+=c.distanceOffset[a])},panAnimLoop:function(){if($a.zoomPan&&($a.zoomPan.raf=H(c.panAnimLoop),c.now=Ea(),c.timeDiff=c.now-c.lastNow,c.lastNow=c.now,c.calculateAnimOffset("x"),c.calculateAnimOffset("y"),Ha(),c.calculateOverBoundsAnimOffset("x"),c.calculateOverBoundsAnimOffset("y"),c.speedDecelerationRatioAbs.x<.05&&c.speedDecelerationRatioAbs.y<.05))return pa.x=Math.round(pa.x),pa.y=Math.round(pa.y),Ha(),void ab("zoomPan")}};return c},Tb=function(a){return a.calculateSwipeSpeed("y"),da=f.currItem.bounds,a.backAnimDestination={},a.backAnimStarted={},Math.abs(a.lastFlickSpeed.x)<=.05&&Math.abs(a.lastFlickSpeed.y)<=.05?(a.speedDecelerationRatioAbs.x=a.speedDecelerationRatioAbs.y=0,a.calculateOverBoundsAnimOffset("x"),a.calculateOverBoundsAnimOffset("y"),!0):(bb("zoomPan"),a.lastNow=Ea(),void a.panAnimLoop())},Ub=function(a,b){var c;fa||(qb=m);var d;if("swipe"===a){var g=kb.x-lb.x,h=b.lastFlickDist.x<10;g>fb&&(h||b.lastFlickOffset.x>20)?d=-1:g<-fb&&(h||b.lastFlickOffset.x<-20)&&(d=1)}var j;d&&(m+=d,m<0?(m=i.loop?ac()-1:0,j=!0):m>=ac()&&(m=i.loop?0:ac()-1,j=!0),j&&!i.loop||(ua+=d,ra-=d,c=!0));var k,l=ta.x*ra,n=Math.abs(l-tb.x);return c||l>tb.x==b.lastFlickSpeed.x>0?(k=Math.abs(b.lastFlickSpeed.x)>0?n/Math.abs(b.lastFlickSpeed.x):333,k=Math.min(k,400),k=Math.max(k,250)):k=333,qb===m&&(c=!1),fa=!0,Da("mainScrollAnimStart"),db("mainScroll",tb.x,l,k,e.easing.cubic.out,Ka,function(){cb(),fa=!1,qb=-1,(c||qb!==m)&&f.updateCurrItem(),Da("mainScrollAnimComplete")}),c&&f.updateCurrItem(!0),c},Vb=function(a){return 1/ca*a*t},Wb=function(){var a=s,b=Ta(),c=Ua();s<b?a=b:s>c&&(a=c);var d,g=1,h=ja;return ia&&!S&&!ka&&s<b?(f.close(),!0):(ia&&(d=function(a){Fa((g-h)*a+h)}),f.zoomTo(a,0,200,e.easing.cubic.out,d),!0)};za("Gestures",{publicMethods:{initGestures:function(){var a=function(a,b,c,d,e){A=a+b,B=a+c,C=a+d,D=e?a+e:""};F=N.pointerEvent,F&&N.touch&&(N.touch=!1),F?navigator.msPointerEnabled?a("MSPointer","Down","Move","Up","Cancel"):a("pointer","down","move","up","cancel"):N.touch?(a("touch","start","move","end","cancel"),G=!0):a("mouse","down","move","up"),p=B+" "+C+" "+D,q=A,F&&!G&&(G=navigator.maxTouchPoints>1||navigator.msMaxTouchPoints>1),f.likelyTouchDevice=G,r[A]=Ob,r[B]=Pb,r[C]=Rb,D&&(r[D]=r[C]),N.touch&&(q+=" mousedown",p+=" mousemove mouseup",r.mousedown=r[A],r.mousemove=r[B],r.mouseup=r[C]),G||(i.allowPanToNext=!1)}}});var Xb,Yb,Zb,$b,_b,ac,bc,cc=function(b,c,d,g){Xb&&clearTimeout(Xb),$b=!0,Zb=!0;var h;b.initialLayout?(h=b.initialLayout,b.initialLayout=null):h=i.getThumbBoundsFn&&i.getThumbBoundsFn(m);var j=d?i.hideAnimationDuration:i.showAnimationDuration,k=function(){ab("initialZoom"),d?(f.template.removeAttribute("style"),f.bg.removeAttribute("style")):(Fa(1),c&&(c.style.display="block"),e.addClass(a,"pswp--animated-in"),Da("initialZoom"+(d?"OutEnd":"InEnd"))),g&&g(),$b=!1};if(!j||!h||void 0===h.x)return Da("initialZoom"+(d?"Out":"In")),s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),a.style.opacity=d?0:1,Fa(1),void(j?setTimeout(function(){k()},j):k());var n=function(){var c=l,g=!f.currItem.src||f.currItem.loadError||i.showHideOpacity;b.miniImg&&(b.miniImg.style.webkitBackfaceVisibility="hidden"),d||(s=h.w/b.w,pa.x=h.x,pa.y=h.y-K,f[g?"template":"bg"].style.opacity=.001,Ha()),bb("initialZoom"),d&&!c&&e.removeClass(a,"pswp--animated-in"),g&&(d?e[(c?"remove":"add")+"Class"](a,"pswp--animate_opacity"):setTimeout(function(){e.addClass(a,"pswp--animate_opacity")},30)),Xb=setTimeout(function(){if(Da("initialZoom"+(d?"Out":"In")),d){var f=h.w/b.w,i={x:pa.x,y:pa.y},l=s,m=ja,n=function(b){1===b?(s=f,pa.x=h.x,pa.y=h.y-M):(s=(f-l)*b+l,pa.x=(h.x-i.x)*b+i.x,pa.y=(h.y-M-i.y)*b+i.y),Ha(),g?a.style.opacity=1-b:Fa(m-b*m)};c?db("initialZoom",0,1,j,e.easing.cubic.out,n,k):(n(1),Xb=setTimeout(k,j+20))}else s=b.initialZoomLevel,Ma(pa,b.initialPosition),Ha(),Fa(1),g?a.style.opacity=1:Fa(1),Xb=setTimeout(k,j+20)},d?25:90)};n()},dc={},ec=[],fc={index:0,errorMsg:'<div class="pswp__error-msg"><a href="%url%" target="_blank">The image</a> could not be loaded.</div>',forceProgressiveLoading:!1,preload:[1,1],getNumItemsFn:function(){return Yb.length}},gc=function(){return{center:{x:0,y:0},max:{x:0,y:0},min:{x:0,y:0}}},hc=function(a,b,c){var d=a.bounds;d.center.x=Math.round((dc.x-b)/2),d.center.y=Math.round((dc.y-c)/2)+a.vGap.top,d.max.x=b>dc.x?Math.round(dc.x-b):d.center.x,d.max.y=c>dc.y?Math.round(dc.y-c)+a.vGap.top:d.center.y,d.min.x=b>dc.x?0:d.center.x,d.min.y=c>dc.y?a.vGap.top:d.center.y},ic=function(a,b,c){if(a.src&&!a.loadError){var d=!c;if(d&&(a.vGap||(a.vGap={top:0,bottom:0}),Da("parseVerticalMargin",a)),dc.x=b.x,dc.y=b.y-a.vGap.top-a.vGap.bottom,d){var e=dc.x/a.w,f=dc.y/a.h;a.fitRatio=e<f?e:f;var g=i.scaleMode;"orig"===g?c=1:"fit"===g&&(c=a.fitRatio),c>1&&(c=1),a.initialZoomLevel=c,a.bounds||(a.bounds=gc())}if(!c)return;return hc(a,a.w*c,a.h*c),d&&c===a.initialZoomLevel&&(a.initialPosition=a.bounds.center),a.bounds}return a.w=a.h=0,a.initialZoomLevel=a.fitRatio=1,a.bounds=gc(),a.initialPosition=a.bounds.center,a.bounds},jc=function(a,b,c,d,e,g){b.loadError||d&&(b.imageAppended=!0,mc(b,d,b===f.currItem&&ya),c.appendChild(d),g&&setTimeout(function(){b&&b.loaded&&b.placeholder&&(b.placeholder.style.display="none",b.placeholder=null)},500))},kc=function(a){a.loading=!0,a.loaded=!1;var b=a.img=e.createEl("pswp__img","img"),c=function(){a.loading=!1,a.loaded=!0,a.loadComplete?a.loadComplete(a):a.img=null,b.onload=b.onerror=null,b=null};
9065return b.onload=c,b.onerror=function(){a.loadError=!0,c()},b.src=a.src,b},lc=function(a,b){if(a.src&&a.loadError&&a.container)return b&&(a.container.innerHTML=""),a.container.innerHTML=i.errorMsg.replace("%url%",a.src),!0},mc=function(a,b,c){if(a.src){b||(b=a.container.lastChild);var d=c?a.w:Math.round(a.w*a.fitRatio),e=c?a.h:Math.round(a.h*a.fitRatio);a.placeholder&&!a.loaded&&(a.placeholder.style.width=d+"px",a.placeholder.style.height=e+"px"),b.style.width=d+"px",b.style.height=e+"px"}},nc=function(){if(ec.length){for(var a,b=0;b<ec.length;b++)a=ec[b],a.holder.index===a.index&&jc(a.index,a.item,a.baseDiv,a.img,!1,a.clearPlaceholder);ec=[]}};za("Controller",{publicMethods:{lazyLoadItem:function(a){a=Aa(a);var b=_b(a);b&&(!b.loaded&&!b.loading||x)&&(Da("gettingData",a,b),b.src&&kc(b))},initController:function(){e.extend(i,fc,!0),f.items=Yb=c,_b=f.getItemAt,ac=i.getNumItemsFn,bc=i.loop,ac()<3&&(i.loop=!1),Ca("beforeChange",function(a){var b,c=i.preload,d=null===a||a>=0,e=Math.min(c[0],ac()),g=Math.min(c[1],ac());for(b=1;b<=(d?g:e);b++)f.lazyLoadItem(m+b);for(b=1;b<=(d?e:g);b++)f.lazyLoadItem(m-b)}),Ca("initialLayout",function(){f.currItem.initialLayout=i.getThumbBoundsFn&&i.getThumbBoundsFn(m)}),Ca("mainScrollAnimComplete",nc),Ca("initialZoomInEnd",nc),Ca("destroy",function(){for(var a,b=0;b<Yb.length;b++)a=Yb[b],a.container&&(a.container=null),a.placeholder&&(a.placeholder=null),a.img&&(a.img=null),a.preloader&&(a.preloader=null),a.loadError&&(a.loaded=a.loadError=!1);ec=null})},getItemAt:function(a){return a>=0&&(void 0!==Yb[a]&&Yb[a])},allowProgressiveImg:function(){return i.forceProgressiveLoading||!G||i.mouseUsed||screen.width>1200},setContent:function(a,b){i.loop&&(b=Aa(b));var c=f.getItemAt(a.index);c&&(c.container=null);var d,g=f.getItemAt(b);if(!g)return void(a.el.innerHTML="");Da("gettingData",b,g),a.index=b,a.item=g;var h=g.container=e.createEl("pswp__zoom-wrap");if(!g.src&&g.html&&(g.html.tagName?h.appendChild(g.html):h.innerHTML=g.html),lc(g),ic(g,qa),!g.src||g.loadError||g.loaded)g.src&&!g.loadError&&(d=e.createEl("pswp__img","img"),d.style.opacity=1,d.src=g.src,mc(g,d),jc(b,g,h,d,!0));else{if(g.loadComplete=function(c){if(j){if(a&&a.index===b){if(lc(c,!0))return c.loadComplete=c.img=null,ic(c,qa),Ia(c),void(a.index===m&&f.updateCurrZoomItem());c.imageAppended?!$b&&c.placeholder&&(c.placeholder.style.display="none",c.placeholder=null):N.transform&&(fa||$b)?ec.push({item:c,baseDiv:h,img:c.img,index:b,holder:a,clearPlaceholder:!0}):jc(b,c,h,c.img,fa||$b,!0)}c.loadComplete=null,c.img=null,Da("imageLoadComplete",b,c)}},e.features.transform){var k="pswp__img pswp__img--placeholder";k+=g.msrc?"":" pswp__img--placeholder--blank";var l=e.createEl(k,g.msrc?"img":"");g.msrc&&(l.src=g.msrc),mc(g,l),h.appendChild(l),g.placeholder=l}g.loading||kc(g),f.allowProgressiveImg()&&(!Zb&&N.transform?ec.push({item:g,baseDiv:h,img:g.img,index:b,holder:a}):jc(b,g,h,g.img,!0,!0))}Zb||b!==m?Ia(g):(ea=h.style,cc(g,d||g.img)),a.el.innerHTML="",a.el.appendChild(h)},cleanSlide:function(a){a.img&&(a.img.onload=a.img.onerror=null),a.loaded=a.loading=a.img=a.imageAppended=!1}}});var oc,pc={},qc=function(a,b,c){var d=document.createEvent("CustomEvent"),e={origEvent:a,target:a.target,releasePoint:b,pointerType:c||"touch"};d.initCustomEvent("pswpTap",!0,!0,e),a.target.dispatchEvent(d)};za("Tap",{publicMethods:{initTap:function(){Ca("firstTouchStart",f.onTapStart),Ca("touchRelease",f.onTapRelease),Ca("destroy",function(){pc={},oc=null})},onTapStart:function(a){a.length>1&&(clearTimeout(oc),oc=null)},onTapRelease:function(a,b){if(b&&!Y&&!W&&!_a){var c=b;if(oc&&(clearTimeout(oc),oc=null,xb(c,pc)))return void Da("doubleTap",c);if("mouse"===b.type)return void qc(a,b,"mouse");var d=a.target.tagName.toUpperCase();if("BUTTON"===d||e.hasClass(a.target,"pswp__single-tap"))return void qc(a,b);Ma(pc,c),oc=setTimeout(function(){qc(a,b),oc=null},300)}}}});var rc;za("DesktopZoom",{publicMethods:{initDesktopZoom:function(){L||(G?Ca("mouseUsed",function(){f.setupDesktopZoom()}):f.setupDesktopZoom(!0))},setupDesktopZoom:function(b){rc={};var c="wheel mousewheel DOMMouseScroll";Ca("bindEvents",function(){e.bind(a,c,f.handleMouseWheel)}),Ca("unbindEvents",function(){rc&&e.unbind(a,c,f.handleMouseWheel)}),f.mouseZoomedIn=!1;var d,g=function(){f.mouseZoomedIn&&(e.removeClass(a,"pswp--zoomed-in"),f.mouseZoomedIn=!1),s<1?e.addClass(a,"pswp--zoom-allowed"):e.removeClass(a,"pswp--zoom-allowed"),h()},h=function(){d&&(e.removeClass(a,"pswp--dragging"),d=!1)};Ca("resize",g),Ca("afterChange",g),Ca("pointerDown",function(){f.mouseZoomedIn&&(d=!0,e.addClass(a,"pswp--dragging"))}),Ca("pointerUp",h),b||g()}
9065,handleMouseWheel:function(a){if(s<=f.currItem.fitRatio)return i.modal&&(!i.closeOnScroll||_a||V?a.preventDefault():E&&Math.abs(a.deltaY)>2&&(l=!0,f.close())),!0;if(a.stopPropagation(),rc.x=0,"deltaX"in a)1===a.deltaMode?(rc.x=18*a.deltaX,rc.y=18*a.deltaY):(rc.x=a.deltaX,rc.y=a.deltaY);else if("wheelDelta"in a)a.wheelDeltaX&&(rc.x=-.16*a.wheelDeltaX),a.wheelDeltaY?rc.y=-.16*a.wheelDeltaY:rc.y=-.16*a.wheelDelta;else{if(!("detail"in a))return;rc.y=a.detail}Sa(s,!0);var b=pa.x-rc.x,c=pa.y-rc.y;(i.modal||b<=da.min.x&&b>=da.max.x&&c<=da.min.y&&c>=da.max.y)&&a.preventDefault(),f.panTo(b,c)},toggleDesktopZoom:function(b){b=b||{x:qa.x/2+sa.x,y:qa.y/2+sa.y};var c=i.getDoubleTapZoom(!0,f.currItem),d=s===c;f.mouseZoomedIn=!d,f.zoomTo(d?f.currItem.initialZoomLevel:c,b,333),e[(d?"remove":"add")+"Class"](a,"pswp--zoomed-in")}}});var sc,tc,uc,vc,wc,xc,yc,zc,Ac,Bc,Cc,Dc,Ec={history:!0,galleryUID:1},Fc=function(){return Cc.hash.substring(1)},Gc=function(){sc&&clearTimeout(sc),uc&&clearTimeout(uc)},Hc=function(){var a=Fc(),b={};if(a.length<5)return b;var c,d=a.split("&");for(c=0;c<d.length;c++)if(d[c]){var e=d[c].split("=");e.length<2||(b[e[0]]=e[1])}if(i.galleryPIDs){var f=b.pid;for(b.pid=0,c=0;c<Yb.length;c++)if(Yb[c].pid===f){b.pid=c;break}}else b.pid=parseInt(b.pid,10)-1;return b.pid<0&&(b.pid=0),b},Ic=function(){if(uc&&clearTimeout(uc),_a||V)return void(uc=setTimeout(Ic,500));vc?clearTimeout(tc):vc=!0;var a=m+1,b=_b(m);b.hasOwnProperty("pid")&&(a=b.pid);var c=yc+"&gid="+i.galleryUID+"&pid="+a;zc||Cc.hash.indexOf(c)===-1&&(Bc=!0);var d=Cc.href.split("#")[0]+"#"+c;Dc?"#"+c!==window.location.hash&&history[zc?"replaceState":"pushState"]("",document.title,d):zc?Cc.replace(d):Cc.hash=c,zc=!0,tc=setTimeout(function(){vc=!1},60)};za("History",{publicMethods:{initHistory:function(){if(e.extend(i,Ec,!0),i.history){Cc=window.location,Bc=!1,Ac=!1,zc=!1,yc=Fc(),Dc="pushState"in history,yc.indexOf("gid=")>-1&&(yc=yc.split("&gid=")[0],yc=yc.split("?gid=")[0]),Ca("afterChange",f.updateURL),Ca("unbindEvents",function(){e.unbind(window,"hashchange",f.onHashChange)});var a=function(){xc=!0,Ac||(Bc?history.back():yc?Cc.hash=yc:Dc?history.pushState("",document.title,Cc.pathname+Cc.search):Cc.hash=""),Gc()};Ca("unbindEvents",function(){l&&a()}),Ca("destroy",function(){xc||a()}),Ca("firstUpdate",function(){m=Hc().pid});var b=yc.indexOf("pid=");b>-1&&(yc=yc.substring(0,b),"&"===yc.slice(-1)&&(yc=yc.slice(0,-1))),setTimeout(function(){j&&e.bind(window,"hashchange",f.onHashChange)},40)}},onHashChange:function(){return Fc()===yc?(Ac=!0,void f.close()):void(vc||(wc=!0,f.goTo(Hc().pid),wc=!1))},updateURL:function(){Gc(),wc||(zc?sc=setTimeout(Ic,800):Ic())}}}),e.extend(f,eb)};return a});
9066
9067
9068/* plugins/auto/photoswipe/v1.2.2/lib/photoswipe/photoswipe-ui-default.min.js */
9069
9070!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.PhotoSwipeUI_Default=b()}(this,function(){"use strict";var a=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v=this,w=!1,x=!0,y=!0,z={barsSize:{top:44,bottom:"auto"},closeElClasses:["item","caption","zoom-wrap","ui","top-bar"],timeToIdle:4e3,timeToIdleOutside:1e3,loadingIndicatorDelay:1e3,addCaptionHTMLFn:function(a,b){return a.title?(b.children[0].innerHTML=a.title,!0):(b.children[0].innerHTML="",!1)},closeEl:!0,captionEl:!0,fullscreenEl:!0,zoomEl:!0,shareEl:!0,counterEl:!0,arrowEl:!0,preloaderEl:!0,tapToClose:!1,tapToToggleControls:!0,clickToCloseNonZoomable:!0,shareButtons:[{id:"facebook",label:"Share on Facebook",url:"https://www.facebook.com/sharer/sharer.php?u={{url}}"},{id:"twitter",label:"Tweet",url:"https://twitter.com/intent/tweet?text={{text}}&url={{url}}"},{id:"pinterest",label:"Pin it",url:"http://www.pinterest.com/pin/create/button/?url={{url}}&media={{image_url}}&description={{text}}"},{id:"download",label:"Download image",url:"{{raw_image_url}}",download:!0}],getImageURLForShare:function(){return a.currItem.src||""},getPageURLForShare:function(){return window.location.href},getTextForShare:function(){return a.currItem.title||""},indexIndicatorSep:" / ",fitControlsWidth:1200}
9070,A=function(a){if(r)return!0;a=a||window.event,q.timeToIdle&&q.mouseUsed&&!k&&K();for(var c,d,e=a.target||a.srcElement,f=e.getAttribute("class")||"",g=0;g<S.length;g++)c=S[g],c.onTap&&f.indexOf("pswp__"+c.name)>-1&&(c.onTap(),d=!0);if(d){a.stopPropagation&&a.stopPropagation(),r=!0;var h=b.features.isOldAndroid?600:30;s=setTimeout(function(){r=!1},h)}},B=function(){return!a.likelyTouchDevice||q.mouseUsed||screen.width>q.fitControlsWidth},C=function(a,c,d){b[(d?"add":"remove")+"Class"](a,"pswp__"+c)},D=function(){var a=1===q.getNumItemsFn();a!==p&&(C(d,"ui--one-slide",a),p=a)},E=function(){C(i,"share-modal--hidden",y)},F=function(){return y=!y,y?(b.removeClass(i,"pswp__share-modal--fade-in"),setTimeout(function(){y&&E()},300)):(E(),setTimeout(function(){y||b.addClass(i,"pswp__share-modal--fade-in")},30)),y||H(),!1},G=function(b){b=b||window.event;var c=b.target||b.srcElement;return a.shout("shareLinkClick",b,c),!!c.href&&(!!c.hasAttribute("download")||(window.open(c.href,"pswp_share","scrollbars=yes,resizable=yes,toolbar=no,location=yes,width=550,height=420,top=100,left="+(window.screen?Math.round(screen.width/2-275):100)),y||F(),!1))},H=function(){for(var a,b,c,d,e,f="",g=0;g<q.shareButtons.length;g++)a=q.shareButtons[g],c=q.getImageURLForShare(a),d=q.getPageURLForShare(a),e=q.getTextForShare(a),b=a.url.replace("{{url}}",encodeURIComponent(d)).replace("{{image_url}}",encodeURIComponent(c)).replace("{{raw_image_url}}",c).replace("{{text}}",encodeURIComponent(e)),f+='<a href="'+b+'" target="_blank" class="pswp__share--'+a.id+'"'+(a.download?"download":"")+">"+a.label+"</a>",q.parseShareButtonOut&&(f=q.parseShareButtonOut(a,f));i.children[0].innerHTML=f,i.children[0].onclick=G},I=function(a){for(var c=0;c<q.closeElClasses.length;c++)if(b.hasClass(a,"pswp__"+q.closeElClasses[c]))return!0},J=0,K=function(){clearTimeout(u),J=0,k&&v.setIdle(!1)},L=function(a){a=a?a:window.event;var b=a.relatedTarget||a.toElement;b&&"HTML"!==b.nodeName||(clearTimeout(u),u=setTimeout(function(){v.setIdle(!0)},q.timeToIdleOutside))},M=function(){q.fullscreenEl&&!b.features.isOldAndroid&&(c||(c=v.getFullscreenAPI()),c?(b.bind(document,c.eventK,v.updateFullscreen),v.updateFullscreen(),b.addClass(a.template,"pswp--supports-fs")):b.removeClass(a.template,"pswp--supports-fs"))},N=function(){q.preloaderEl&&(O(!0),l("beforeChange",function(){clearTimeout(o),o=setTimeout(function(){a.currItem&&a.currItem.loading?(!a.allowProgressiveImg()||a.currItem.img&&!a.currItem.img.naturalWidth)&&O(!1):O(!0)},q.loadingIndicatorDelay)}),l("imageLoadComplete",function(b,c){a.currItem===c&&O(!0)}))},O=function(a){n!==a&&(C(m,"preloader--active",!a),n=a)},P=function(a){var c=a.vGap;if(B()){var g=q.barsSize;if(q.captionEl&&"auto"===g.bottom)if(f||(f=b.createEl("pswp__caption pswp__caption--fake"),f.appendChild(b.createEl("pswp__caption__center")),d.insertBefore(f,e),b.addClass(d,"pswp__ui--fit")),q.addCaptionHTMLFn(a,f,!0)){var h=f.clientHeight;c.bottom=parseInt(h,10)||44}else c.bottom=g.top;else c.bottom="auto"===g.bottom?0:g.bottom;c.top=g.top}else c.top=c.bottom=0},Q=function(){q.timeToIdle&&l("mouseUsed",function(){b.bind(document,"mousemove",K),b.bind(document,"mouseout",L),t=setInterval(function(){J++,2===J&&v.setIdle(!0)},q.timeToIdle/2)})},R=function(){l("onVerticalDrag",function(a){x&&a<.95?v.hideControls():!x&&a>=.95&&v.showControls()});var a;l("onPinchClose",function(b){x&&b<.9?(v.hideControls(),a=!0):a&&!x&&b>.9&&v.showControls()}),l("zoomGestureEnded",function(){a=!1,a&&!x&&v.showControls()})},S=[{name:"caption",option:"captionEl",onInit:function(a){e=a}},{name:"share-modal",option:"shareEl",onInit:function(a){i=a},onTap:function(){F()}},{name:"button--share",option:"shareEl",onInit:function(a){h=a},onTap:function(){F()}},{name:"button--zoom",option:"zoomEl",onTap:a.toggleDesktopZoom},{name:"counter",option:"counterEl",onInit:function(a){g=a}},{name:"button--close",option:"closeEl",onTap:a.close},{name:"button--arrow--left",option:"arrowEl",onTap:a.prev},{name:"button--arrow--right",option:"arrowEl",onTap:a.next},{name:"button--fs",option:"fullscreenEl",onTap:function(){c.isFullscreen()?c.exit():c.enter()}},{name:"preloader",option:"preloaderEl",onInit:function(a){m=a}}],T=function(){var a,c,e,f=function(d){if(d)for(var f=d.length,g=0;g<f;g++){a=d[g],c=a.className;for(var h=0;h<S.length;h++)e=S[h],c.indexOf("pswp__"+e.name)>-1&&(q[e.option]?(b.removeClass(a,"pswp__element--disabled"),e.onInit&&e.onInit(
9070a)):b.addClass(a,"pswp__element--disabled"))}};f(d.children);var g=b.getChildByClass(d,"pswp__top-bar");g&&f(g.children)};v.init=function(){b.extend(a.options,z,!0),q=a.options,d=b.getChildByClass(a.scrollWrap,"pswp__ui"),l=a.listen,R(),l("beforeChange",v.update),l("doubleTap",function(b){var c=a.currItem.initialZoomLevel;a.getZoomLevel()!==c?a.zoomTo(c,b,333):a.zoomTo(q.getDoubleTapZoom(!1,a.currItem),b,333)}),l("preventDragEvent",function(a,b,c){var d=a.target||a.srcElement;d&&d.getAttribute("class")&&a.type.indexOf("mouse")>-1&&(d.getAttribute("class").indexOf("__caption")>0||/(SMALL|STRONG|EM)/i.test(d.tagName))&&(c.prevent=!1)}),l("bindEvents",function(){b.bind(d,"pswpTap click",A),b.bind(a.scrollWrap,"pswpTap",v.onGlobalTap),a.likelyTouchDevice||b.bind(a.scrollWrap,"mouseover",v.onMouseOver)}),l("unbindEvents",function(){y||F(),t&&clearInterval(t),b.unbind(document,"mouseout",L),b.unbind(document,"mousemove",K),b.unbind(d,"pswpTap click",A),b.unbind(a.scrollWrap,"pswpTap",v.onGlobalTap),b.unbind(a.scrollWrap,"mouseover",v.onMouseOver),c&&(b.unbind(document,c.eventK,v.updateFullscreen),c.isFullscreen()&&(q.hideAnimationDuration=0,c.exit()),c=null)}),l("destroy",function(){q.captionEl&&(f&&d.removeChild(f),b.removeClass(e,"pswp__caption--empty")),i&&(i.children[0].onclick=null),b.removeClass(d,"pswp__ui--over-close"),b.addClass(d,"pswp__ui--hidden"),v.setIdle(!1)}),q.showAnimationDuration||b.removeClass(d,"pswp__ui--hidden"),l("initialZoomIn",function(){q.showAnimationDuration&&b.removeClass(d,"pswp__ui--hidden")}),l("initialZoomOut",function(){b.addClass(d,"pswp__ui--hidden")}),l("parseVerticalMargin",P),T(),q.shareEl&&h&&i&&(y=!0),D(),Q(),M(),N()},v.setIdle=function(a){k=a,C(d,"ui--idle",a)},v.update=function(){x&&a.currItem?(v.updateIndexIndicator(),q.captionEl&&(q.addCaptionHTMLFn(a.currItem,e),C(e,"caption--empty",!a.currItem.title)),w=!0):w=!1,y||F(),D()},v.updateFullscreen=function(d){d&&setTimeout(function(){a.setScrollOffset(0,b.getScrollY())},50),b[(c.isFullscreen()?"add":"remove")+"Class"](a.template,"pswp--fs")},v.updateIndexIndicator=function(){q.counterEl&&(g.innerHTML=a.getCurrentIndex()+1+q.indexIndicatorSep+q.getNumItemsFn())},v.onGlobalTap=function(c){c=c||window.event;var d=c.target||c.srcElement;if(!r)if(c.detail&&"mouse"===c.detail.pointerType){if(I(d))return void a.close();b.hasClass(d,"pswp__img")&&(1===a.getZoomLevel()&&a.getZoomLevel()<=a.currItem.fitRatio?q.clickToCloseNonZoomable&&a.close():a.toggleDesktopZoom(c.detail.releasePoint))}else if(q.tapToToggleControls&&(x?v.hideControls():v.showControls()),q.tapToClose&&(b.hasClass(d,"pswp__img")||I(d)))return void a.close()},v.onMouseOver=function(a){a=a||window.event;var b=a.target||a.srcElement;C(d,"ui--over-close",I(b))},v.hideControls=function(){b.addClass(d,"pswp__ui--hidden"),x=!1},v.showControls=function(){x=!0,w||v.update(),b.removeClass(d,"pswp__ui--hidden")},v.supportsFullscreen=function(){var a=document;return!!(a.exitFullscreen||a.mozCancelFullScreen||a.webkitExitFullscreen||a.msExitFullscreen)},v.getFullscreenAPI=function(){var b,c=document.documentElement,d="fullscreenchange";return c.requestFullscreen?b={enterK:"requestFullscreen",exitK:"exitFullscreen",elementK:"fullscreenElement",eventK:d}:c.mozRequestFullScreen?b={enterK:"mozRequestFullScreen",exitK:"mozCancelFullScreen",elementK:"mozFullScreenElement",eventK:"moz"+d}:c.webkitRequestFullscreen?b={enterK:"webkitRequestFullscreen",exitK:"webkitExitFullscreen",elementK:"webkitFullscreenElement",eventK:"webkit"+d}:c.msRequestFullscreen&&(b={enterK:"msRequestFullscreen",exitK:"msExitFullscreen",elementK:"msFullscreenElement",eventK:"MSFullscreenChange"}),b&&(b.enter=function(){return j=q.closeOnScroll,q.closeOnScroll=!1,"webkitRequestFullscreen"!==this.enterK?a.template[this.enterK]():void a.template[this.enterK](Element.ALLOW_KEYBOARD_INPUT)},b.exit=function(){return q.closeOnScroll=j,document[this.exitK]()},b.isFullscreen=function(){return document[this.elementK]}),b}};return a});
9071
9072
9073/* plugins/auto/photoswipe/v1.2.2/photoswipe_insert.js?1768928150 */
9074function photoshow_hover(){
9075var me=this;
9076var a=photoshow_identify(me);
9077if(a){
9078$(me).addClass('photoshow');
9079$(me).removeClass('lity-enabled');
9080}
9081}
9082function photoshow(){
9083var imgs=[],
9084g=[];
9085var a=photoshow_identify(this),
9086index=0;
9087if(!a)return;
9088var galerie=$(this).parents(photoswipe.conteneur);
9089if(galerie.length){
9090elsgalerie=galerie.find(photoswipe.selector);
9091}else{
9092elsgalerie=$(photoswipe.selector).filter(function(){return $(this).parents(photoswipe.conteneur).length?false:true;});
9093}
9094if(elsgalerie.length===0){return false;}
9095var idx=0;
9096if(photoswipe.gallery){
9097elsgalerie
9098.each(function(i,e){
9099var b=photoshow_identify(e);
9100if(b){
9101if(!a.rel||b.rel==a.rel){
9102imgs.push(b);
9103if(b.src==a.src)index=idx;
9104idx++;
9105}
9106}
9107});
9108}else{
9109imgs.push(a);
9110}
9111if(photoswipe.debug){
9112console.log(JSON.stringify(imgs));
9113}
9114photoshow_gallery(imgs,index,galerie.data("pswp-uid"));
9115return false;
9116}
9117function photoshow_identify(me){
9118var me=$(me),a={};
9119a.title="";
9120a.alt="";
9121if(me.is('a')){
9122if(!me.attr('type').match(/image\/(jpeg|gif|png|webp)/)){
9123return null;
9124}
9125a.src=me.attr('href');
9126a.w=me.attr('data-photo-w');
9127a.h=me.attr('data-photo-h');
9128a.alt=me.attr('title')||'';
9129a.title=me.attr('data-photo-title')||a.alt;
9130if(!(a.src&&a.w&&a.h)){
9131return;
9132}
9133a.thumbnail=me.find('img');
9134a.rel=me.attr('rel')||a.thumbnail.attr('rel');
9135}else if(me.is('img')){
9136var photosrc=me.attr('data-photo');
9137a.thumbnail=me;
9138if(photosrc){
9139a.src=photosrc.replace(/__\.__/g,'.');
9140a.w=parseInt(me.attr('data-photo-w'));
9141a.h=parseInt(me.attr('data-photo-h'));
9142a.title=me.attr('data-photo-title');
9143}else{
9144a.src=me.attr('src');
9145a.w=parseInt(me.attr('naturalWidth'));
9146a.h=parseInt(me.attr('naturalHeight'));
9147}
9148a.rel=me.attr('rel');
9149}else{
9150return;
9151}
9152var p=me.parents('figure').find('figcaption');
9153if(p.length){
9154a.title=p.html();
9155}
9156if(!a.title){
9157a.title=me.attr('title');
9158}
9159if(me.is('a')||a.w>me.width()||a.w>$(window).width()||a.h>$(window).height()){
9160return a;
9161}
9162}
9163function photoshow_gallery(items,index,galerie){
9164galerie=typeof galerie!=='undefined'?galerie:1;
9165var pswpElement=document.querySelectorAll('.pswp')[0];
9166var options={
9167index:index,
9168shareEl:false,
9169fullscreenEl:false,
9170loop:false,
9171galleryUID:galerie,
9172addCaptionHTMLFn:function(item,captionEl,isFake){
9173if(!item.title){
9174captionEl.children[0].innerHTML='';
9175return false;
9176}
9177captionEl.children[0].innerHTML=item.title;
9178return true;
9179},
9180getThumbBoundsFn:function(index){
9181var thumbnail=items[index].thumbnail[0];
9182if(!thumbnail)return;
9183var pageYScroll=window.pageYOffset||document.documentElement.scrollTop;
9184var rect=thumbnail.getBoundingClientRect();
9185return{
9186x:rect.left,
9187y:rect.top+pageYScroll,
9188w:rect.width
9189};
9190},
9191errorMsg:photoswipe.errorMsg
9192};
9193gallery=new PhotoSwipe(pswpElement,PhotoSwipeUI_Default,items,options);
9194gallery.listen('gettingData',function(index,item){
9195if(item.w<1||item.h<1){
9196var img=new Image();
9197img.onload=function(){
9198item.w=this.width;
9199item.h=this.height;
9200gallery.updateSize(true);
9201};
9202img.src=item.src;
9203}
9204});
9205gallery.init();
9206function applyAlt(gallery,pswpElement){
9207var img_caption=$(".pswp__caption:not(.pswp__caption--fake) .pswp__caption__center").text();
9208$(pswpElement).find(".pswp__img").attr("alt",img_caption);
9209}
9210const events=['initialZoomInEnd','imageLoadComplete','afterChange'];
9211events.forEach(event=>{
9212gallery.listen(event,()=>{
9213applyAlt(gallery,pswpElement);
9214});
9215});
9216}
9217function photoswipe_init(){
9218$.ajaxSetup({cache:true});
9219$('<div>')
9220.html('<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true" aria-modal="true" aria-label="Visionneuse d’images"> <div class="pswp__bg"></div> <div class="pswp__scroll-wrap"> <div class="pswp__container"> <div class="pswp__item"></div> <div class="pswp__item"></div> <div class="pswp__item"></div> </div> <div class="pswp__ui pswp__ui--hidden"> <div class="pswp__top-bar"> <div class="pswp__counter"></div> <button class="pswp__button pswp__button--close" title="Close (Esc)"></button> <button class="pswp__button pswp__button--share" title="Share"></button> <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button> <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button> <div class="pswp__preloader"> <div class="pswp__preloader__icn"> <div class="pswp__preloader__cut"> <div class="pswp__preloader__donut"></div> </div> </div> </div> </div> <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> <div class="pswp__share-tooltip"></div> </div> <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)"> </button> <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)"> </button> <div class="pswp__caption"> <div class="pswp__caption__center"></div> </div> </div> </div></div>')
9221.appendTo('body');
9222}
9223$(function(){
9224photoswipe_init();
9225var galleryElements=document.querySelectorAll(photoswipe.conteneur);
9226for(var i=0,l=galleryElements.length;i<l;i++){
9227galleryElements[i].setAttribute('data-pswp-uid',i+2);
9228}
9229if(!!$.fn.on){
9230$(document).on("mouseover",photoswipe.selector,photoshow_hover);
9231$(document).on("click",photoswipe.selector,photoshow);
9232}else if(!!$.fn.live){
9233$(photoswipe.selector).live("mouseover",photoshow_hover);
9234$(photoswipe.selector).live("click",photoshow);
9235}
9236});
9237
9238
9239/* plugins/bootspip/v1.3.5/bootstrap/js/transition.js */
9240
9241+function($){
9242'use strict';
9243function transitionEnd(){
9244var el=document.createElement('bootstrap')
9245var transEndEventNames={
9246WebkitTransition:'webkitTransitionEnd',
9247MozTransition:'transitionend',
9248OTransition:'oTransitionEnd otransitionend',
9249transition:'transitionend'
9250}
9251for(var name in transEndEventNames){
9252if(el.style[name]!==undefined){
9253return{end:transEndEventNames[name]}
9254}
9255}
9256return false
9257}
9258$.fn.emulateTransitionEnd=function(duration){
9259var called=false
9260var $el=this
9261$(this).one('bsTransitionEnd',function(){called=true})
9262var callback=function(){if(!called)$($el).trigger($.support.transition.end)}
9263setTimeout(callback,duration)
9264return this
9265}
9266$(function(){
9267$.support.transition=transitionEnd()
9268if(!$.support.transition)return
9269$.event.special.bsTransitionEnd={
vendor: 15,784 bytes, lines 9270-9794
9270bindType:$.support.transition.end,
9271delegateType:$.support.transition.end,
9272handle:function(e){
9273if($(e.target).is(this))return e.handleObj.handler.apply(this,arguments)
9274}
9275}
9276})
9277}(jQuery);
9278
9279
9280/* plugins/bootspip/v1.3.5/bootstrap/js/collapse.js */
9281
9282+function($){
9283'use strict';
9284var Collapse=function(element,options){
9285this.$element=$(element)
9286this.options=$.extend({},Collapse.DEFAULTS,options)
9287this.$trigger=$('[data-toggle="collapse"][href="#'+element.id+'"],'+
9288'[data-toggle="collapse"][data-target="#'+element.id+'"]')
9289this.transitioning=null
9290if(this.options.parent){
9291this.$parent=this.getParent()
9292}else{
9293this.addAriaAndCollapsedClass(this.$element,this.$trigger)
9294}
9295if(this.options.toggle)this.toggle()
9296}
9297Collapse.VERSION='3.4.1'
9298Collapse.TRANSITION_DURATION=350
9299Collapse.DEFAULTS={
9300toggle:true
9301}
9302Collapse.prototype.dimension=function(){
9303var hasWidth=this.$element.hasClass('width')
9304return hasWidth?'width':'height'
9305}
9306Collapse.prototype.show=function(){
9307if(this.transitioning||this.$element.hasClass('in'))return
9308var activesData
9309var actives=this.$parent&&this.$parent.children('.panel').children('.in, .collapsing')
9310if(actives&&actives.length){
9311activesData=actives.data('bs.collapse')
9312if(activesData&&activesData.transitioning)return
9313}
9314var startEvent=$.Event('show.bs.collapse')
9315this.$element.trigger(startEvent)
9316if(startEvent.isDefaultPrevented())return
9317if(actives&&actives.length){
9318Plugin.call(actives,'hide')
9319activesData||actives.data('bs.collapse',null)
9320}
9321var dimension=this.dimension()
9322this.$element
9323.removeClass('collapse')
9324.addClass('collapsing')[dimension](0)
9325.attr('aria-expanded',true)
9326this.$trigger
9327.removeClass('collapsed')
9328.attr('aria-expanded',true)
9329this.transitioning=1
9330var complete=function(){
9331this.$element
9332.removeClass('collapsing')
9333.addClass('collapse in')[dimension]('')
9334this.transitioning=0
9335this.$element
9336.trigger('shown.bs.collapse')
9337}
9338if(!$.support.transition)return complete.call(this)
9339var scrollSize=$.camelCase(['scroll',dimension].join('-'))
9340this.$element
9341.one('bsTransitionEnd',$.proxy(complete,this))
9342.emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
9343}
9344Collapse.prototype.hide=function(){
9345if(this.transitioning||!this.$element.hasClass('in'))return
9346var startEvent=$.Event('hide.bs.collapse')
9347this.$element.trigger(startEvent)
9348if(startEvent.isDefaultPrevented())return
9349var dimension=this.dimension()
9350this.$element[dimension](this.$element[dimension]())[0].offsetHeight
9351this.$element
9352.addClass('collapsing')
9353.removeClass('collapse in')
9354.attr('aria-expanded',false)
9355this.$trigger
9356.addClass('collapsed')
9357.attr('aria-expanded',false)
9358this.transitioning=1
9359var complete=function(){
9360this.transitioning=0
9361this.$element
9362.removeClass('collapsing')
9363.addClass('collapse')
9364.trigger('hidden.bs.collapse')
9365}
9366if(!$.support.transition)return complete.call(this)
9367this.$element
9368[dimension](0)
9369.one('bsTransitionEnd',$.proxy(complete,this))
9370.emulateTransitionEnd(Collapse.TRANSITION_DURATION)
9371}
9372Collapse.prototype.toggle=function(){
9373this[this.$element.hasClass('in')?'hide':'show']()
9374}
9375Collapse.prototype.getParent=function(){
9376return $(document).find(this.options.parent)
9377.find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]')
9378.each($.proxy(function(i,element){
9379var $element=$(element)
9380this.addAriaAndCollapsedClass(getTargetFromTrigger($element),$element)
9381},this))
9382.end()
9383}
9384Collapse.prototype.addAriaAndCollapsedClass=function($element,$trigger){
9385var isOpen=$element.hasClass('in')
9386$element.attr('aria-expanded',isOpen)
9387$trigger
9388.toggleClass('collapsed',!isOpen)
9389.attr('aria-expanded',isOpen)
9390}
9391function getTargetFromTrigger($trigger){
9392var href
9393var target=$trigger.attr('data-target')
9394||(href=$trigger.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'')
9395return $(document).find(target)
9396}
9397function Plugin(option){
9398return this.each(function(){
9399var $this=$(this)
9400var data=$this.data('bs.collapse')
9401var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=='object'&&option)
9402if(!data&&options.toggle&&/show|hide/.test(option))options.toggle=false
9403if(!data)$this.data('bs.collapse',(data=new Collapse(this,options)))
9404if(typeof option=='string')data[option]()
9405})
9406}
9407var old=$.fn.collapse
9408$.fn.collapse=Plugin
9409$.fn.collapse.Constructor=Collapse
9410$.fn.collapse.noConflict=function(){
9411$.fn.collapse=old
9412return this
9413}
9414$(document).on('click.bs.collapse.data-api','[data-toggle="collapse"]',function(e){
9415var $this=$(this)
9416if(!$this.attr('data-target'))e.preventDefault()
9417var $target=getTargetFromTrigger($this)
9418var data=$target.data('bs.collapse')
9419var option=data?'toggle':$this.data()
9420Plugin.call($target,option)
9421})
9422}(jQuery);
9423
9424
9425/* plugins/bootspip/v1.3.5/bootstrap/js/dropdown.js */
9426
9427+function($){
9428'use strict';
9429var backdrop='.dropdown-backdrop'
9430var toggle='[data-toggle="dropdown"]'
9431var Dropdown=function(element){
9432$(element).on('click.bs.dropdown',this.toggle)
9433}
9434Dropdown.VERSION='3.4.1'
9435function getParent($this){
9436var selector=$this.attr('data-target')
9437if(!selector){
9438selector=$this.attr('href')
9439selector=selector&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,'')
9440}
9441var $parent=selector!=='#'?$(document).find(selector):null
9442return $parent&&$parent.length?$parent:$this.parent()
9443}
9444function clearMenus(e){
9445if(e&&e.which===3)return
9446$(backdrop).remove()
9447$(toggle).each(function(){
9448var $this=$(this)
9449var $parent=getParent($this)
9450var relatedTarget={relatedTarget:this}
9451if(!$parent.hasClass('open'))return
9452if(e&&e.type=='click'&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target))return
9453$parent.trigger(e=$.Event('hide.bs.dropdown',relatedTarget))
9454if(e.isDefaultPrevented())return
9455$this.attr('aria-expanded','false')
9456$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown',relatedTarget))
9457})
9458}
9459Dropdown.prototype.toggle=function(e){
9460var $this=$(this)
9461if($this.is('.disabled, :disabled'))return
9462var $parent=getParent($this)
9463var isActive=$parent.hasClass('open')
9464clearMenus()
9465if(!isActive){
9466if('ontouchstart'in document.documentElement&&!$parent.closest('.navbar-nav').length){
9467$(document.createElement('div'))
9468.addClass('dropdown-backdrop')
9469.insertAfter($(this))
9470.on('click',clearMenus)
9471}
9472var relatedTarget={relatedTarget:this}
9473$parent.trigger(e=$.Event('show.bs.dropdown',relatedTarget))
9474if(e.isDefaultPrevented())return
9475$this
9476.trigger('focus')
9477.attr('aria-expanded','true')
9478$parent
9479.toggleClass('open')
9480.trigger($.Event('shown.bs.dropdown',relatedTarget))
9481}
9482return false
9483}
9484Dropdown.prototype.keydown=function(e){
9485if(!/(38|40|27|32)/.test(e.which)||/input|textarea/i.test(e.target.tagName))return
9486var $this=$(this)
9487e.preventDefault()
9488e.stopPropagation()
9489if($this.is('.disabled, :disabled'))return
9490var $parent=getParent($this)
9491var isActive=$parent.hasClass('open')
9492if(!isActive&&e.which!=27||isActive&&e.which==27){
9493if(e.which==27)$parent.find(toggle).trigger('focus')
9494return $this.trigger('click')
9495}
9496var desc=' li:not(.disabled):visible a'
9497var $items=$parent.find('.dropdown-menu'+desc)
9498if(!$items.length)return
9499var index=$items.index(e.target)
9500if(e.which==38&&index>0)index--
9501if(e.which==40&&index<$items.length-1)index++
9502if(!~index)index=0
9503$items.eq(index).trigger('focus')
9504}
9505function Plugin(option){
9506return this.each(function(){
9507var $this=$(this)
9508var data=$this.data('bs.dropdown')
9509if(!data)$this.data('bs.dropdown',(data=new Dropdown(this)))
9510if(typeof option=='string')data[option].call($this)
9511})
9512}
9513var old=$.fn.dropdown
9514$.fn.dropdown=Plugin
9515$.fn.dropdown.Constructor=Dropdown
9516$.fn.dropdown.noConflict=function(){
9517$.fn.dropdown=old
9518return this
9519}
9520$(document)
9521.on('click.bs.dropdown.data-api',clearMenus)
9522.on('click.bs.dropdown.data-api','.dropdown form',function(e){e.stopPropagation()})
9523.on('click.bs.dropdown.data-api',toggle,Dropdown.prototype.toggle)
9524.on('keydown.bs.dropdown.data-api',toggle,Dropdown.prototype.keydown)
9525.on('keydown.bs.dropdown.data-api','.dropdown-menu',Dropdown.prototype.keydown)
9526}(jQuery);
9527
9528
9529/* plugins/bootspip/v1.3.5/bootstrap/js/tooltip.js */
9530
9531+function($){
9532'use strict';
9533var DISALLOWED_ATTRIBUTES=['sanitize','whiteList','sanitizeFn']
9534var uriAttrs=[
9535'background',
9536'cite',
9537'href',
9538'itemtype',
9539'longdesc',
9540'poster',
9541'src',
9542'xlink:href'
9543]
9544var ARIA_ATTRIBUTE_PATTERN=/^aria-[\w-]*$/i
9545var DefaultWhitelist={
9546'*':['class','dir','id','lang','role',ARIA_ATTRIBUTE_PATTERN],
9547a:['target','href','title','rel'],
9548area:[],
9549b:[],
9550br:[],
9551col:[],
9552code:[],
9553div:[],
9554em:[],
9555hr:[],
9556h1:[],
9557h2:[],
9558h3:[],
9559h4:[],
9560h5:[],
9561h6:[],
9562i:[],
9563img:['src','alt','title','width','height'],
9564li:[],
9565ol:[],
9566p:[],
9567pre:[],
9568s:[],
9569small:[],
9570span:[],
9571sub:[],
9572sup:[],
9573strong:[],
9574u:[],
9575ul:[]
9576}
9577var SAFE_URL_PATTERN=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi
9578var DATA_URL_PATTERN=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i
9579function allowedAttribute(attr,allowedAttributeList){
9580var attrName=attr.nodeName.toLowerCase()
9581if($.inArray(attrName,allowedAttributeList)!==-1){
9582if($.inArray(attrName,uriAttrs)!==-1){
9583return Boolean(attr.nodeValue.match(SAFE_URL_PATTERN)||attr.nodeValue.match(DATA_URL_PATTERN))
9584}
9585return true
9586}
9587var regExp=$(allowedAttributeList).filter(function(index,value){
9588return value instanceof RegExp
9589})
9590for(var i=0,l=regExp.length;i<l;i++){
9591if(attrName.match(regExp[i])){
9592return true
9593}
9594}
9595return false
9596}
9597function sanitizeHtml(unsafeHtml,whiteList,sanitizeFn){
9598if(unsafeHtml.length===0){
9599return unsafeHtml
9600}
9601if(sanitizeFn&&typeof sanitizeFn==='function'){
9602return sanitizeFn(unsafeHtml)
9603}
9604if(!document.implementation||!document.implementation.createHTMLDocument){
9605return unsafeHtml
9606}
9607var createdDocument=document.implementation.createHTMLDocument('sanitization')
9608createdDocument.body.innerHTML=unsafeHtml
9609var whitelistKeys=$.map(whiteList,function(el,i){return i})
9610var elements=$(createdDocument.body).find('*')
9611for(var i=0,len=elements.length;i<len;i++){
9612var el=elements[i]
9613var elName=el.nodeName.toLowerCase()
9614if($.inArray(elName,whitelistKeys)===-1){
9615el.parentNode.removeChild(el)
9616continue
9617}
9618var attributeList=$.map(el.attributes,function(el){return el})
9619var whitelistedAttributes=[].concat(whiteList['*']||[],whiteList[elName]||[])
9620for(var j=0,len2=attributeList.length;j<len2;j++){
9621if(!allowedAttribute(attributeList[j],whitelistedAttributes)){
9622el.removeAttribute(attributeList[j].nodeName)
9623}
9624}
9625}
9626return createdDocument.body.innerHTML
9627}
9628var Tooltip=function(element,options){
9629this.type=null
9630this.options=null
9631this.enabled=null
9632this.timeout=null
9633this.hoverState=null
9634this.$element=null
9635this.inState=null
9636this.init('tooltip',element,options)
9637}
9638Tooltip.VERSION='3.4.1'
9639Tooltip.TRANSITION_DURATION=150
9640Tooltip.DEFAULTS={
9641animation:true,
9642placement:'top',
9643selector:false,
9644template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
9645trigger:'hover focus',
9646title:'',
9647delay:0,
9648html:false,
9649container:false,
9650viewport:{
9651selector:'body',
9652padding:0
9653},
9654sanitize:true,
9655sanitizeFn:null,
9656whiteList:DefaultWhitelist
9657}
9658Tooltip.prototype.init=function(type,element,options){
9659this.enabled=true
9660this.type=type
9661this.$element=$(element)
9662this.options=this.getOptions(options)
9663this.$viewport=this.options.viewport&&$(document).find($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):(this.options.viewport.selector||this.options.viewport))
9664this.inState={click:false,hover:false,focus:false}
9665if(this.$element[0]instanceof document.constructor&&!this.options.selector){
9666throw new Error('`selector` option must be specified when initializing '+this.type+' on the window.document object!')
9667}
9668var triggers=this.options.trigger.split(' ')
9669for(var i=triggers.length;i--;){
9670var trigger=triggers[i]
9671if(trigger=='click'){
9672this.$element.on('click.'+this.type,this.options.selector,$.proxy(this.toggle,this))
9673}else if(trigger!='manual'){
9674var eventIn=trigger=='hover'?'mouseenter':'focusin'
9675var eventOut=trigger=='hover'?'mouseleave':'focusout'
9676this.$element.on(eventIn+'.'+this.type,this.options.selector,$.proxy(this.enter,this))
9677this.$element.on(eventOut+'.'+this.type,this.options.selector,$.proxy(this.leave,this))
9678}
9679}
9680this.options.selector?
9681(this._options=$.extend({},this.options,{trigger:'manual',selector:''})):
9682this.fixTitle()
9683}
9684Tooltip.prototype.getDefaults=function(){
9685return Tooltip.DEFAULTS
9686}
9687Tooltip.prototype.getOptions=function(options){
9688var dataAttributes=this.$element.data()
9689for(var dataAttr in dataAttributes){
9690if(dataAttributes.hasOwnProperty(dataAttr)&&$.inArray(dataAttr,DISALLOWED_ATTRIBUTES)!==-1){
9691delete dataAttributes[dataAttr]
9692}
9693}
9694options=$.extend({},this.getDefaults(),dataAttributes,options)
9695if(options.delay&&typeof options.delay=='number'){
9696options.delay={
9697show:options.delay,
9698hide:options.delay
9699}
9700}
9701if(options.sanitize){
9702options.template=sanitizeHtml(options.template,options.whiteList,options.sanitizeFn)
9703}
9704return options
9705}
9706Tooltip.prototype.getDelegateOptions=function(){
9707var options={}
9708var defaults=this.getDefaults()
9709this._options&&$.each(this._options,function(key,value){
9710if(defaults[key]!=value)options[key]=value
9711})
9712return options
9713}
9714Tooltip.prototype.enter=function(obj){
9715var self=obj instanceof this.constructor?
9716obj:$(obj.currentTarget).data('bs.'+this.type)
9717if(!self){
9718self=new this.constructor(obj.currentTarget,this.getDelegateOptions())
9719$(obj.currentTarget).data('bs.'+this.type,self)
9720}
9721if(obj instanceof $.Event){
9722self.inState[obj.type=='focusin'?'focus':'hover']=true
9723}
9724if(self.tip().hasClass('in')||self.hoverState=='in'){
9725self.hoverState='in'
9726return
9727}
9728clearTimeout(self.timeout)
9729self.hoverState='in'
9730if(!self.options.delay||!self.options.delay.show)return self.show()
9731self.timeout=setTimeout(function(){
9732if(self.hoverState=='in')self.show()
9733},self.options.delay.show)
9734}
9735Tooltip.prototype.isInStateTrue=function(){
9736for(var key in this.inState){
9737if(this.inState[key])return true
9738}
9739return false
9740}
9741Tooltip.prototype.leave=function(obj){
9742var self=obj instanceof this.constructor?
9743obj:$(obj.currentTarget).data('bs.'+this.type)
9744if(!self){
9745self=new this.constructor(obj.currentTarget,this.getDelegateOptions())
9746$(obj.currentTarget).data('bs.'+this.type,self)
9747}
9748if(obj instanceof $.Event){
9749self.inState[obj.type=='focusout'?'focus':'hover']=false
9750}
9751if(self.isInStateTrue())return
9752clearTimeout(self.timeout)
9753self.hoverState='out'
9754if(!self.options.delay||!self.options.delay.hide)return self.hide()
9755self.timeout=setTimeout(function(){
9756if(self.hoverState=='out')self.hide()
9757},self.options.delay.hide)
9758}
9759Tooltip.prototype.show=function(){
9760var e=$.Event('show.bs.'+this.type)
9761if(this.hasContent()&&this.enabled){
9762this.$element.trigger(e)
9763var inDom=$.contains(this.$element[0].ownerDocument.documentElement,this.$element[0])
9764if(e.isDefaultPrevented()||!inDom)return
9765var that=this
9766var $tip=this.tip()
9767var tipId=this.getUID(this.type)
9768this.setContent()
9769$tip.attr('id',tipId)
9770this.$element.attr('aria-describedby',tipId)
9771if(this.options.animation)$tip.addClass('fade')
9772var placement=typeof this.options.placement=='function'?
9773this.options.placement.call(this,$tip[0],this.$element[0]):
9774this.options.placement
9775var autoToken=/\s?auto?\s?/i
9776var autoPlace=autoToken.test(placement)
9777if(autoPlace)placement=placement.replace(autoToken,'')||'top'
9778$tip
9779.detach()
9780.css({top:0,left:0,display:'block'})
9781.addClass(placement)
9782.data('bs.'+this.type,this)
9783this.options.container?$tip.appendTo($(document).find(this.options.container)):$tip.insertAfter(this.$element)
9784this.$element.trigger('inserted.bs.'+this.type)
9785var pos=this.getPosition()
9786var actualWidth=$tip[0].offsetWidth
9787var actualHeight=$tip[0].offsetHeight
9788if(autoPlace){
9789var orgPlacement=placement
9790var viewportDim=this.getPosition(this.$viewport)
9791placement=placement=='bottom'&&pos.bottom+actualHeight>viewportDim.bottom?'top':
9792placement=='top'&&pos.top-actualHeight<viewportDim.top?'bottom':
9793placement=='right'&&pos.right+actualWidth>viewportDim.width?'left':
9794placement=='left'&&pos.left-actualWidth<viewportDim.left?'right':
vendor: 4,899 bytes, lines 9795-9934
9795placement
9796$tip
9797.removeClass(orgPlacement)
9798.addClass(placement)
9799}
9800var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight)
9801this.applyPlacement(calculatedOffset,placement)
9802var complete=function(){
9803var prevHoverState=that.hoverState
9804that.$element.trigger('shown.bs.'+that.type)
9805that.hoverState=null
9806if(prevHoverState=='out')that.leave(that)
9807}
9808$.support.transition&&this.$tip.hasClass('fade')?
9809$tip
9810.one('bsTransitionEnd',complete)
9811.emulateTransitionEnd(Tooltip.TRANSITION_DURATION):
9812complete()
9813}
9814}
9815Tooltip.prototype.applyPlacement=function(offset,placement){
9816var $tip=this.tip()
9817var width=$tip[0].offsetWidth
9818var height=$tip[0].offsetHeight
9819var marginTop=parseInt($tip.css('margin-top'),10)
9820var marginLeft=parseInt($tip.css('margin-left'),10)
9821if(isNaN(marginTop))marginTop=0
9822if(isNaN(marginLeft))marginLeft=0
9823offset.top+=marginTop
9824offset.left+=marginLeft
9825$.offset.setOffset($tip[0],$.extend({
9826using:function(props){
9827$tip.css({
9828top:Math.round(props.top),
9829left:Math.round(props.left)
9830})
9831}
9832},offset),0)
9833$tip.addClass('in')
9834var actualWidth=$tip[0].offsetWidth
9835var actualHeight=$tip[0].offsetHeight
9836if(placement=='top'&&actualHeight!=height){
9837offset.top=offset.top+height-actualHeight
9838}
9839var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight)
9840if(delta.left)offset.left+=delta.left
9841else offset.top+=delta.top
9842var isVertical=/top|bottom/.test(placement)
9843var arrowDelta=isVertical?delta.left*2-width+actualWidth:delta.top*2-height+actualHeight
9844var arrowOffsetPosition=isVertical?'offsetWidth':'offsetHeight'
9845$tip.offset(offset)
9846this.replaceArrow(arrowDelta,$tip[0][arrowOffsetPosition],isVertical)
9847}
9848Tooltip.prototype.replaceArrow=function(delta,dimension,isVertical){
9849this.arrow()
9850.css(isVertical?'left':'top',50*(1-delta/dimension)+'%')
9851.css(isVertical?'top':'left','')
9852}
9853Tooltip.prototype.setContent=function(){
9854var $tip=this.tip()
9855var title=this.getTitle()
9856if(this.options.html){
9857if(this.options.sanitize){
9858title=sanitizeHtml(title,this.options.whiteList,this.options.sanitizeFn)
9859}
9860$tip.find('.tooltip-inner').html(title)
9861}else{
9862$tip.find('.tooltip-inner').text(title)
9863}
9864$tip.removeClass('fade in top bottom left right')
9865}
9866Tooltip.prototype.hide=function(callback){
9867var that=this
9868var $tip=$(this.$tip)
9869var e=$.Event('hide.bs.'+this.type)
9870function complete(){
9871if(that.hoverState!='in')$tip.detach()
9872if(that.$element){
9873that.$element
9874.removeAttr('aria-describedby')
9875.trigger('hidden.bs.'+that.type)
9876}
9877callback&&callback()
9878}
9879this.$element.trigger(e)
9880if(e.isDefaultPrevented())return
9881$tip.removeClass('in')
9882$.support.transition&&$tip.hasClass('fade')?
9883$tip
9884.one('bsTransitionEnd',complete)
9885.emulateTransitionEnd(Tooltip.TRANSITION_DURATION):
9886complete()
9887this.hoverState=null
9888return this
9889}
9890Tooltip.prototype.fixTitle=function(){
9891var $e=this.$element
9892if($e.attr('title')||typeof $e.attr('data-original-title')!='string'){
9893$e.attr('data-original-title',$e.attr('title')||'').attr('title','')
9894}
9895}
9896Tooltip.prototype.hasContent=function(){
9897return this.getTitle()
9898}
9899Tooltip.prototype.getPosition=function($element){
9900$element=$element||this.$element
9901var el=$element[0]
9902var isBody=el.tagName=='BODY'
9903var elRect=el.getBoundingClientRect()
9904if(elRect.width==null){
9905elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top})
9906}
9907var isSvg=window.SVGElement&&el instanceof window.SVGElement
9908var elOffset=isBody?{top:0,left:0}:(isSvg?null:$element.offset())
9909var scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()}
9910var outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null
9911return $.extend({},elRect,scroll,outerDims,elOffset)
9912}
9913Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){
9914return placement=='bottom'?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:
9915placement=='top'?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:
9916placement=='left'?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:
9917{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}
9918}
9919Tooltip.prototype.getViewportAdjustedDelta=function(placement,pos,actualWidth,actualHeight){
9920var delta={top:0,left:0}
9921if(!this.$viewport)return delta
9922var viewportPadding=this.options.viewport&&this.options.viewport.padding||0
9923var viewportDimensions=this.getPosition(this.$viewport)
9924if(/right|left/.test(placement)){
9925var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll
9926var bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight
9927if(topEdgeOffset<viewportDimensions.top){
9928delta.top=viewportDimensions.top-topEdgeOffset
9929}else if(bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height){
9930delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset
9931}
9932}else{
9933var leftEdgeOffset=pos.left-viewportPadding
9934var rightEdgeOffset=pos.left+viewportPadding+actualWidth
vendor: 6,760 bytes, lines 9935-10182
9935if(leftEdgeOffset<viewportDimensions.left){
9936delta.left=viewportDimensions.left-leftEdgeOffset
9937}else if(rightEdgeOffset>viewportDimensions.right){
9938delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset
9939}
9940}
9941return delta
9942}
9943Tooltip.prototype.getTitle=function(){
9944var title
9945var $e=this.$element
9946var o=this.options
9947title=$e.attr('data-original-title')
9948||(typeof o.title=='function'?o.title.call($e[0]):o.title)
9949return title
9950}
9951Tooltip.prototype.getUID=function(prefix){
9952do prefix+=~~(Math.random()*1000000)
9953while(document.getElementById(prefix))
9954return prefix
9955}
9956Tooltip.prototype.tip=function(){
9957if(!this.$tip){
9958this.$tip=$(this.options.template)
9959if(this.$tip.length!=1){
9960throw new Error(this.type+' `template` option must consist of exactly 1 top-level element!')
9961}
9962}
9963return this.$tip
9964}
9965Tooltip.prototype.arrow=function(){
9966return(this.$arrow=this.$arrow||this.tip().find('.tooltip-arrow'))
9967}
9968Tooltip.prototype.enable=function(){
9969this.enabled=true
9970}
9971Tooltip.prototype.disable=function(){
9972this.enabled=false
9973}
9974Tooltip.prototype.toggleEnabled=function(){
9975this.enabled=!this.enabled
9976}
9977Tooltip.prototype.toggle=function(e){
9978var self=this
9979if(e){
9980self=$(e.currentTarget).data('bs.'+this.type)
9981if(!self){
9982self=new this.constructor(e.currentTarget,this.getDelegateOptions())
9983$(e.currentTarget).data('bs.'+this.type,self)
9984}
9985}
9986if(e){
9987self.inState.click=!self.inState.click
9988if(self.isInStateTrue())self.enter(self)
9989else self.leave(self)
9990}else{
9991self.tip().hasClass('in')?self.leave(self):self.enter(self)
9992}
9993}
9994Tooltip.prototype.destroy=function(){
9995var that=this
9996clearTimeout(this.timeout)
9997this.hide(function(){
9998that.$element.off('.'+that.type).removeData('bs.'+that.type)
9999if(that.$tip){
10000that.$tip.detach()
10001}
10002that.$tip=null
10003that.$arrow=null
10004that.$viewport=null
10005that.$element=null
10006})
10007}
10008Tooltip.prototype.sanitizeHtml=function(unsafeHtml){
10009return sanitizeHtml(unsafeHtml,this.options.whiteList,this.options.sanitizeFn)
10010}
10011function Plugin(option){
10012return this.each(function(){
10013var $this=$(this)
10014var data=$this.data('bs.tooltip')
10015var options=typeof option=='object'&&option
10016if(!data&&/destroy|hide/.test(option))return
10017if(!data)$this.data('bs.tooltip',(data=new Tooltip(this,options)))
10018if(typeof option=='string')data[option]()
10019})
10020}
10021var old=$.fn.tooltip
10022$.fn.tooltip=Plugin
10023$.fn.tooltip.Constructor=Tooltip
10024$.fn.tooltip.noConflict=function(){
10025$.fn.tooltip=old
10026return this
10027}
10028}(jQuery);
10029
10030
10031/* plugins/bootspip/v1.3.5/bootstrap/js/popover.js */
10032
10033+function($){
10034'use strict';
10035var Popover=function(element,options){
10036this.init('popover',element,options)
10037}
10038if(!$.fn.tooltip)throw new Error('Popover requires tooltip.js')
10039Popover.VERSION='3.4.1'
10040Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{
10041placement:'right',
10042trigger:'click',
10043content:'',
10044template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
10045})
10046Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype)
10047Popover.prototype.constructor=Popover
10048Popover.prototype.getDefaults=function(){
10049return Popover.DEFAULTS
10050}
10051Popover.prototype.setContent=function(){
10052var $tip=this.tip()
10053var title=this.getTitle()
10054var content=this.getContent()
10055if(this.options.html){
10056var typeContent=typeof content
10057if(this.options.sanitize){
10058title=this.sanitizeHtml(title)
10059if(typeContent==='string'){
10060content=this.sanitizeHtml(content)
10061}
10062}
10063$tip.find('.popover-title').html(title)
10064$tip.find('.popover-content').children().detach().end()[
10065typeContent==='string'?'html':'append'
10066](content)
10067}else{
10068$tip.find('.popover-title').text(title)
10069$tip.find('.popover-content').children().detach().end().text(content)
10070}
10071$tip.removeClass('fade top bottom left right in')
10072if(!$tip.find('.popover-title').html())$tip.find('.popover-title').hide()
10073}
10074Popover.prototype.hasContent=function(){
10075return this.getTitle()||this.getContent()
10076}
10077Popover.prototype.getContent=function(){
10078var $e=this.$element
10079var o=this.options
10080return $e.attr('data-content')
10081||(typeof o.content=='function'?
10082o.content.call($e[0]):
10083o.content)
10084}
10085Popover.prototype.arrow=function(){
10086return(this.$arrow=this.$arrow||this.tip().find('.arrow'))
10087}
10088function Plugin(option){
10089return this.each(function(){
10090var $this=$(this)
10091var data=$this.data('bs.popover')
10092var options=typeof option=='object'&&option
10093if(!data&&/destroy|hide/.test(option))return
10094if(!data)$this.data('bs.popover',(data=new Popover(this,options)))
10095if(typeof option=='string')data[option]()
10096})
10097}
10098var old=$.fn.popover
10099$.fn.popover=Plugin
10100$.fn.popover.Constructor=Popover
10101$.fn.popover.noConflict=function(){
10102$.fn.popover=old
10103return this
10104}
10105}(jQuery);
10106
10107
10108/* plugins/bootspip/v1.3.5/bootstrap/js/button.js */
10109
10110+function($){
10111'use strict';
10112var Button=function(element,options){
10113this.$element=$(element)
10114this.options=$.extend({},Button.DEFAULTS,options)
10115this.isLoading=false
10116}
10117Button.VERSION='3.4.1'
10118Button.DEFAULTS={
10119loadingText:'loading...'
10120}
10121Button.prototype.setState=function(state){
10122var d='disabled'
10123var $el=this.$element
10124var val=$el.is('input')?'val':'html'
10125var data=$el.data()
10126state+='Text'
10127if(data.resetText==null)$el.data('resetText',$el[val]())
10128setTimeout($.proxy(function(){
10129$el[val](data[state]==null?this.options[state]:data[state])
10130if(state=='loadingText'){
10131this.isLoading=true
10132$el.addClass(d).attr(d,d).prop(d,true)
10133}else if(this.isLoading){
10134this.isLoading=false
10135$el.removeClass(d).removeAttr(d).prop(d,false)
10136}
10137},this),0)
10138}
10139Button.prototype.toggle=function(){
10140var changed=true
10141var $parent=this.$element.closest('[data-toggle="buttons"]')
10142if($parent.length){
10143var $input=this.$element.find('input')
10144if($input.prop('type')=='radio'){
10145if($input.prop('checked'))changed=false
10146$parent.find('.active').removeClass('active')
10147this.$element.addClass('active')
10148}else if($input.prop('type')=='checkbox'){
10149if(($input.prop('checked'))!==this.$element.hasClass('active'))changed=false
10150this.$element.toggleClass('active')
10151}
10152$input.prop('checked',this.$element.hasClass('active'))
10153if(changed)$input.trigger('change')
10154}else{
10155this.$element.attr('aria-pressed',!this.$element.hasClass('active'))
10156this.$element.toggleClass('active')
10157}
10158}
10159function Plugin(option){
10160return this.each(function(){
10161var $this=$(this)
10162var data=$this.data('bs.button')
10163var options=typeof option=='object'&&option
10164if(!data)$this.data('bs.button',(data=new Button(this,options)))
10165if(option=='toggle')data.toggle()
10166else if(option)data.setState(option)
10167})
10168}
10169var old=$.fn.button
10170$.fn.button=Plugin
10171$.fn.button.Constructor=Button
10172$.fn.button.noConflict=function(){
10173$.fn.button=old
10174return this
10175}
10176$(document)
10177.on('click.bs.button.data-api','[data-toggle^="button"]',function(e){
10178var $btn=$(e.target).closest('.btn')
10179Plugin.call($btn,'toggle')
10180if(!($(e.target).is('input[type="radio"], input[type="checkbox"]'))){
10181e.preventDefault()
10182if($btn.is('input,button'))$btn.trigger('focus')
vendor: 10,147 bytes, lines 10183-10540
10183else $btn.find('input:visible,button:visible').first().trigger('focus')
10184}
10185})
10186.on('focus.bs.button.data-api blur.bs.button.data-api','[data-toggle^="button"]',function(e){
10187$(e.target).closest('.btn').toggleClass('focus',/^focus(in)?$/.test(e.type))
10188})
10189}(jQuery);
10190
10191
10192/* plugins/bootspip/v1.3.5/bootstrap/js/carousel.js */
10193
10194+function($){
10195'use strict';
10196var Carousel=function(element,options){
10197this.$element=$(element)
10198this.$indicators=this.$element.find('.carousel-indicators')
10199this.options=options
10200this.paused=null
10201this.sliding=null
10202this.interval=null
10203this.$active=null
10204this.$items=null
10205this.options.keyboard&&this.$element.on('keydown.bs.carousel',$.proxy(this.keydown,this))
10206this.options.pause=='hover'&&!('ontouchstart'in document.documentElement)&&this.$element
10207.on('mouseenter.bs.carousel',$.proxy(this.pause,this))
10208.on('mouseleave.bs.carousel',$.proxy(this.cycle,this))
10209}
10210Carousel.VERSION='3.4.1'
10211Carousel.TRANSITION_DURATION=600
10212Carousel.DEFAULTS={
10213interval:5000,
10214pause:'hover',
10215wrap:true,
10216keyboard:true
10217}
10218Carousel.prototype.keydown=function(e){
10219if(/input|textarea/i.test(e.target.tagName))return
10220switch(e.which){
10221case 37:this.prev();break
10222case 39:this.next();break
10223default:return
10224}
10225e.preventDefault()
10226}
10227Carousel.prototype.cycle=function(e){
10228e||(this.paused=false)
10229this.interval&&clearInterval(this.interval)
10230this.options.interval
10231&&!this.paused
10232&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval))
10233return this
10234}
10235Carousel.prototype.getItemIndex=function(item){
10236this.$items=item.parent().children('.item')
10237return this.$items.index(item||this.$active)
10238}
10239Carousel.prototype.getItemForDirection=function(direction,active){
10240var activeIndex=this.getItemIndex(active)
10241var willWrap=(direction=='prev'&&activeIndex===0)
10242||(direction=='next'&&activeIndex==(this.$items.length-1))
10243if(willWrap&&!this.options.wrap)return active
10244var delta=direction=='prev'?-1:1
10245var itemIndex=(activeIndex+delta)%this.$items.length
10246return this.$items.eq(itemIndex)
10247}
10248Carousel.prototype.to=function(pos){
10249var that=this
10250var activeIndex=this.getItemIndex(this.$active=this.$element.find('.item.active'))
10251if(pos>(this.$items.length-1)||pos<0)return
10252if(this.sliding)return this.$element.one('slid.bs.carousel',function(){that.to(pos)})
10253if(activeIndex==pos)return this.pause().cycle()
10254return this.slide(pos>activeIndex?'next':'prev',this.$items.eq(pos))
10255}
10256Carousel.prototype.pause=function(e){
10257e||(this.paused=true)
10258if(this.$element.find('.next, .prev').length&&$.support.transition){
10259this.$element.trigger($.support.transition.end)
10260this.cycle(true)
10261}
10262this.interval=clearInterval(this.interval)
10263return this
10264}
10265Carousel.prototype.next=function(){
10266if(this.sliding)return
10267return this.slide('next')
10268}
10269Carousel.prototype.prev=function(){
10270if(this.sliding)return
10271return this.slide('prev')
10272}
10273Carousel.prototype.slide=function(type,next){
10274var $active=this.$element.find('.item.active')
10275var $next=next||this.getItemForDirection(type,$active)
10276var isCycling=this.interval
10277var direction=type=='next'?'left':'right'
10278var that=this
10279if($next.hasClass('active'))return(this.sliding=false)
10280var relatedTarget=$next[0]
10281var slideEvent=$.Event('slide.bs.carousel',{
10282relatedTarget:relatedTarget,
10283direction:direction
10284})
10285this.$element.trigger(slideEvent)
10286if(slideEvent.isDefaultPrevented())return
10287this.sliding=true
10288isCycling&&this.pause()
10289if(this.$indicators.length){
10290this.$indicators.find('.active').removeClass('active')
10291var $nextIndicator=$(this.$indicators.children()[this.getItemIndex($next)])
10292$nextIndicator&&$nextIndicator.addClass('active')
10293}
10294var slidEvent=$.Event('slid.bs.carousel',{relatedTarget:relatedTarget,direction:direction})
10295if($.support.transition&&this.$element.hasClass('slide')){
10296$next.addClass(type)
10297if(typeof $next==='object'&&$next.length){
10298$next[0].offsetWidth
10299}
10300$active.addClass(direction)
10301$next.addClass(direction)
10302$active
10303.one('bsTransitionEnd',function(){
10304$next.removeClass([type,direction].join(' ')).addClass('active')
10305$active.removeClass(['active',direction].join(' '))
10306that.sliding=false
10307setTimeout(function(){
10308that.$element.trigger(slidEvent)
10309},0)
10310})
10311.emulateTransitionEnd(Carousel.TRANSITION_DURATION)
10312}else{
10313$active.removeClass('active')
10314$next.addClass('active')
10315this.sliding=false
10316this.$element.trigger(slidEvent)
10317}
10318isCycling&&this.cycle()
10319return this
10320}
10321function Plugin(option){
10322return this.each(function(){
10323var $this=$(this)
10324var data=$this.data('bs.carousel')
10325var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=='object'&&option)
10326var action=typeof option=='string'?option:options.slide
10327if(!data)$this.data('bs.carousel',(data=new Carousel(this,options)))
10328if(typeof option=='number')data.to(option)
10329else if(action)data[action]()
10330else if(options.interval)data.pause().cycle()
10331})
10332}
10333var old=$.fn.carousel
10334$.fn.carousel=Plugin
10335$.fn.carousel.Constructor=Carousel
10336$.fn.carousel.noConflict=function(){
10337$.fn.carousel=old
10338return this
10339}
10340var clickHandler=function(e){
10341var $this=$(this)
10342var href=$this.attr('href')
10343if(href){
10344href=href.replace(/.*(?=#[^\s]+$)/,'')
10345}
10346var target=$this.attr('data-target')||href
10347var $target=$(document).find(target)
10348if(!$target.hasClass('carousel'))return
10349var options=$.extend({},$target.data(),$this.data())
10350var slideIndex=$this.attr('data-slide-to')
10351if(slideIndex)options.interval=false
10352Plugin.call($target,options)
10353if(slideIndex){
10354$target.data('bs.carousel').to(slideIndex)
10355}
10356e.preventDefault()
10357}
10358$(document)
10359.on('click.bs.carousel.data-api','[data-slide]',clickHandler)
10360.on('click.bs.carousel.data-api','[data-slide-to]',clickHandler)
10361$(window).on('load',function(){
10362$('[data-ride="carousel"]').each(function(){
10363var $carousel=$(this)
10364Plugin.call($carousel,$carousel.data())
10365})
10366})
10367}(jQuery);
10368
10369
10370/* plugins/bootspip/v1.3.5/bootstrap/js/alert.js */
10371
10372+function($){
10373'use strict';
10374var dismiss='[data-dismiss="alert"]'
10375var Alert=function(el){
10376$(el).on('click',dismiss,this.close)
10377}
10378Alert.VERSION='3.4.1'
10379Alert.TRANSITION_DURATION=150
10380Alert.prototype.close=function(e){
10381var $this=$(this)
10382var selector=$this.attr('data-target')
10383if(!selector){
10384selector=$this.attr('href')
10385selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')
10386}
10387selector=selector==='#'?[]:selector
10388var $parent=$(document).find(selector)
10389if(e)e.preventDefault()
10390if(!$parent.length){
10391$parent=$this.closest('.alert')
10392}
10393$parent.trigger(e=$.Event('close.bs.alert'))
10394if(e.isDefaultPrevented())return
10395$parent.removeClass('in')
10396function removeElement(){
10397$parent.detach().trigger('closed.bs.alert').remove()
10398}
10399$.support.transition&&$parent.hasClass('fade')?
10400$parent
10401.one('bsTransitionEnd',removeElement)
10402.emulateTransitionEnd(Alert.TRANSITION_DURATION):
10403removeElement()
10404}
10405function Plugin(option){
10406return this.each(function(){
10407var $this=$(this)
10408var data=$this.data('bs.alert')
10409if(!data)$this.data('bs.alert',(data=new Alert(this)))
10410if(typeof option=='string')data[option].call($this)
10411})
10412}
10413var old=$.fn.alert
10414$.fn.alert=Plugin
10415$.fn.alert.Constructor=Alert
10416$.fn.alert.noConflict=function(){
10417$.fn.alert=old
10418return this
10419}
10420$(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)
10421}(jQuery);
10422
10423
10424/* plugins/bootspip/v1.3.5/bootstrap/js/modal.js */
10425
10426+function($){
10427'use strict';
10428var Modal=function(element,options){
10429this.options=options
10430this.$body=$(document.body)
10431this.$element=$(element)
10432this.$dialog=this.$element.find('.modal-dialog')
10433this.$backdrop=null
10434this.isShown=null
10435this.originalBodyPad=null
10436this.scrollbarWidth=0
10437this.ignoreBackdropClick=false
10438this.fixedContent='.navbar-fixed-top, .navbar-fixed-bottom'
10439if(this.options.remote){
10440this.$element
10441.find('.modal-content')
10442.load(this.options.remote,$.proxy(function(){
10443this.$element.trigger('loaded.bs.modal')
10444},this))
10445}
10446}
10447Modal.VERSION='3.4.1'
10448Modal.TRANSITION_DURATION=300
10449Modal.BACKDROP_TRANSITION_DURATION=150
10450Modal.DEFAULTS={
10451backdrop:true,
10452keyboard:true,
10453show:true
10454}
10455Modal.prototype.toggle=function(_relatedTarget){
10456return this.isShown?this.hide():this.show(_relatedTarget)
10457}
10458Modal.prototype.show=function(_relatedTarget){
10459var that=this
10460var e=$.Event('show.bs.modal',{relatedTarget:_relatedTarget})
10461this.$element.trigger(e)
10462if(this.isShown||e.isDefaultPrevented())return
10463this.isShown=true
10464this.checkScrollbar()
10465this.setScrollbar()
10466this.$body.addClass('modal-open')
10467this.escape()
10468this.resize()
10469this.$element.on('click.dismiss.bs.modal','[data-dismiss="modal"]',$.proxy(this.hide,this))
10470this.$dialog.on('mousedown.dismiss.bs.modal',function(){
10471that.$element.one('mouseup.dismiss.bs.modal',function(e){
10472if($(e.target).is(that.$element))that.ignoreBackdropClick=true
10473})
10474})
10475this.backdrop(function(){
10476var transition=$.support.transition&&that.$element.hasClass('fade')
10477if(!that.$element.parent().length){
10478that.$element.appendTo(that.$body)
10479}
10480that.$element
10481.show()
10482.scrollTop(0)
10483that.adjustDialog()
10484if(transition){
10485that.$element[0].offsetWidth
10486}
10487that.$element.addClass('in')
10488that.enforceFocus()
10489var e=$.Event('shown.bs.modal',{relatedTarget:_relatedTarget})
10490transition?
10491that.$dialog
10492.one('bsTransitionEnd',function(){
10493that.$element.trigger('focus').trigger(e)
10494})
10495.emulateTransitionEnd(Modal.TRANSITION_DURATION):
10496that.$element.trigger('focus').trigger(e)
10497})
10498}
10499Modal.prototype.hide=function(e){
10500if(e)e.preventDefault()
10501e=$.Event('hide.bs.modal')
10502this.$element.trigger(e)
10503if(!this.isShown||e.isDefaultPrevented())return
10504this.isShown=false
10505this.escape()
10506this.resize()
10507$(document).off('focusin.bs.modal')
10508this.$element
10509.removeClass('in')
10510.off('click.dismiss.bs.modal')
10511.off('mouseup.dismiss.bs.modal')
10512this.$dialog.off('mousedown.dismiss.bs.modal')
10513$.support.transition&&this.$element.hasClass('fade')?
10514this.$element
10515.one('bsTransitionEnd',$.proxy(this.hideModal,this))
10516.emulateTransitionEnd(Modal.TRANSITION_DURATION):
10517this.hideModal()
10518}
10519Modal.prototype.enforceFocus=function(){
10520$(document)
10521.off('focusin.bs.modal')
10522.on('focusin.bs.modal',$.proxy(function(e){
10523if(document!==e.target&&
10524this.$element[0]!==e.target&&
10525!this.$element.has(e.target).length){
10526this.$element.trigger('focus')
10527}
10528},this))
10529}
10530Modal.prototype.escape=function(){
10531if(this.isShown&&this.options.keyboard){
10532this.$element.on('keydown.dismiss.bs.modal',$.proxy(function(e){
10533e.which==27&&this.hide()
10534},this))
10535}else if(!this.isShown){
10536this.$element.off('keydown.dismiss.bs.modal')
10537}
10538}
10539Modal.prototype.resize=function(){
10540if(this.isShown){
10541$(window).on('resize.bs.modal',$.proxy(this.handleUpdate,this))
10542}else{
10543$(window).off('resize.bs.modal')
10544}
10545}
10546Modal.prototype.hideModal=function(){
10547var that=this
10548this.$element.hide()
10549this.backdrop(function(){
10550that.$body.removeClass('modal-open')
10551that.resetAdjustments()
10552that.resetScrollbar()
10553that.$element.trigger('hidden.bs.modal')
10554})
10555}
10556Modal.prototype.removeBackdrop=function(){
10557this.$backdrop&&this.$backdrop.remove()
10558this.$backdrop=null
10559}
10560Modal.prototype.backdrop=function(callback){
10561var that=this
10562var animate=this.$element.hasClass('fade')?'fade':''
10563if(this.isShown&&this.options.backdrop){
10564var doAnimate=$.support.transition&&animate
10565this.$backdrop=$(document.createElement('div'))
10566.addClass('modal-backdrop '+animate)
10567.appendTo(this.$body)
10568this.$element.on('click.dismiss.bs.modal',$.proxy(function(e){
10569if(this.ignoreBackdropClick){
10570this.ignoreBackdropClick=false
10571return
10572}
10573if(e.target!==e.currentTarget)return
10574this.options.backdrop=='static'
10575?this.$element[0].focus()
10576:this.hide()
10577},this))
10578if(doAnimate)this.$backdrop[0].offsetWidth
10579this.$backdrop.addClass('in')
10580if(!callback)return
10581doAnimate?
10582this.$backdrop
10583.one('bsTransitionEnd',callback)
10584.emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):
10585callback()
10586}else if(!this.isShown&&this.$backdrop){
10587this.$backdrop.removeClass('in')
10588var callbackRemove=function(){
10589that.removeBackdrop()
10590callback&&callback()
10591}
10592$.support.transition&&this.$element.hasClass('fade')?
10593this.$backdrop
10594.one('bsTransitionEnd',callbackRemove)
10595.emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):
10596callbackRemove()
10597}else if(callback){
10598callback()
10599}
10600}
10601Modal.prototype.handleUpdate=function(){
10602this.adjustDialog()
10603}
10604Modal.prototype.adjustDialog=function(){
10605var modalIsOverflowing=this.$element[0].scrollHeight>document.documentElement.clientHeight
10606this.$element.css({
10607paddingLeft:!this.bodyIsOverflowing&&modalIsOverflowing?this.scrollbarWidth:'',
10608paddingRight:this.bodyIsOverflowing&&!modalIsOverflowing?this.scrollbarWidth:''
10609})
10610}
10611Modal.prototype.resetAdjustments=function(){
10612this.$element.css({
10613paddingLeft:'',
10614paddingRight:''
10615})
10616}
10617Modal.prototype.checkScrollbar=function(){
10618var fullWindowWidth=window.innerWidth
10619if(!fullWindowWidth){
10620var documentElementRect=document.documentElement.getBoundingClientRect()
10621fullWindowWidth=documentElementRect.right-Math.abs(documentElementRect.left)
10622}
10623this.bodyIsOverflowing=document.body.clientWidth<fullWindowWidth
10624this.scrollbarWidth=this.measureScrollbar()
10625}
10626Modal.prototype.setScrollbar=function(){
10627var bodyPad=parseInt((this.$body.css('padding-right')||0),10)
10628this.originalBodyPad=document.body.style.paddingRight||''
10629var scrollbarWidth=this.scrollbarWidth
10630if(this.bodyIsOverflowing){
10631this.$body.css('padding-right',bodyPad+scrollbarWidth)
10632$(this.fixedContent).each(function(index,element){
10633var actualPadding=element.style.paddingRight
10634var calculatedPadding=$(element).css('padding-right')
10635$(element)
10636.data('padding-right',actualPadding)
10637.css('padding-right',parseFloat(calculatedPadding)+scrollbarWidth+'px')
10638})
10639}
10640}
10641Modal.prototype.resetScrollbar=function(){
10642this.$body.css('padding-right',this.originalBodyPad)
10643$(this.fixedContent).each(function(index,element){
10644var padding=$(element).data('padding-right')
10645$(element).removeData('padding-right')
10646element.style.paddingRight=padding?padding:''
10647})
10648}
10649Modal.prototype.measureScrollbar=function(){
10650var scrollDiv=document.createElement('div')
10651scrollDiv.className='modal-scrollbar-measure'
10652this.$body.append(scrollDiv)
10653var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth
10654this.$body[0].removeChild(scrollDiv)
10655return scrollbarWidth
10656}
10657function Plugin(option,_relatedTarget){
10658return this.each(function(){
10659var $this=$(this)
10660var data=$this.data('bs.modal')
10661var options=$.extend({},Modal.DEFAULTS,$this.data(),typeof option=='object'&&option)
10662if(!data)$this.data('bs.modal',(data=new Modal(this,options)))
10663if(typeof option=='string')data[option](_relatedTarget)
10664else if(options.show)data.show(_relatedTarget)
10665})
10666}
10667var old=$.fn.modal
10668$.fn.modal=Plugin
10669$.fn.modal.Constructor=Modal
10670$.fn.modal.noConflict=function(){
10671$.fn.modal=old
10672return this
10673}
10674$(document).on('click.bs.modal.data-api','[data-toggle="modal"]',function(e){
10675var $this=$(this)
10676var href=$this.attr('href')
10677var target=$this.attr('data-target')||
10678(href&&href.replace(/.*(?=#[^\s]+$)/,''))
10679var $target=$(document).find(target)
10680var option=$target.data('bs.modal')?'toggle':$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data())
10681if($this.is('a'))e.preventDefault()
10682$target.one('show.bs.modal',function(showEvent){
10683if(showEvent.isDefaultPrevented())return
10684$target.one('hidden.bs.modal',function(){
10685$this.is(':visible')&&$this.trigger('focus')
10686})
10687})
10688Plugin.call($target,option,this)
10689})
10690}(jQuery);
10691
10692
10693/* plugins/gallesie/v1.2.1/js/justifiedGallery.js?1769874833 */
10694
10695(function(factory){
10696if(typeof define==='function'&&define.amd){
10697define(['jquery'],factory);
10698}else if(typeof module==='object'&&module.exports){
10699module.exports=function(root,jQuery){
10700if(jQuery===undefined){
10701if(typeof window!=='undefined'){
10702jQuery=require('jquery');
10703}
10704else{
10705jQuery=require('jquery')(root);
10706}
10707}
10708factory(jQuery);
10709return jQuery;
10710};
10711}else{
10712factory(jQuery);
10713}
10714}(function($){
10715var JustifiedGallery=function($gallery,settings){
10716this.settings=settings;
10717this.checkSettings();
10718this.imgAnalyzerTimeout=null;
10719this.entries=null;
10720this.buildingRow={
10721entriesBuff:[],
10722width:0,
10723height:0,
10724aspectRatio:0
10725};
10726this.lastFetchedEntry=null;
10727this.lastAnalyzedIndex=-1;
10728this.yield={
10729every:2,
10730flushed:0
10731};
10732this.border=settings.border>=0?settings.border:settings.margins;
10733this.maxRowHeight=this.retrieveMaxRowHeight();
10734this.suffixRanges=this.retrieveSuffixRanges();
10735this.offY=this.border;
10736this.rows=0;
10737this.spinner={
10738phase:0,
10739timeSlot:150,
10740$el:$('<div class="spinner"><span></span><span></span><span></span></div>'),
10741intervalId:null
10742};
10743this.scrollBarOn=false;
10744this.checkWidthIntervalId=null;
10745this.galleryWidth=$gallery.width();
10746this.$gallery=$gallery;
10747};
10748JustifiedGallery.prototype.getSuffix=function(width,height){
10749var longestSide,i;
10750longestSide=(width>height)?width:height;
10751for(i=0;i<this.suffixRanges.length;i++){
10752if(longestSide<=this.suffixRanges[i]){
10753return this.settings.sizeRangeSuffixes[this.suffixRanges[i]];
10754}
10755}
10756return this.settings.sizeRangeSuffixes[this.suffixRanges[i-1]];
10757};
10758JustifiedGallery.prototype.removeSuffix=function(str,suffix){
10759return str.substring(0,str.length-suffix.length);
10760};
10761JustifiedGallery.prototype.endsWith=function(str,suffix){
10762return str.indexOf(suffix,str.length-suffix.length)!==-1;
10763};
10764JustifiedGallery.prototype.getUsedSuffix=function(str){
10765for(var si in this.settings.sizeRangeSuffixes){
10766if(this.settings.sizeRangeSuffixes.hasOwnProperty(si)){
10767if(this.settings.sizeRangeSuffixes[si].length===0)continue;
10768if(this.endsWith(str,this.settings.sizeRangeSuffixes[si]))return this.settings.sizeRangeSuffixes[si];
10769}
10770}
10771return'';
10772};
10773JustifiedGallery.prototype.newSrc=function(imageSrc,imgWidth,imgHeight,image){
10774var newImageSrc;
10775if(this.settings.thumbnailPath){
10776newImageSrc=this.settings.thumbnailPath(imageSrc,imgWidth,imgHeight,image);
10777}else{
10778var matchRes=imageSrc.match(this.settings.extension);
10779var ext=(matchRes!==null)?matchRes[0]:'';
10780newImageSrc=imageSrc.replace(this.settings.extension,'');
10781newImageSrc=this.removeSuffix(newImageSrc,this.getUsedSuffix(newImageSrc));
10782newImageSrc+=this.getSuffix(imgWidth,imgHeight)+ext;
10783}
10784return newImageSrc;
10785};
10786JustifiedGallery.prototype.showImg=function($entry,callback){
10787if(this.settings.cssAnimation){
vendor: 24,003 bytes, lines 10788-11502
10788$entry.addClass('jg-entry-visible');
10789if(callback)callback();
10790}else{
10791$entry.stop().fadeTo(this.settings.imagesAnimationDuration,1.0,callback);
10792$entry.find(this.settings.imgSelector).stop().fadeTo(this.settings.imagesAnimationDuration,1.0,callback);
10793}
10794};
10795JustifiedGallery.prototype.extractImgSrcFromImage=function($image){
10796var imageSrc=$image.data('safe-src');
10797var imageSrcLoc='date-safe-src';
10798if(typeof imageSrc==='undefined'){
10799imageSrc=$image.attr('src');
10800imageSrcLoc='src';
10801}
10802$image.data('jg.originalSrc',imageSrc);
10803$image.data('jg.src',imageSrc);
10804$image.data('jg.originalSrcLoc',imageSrcLoc);
10805return imageSrc;
10806};
10807JustifiedGallery.prototype.imgFromEntry=function($entry){
10808var $img=$entry.find(this.settings.imgSelector);
10809return $img.length===0?null:$img;
10810};
10811JustifiedGallery.prototype.captionFromEntry=function($entry){
10812var $caption=$entry.find('> .caption');
10813return $caption.length===0?null:$caption;
10814};
10815JustifiedGallery.prototype.displayEntry=function($entry,x,y,imgWidth,imgHeight,rowHeight){
10816$entry.width(imgWidth);
10817$entry.height(rowHeight);
10818$entry.css('top',y);
10819$entry.css('left',x);
10820var $image=this.imgFromEntry($entry);
10821if($image!==null){
10822$image.css('width',imgWidth);
10823$image.css('height',imgHeight);
10824$image.css('margin-left',-imgWidth/2);
10825$image.css('margin-top',-imgHeight/2);
10826var imageSrc=$image.data('jg.src');
10827if(imageSrc){
10828imageSrc=this.newSrc(imageSrc,imgWidth,imgHeight,$image[0]);
10829$image.one('error',function(){
10830this.resetImgSrc($image);
10831});
10832var loadNewImage=function(){
10833$image.attr('src',imageSrc);
10834};
10835if($entry.data('jg.loaded')==='skipped'&&imageSrc){
10836this.onImageEvent(imageSrc,(function(){
10837this.showImg($entry,loadNewImage);
10838$entry.data('jg.loaded',true);
10839}).bind(this));
10840}else{
10841this.showImg($entry,loadNewImage);
10842}
10843}
10844}else{
10845this.showImg($entry);
10846}
10847this.displayEntryCaption($entry);
10848};
10849JustifiedGallery.prototype.displayEntryCaption=function($entry){
10850var $image=this.imgFromEntry($entry);
10851if($image!==null&&this.settings.captions){
10852var $imgCaption=this.captionFromEntry($entry);
10853if($imgCaption===null){
10854var caption=$image.attr('alt');
10855if(!this.isValidCaption(caption))caption=$entry.attr('title');
10856if(this.isValidCaption(caption)){
10857$imgCaption=$('<div class="jg-caption">'+caption+'</div>');
10858$entry.append($imgCaption);
10859$entry.data('jg.createdCaption',true);
10860}
10861}
10862if($imgCaption!==null){
10863if(!this.settings.cssAnimation)$imgCaption.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity);
10864this.addCaptionEventsHandlers($entry);
10865}
10866}else{
10867this.removeCaptionEventsHandlers($entry);
10868}
10869};
10870JustifiedGallery.prototype.isValidCaption=function(caption){
10871return(typeof caption!=='undefined'&&caption.length>0);
10872};
10873JustifiedGallery.prototype.onEntryMouseEnterForCaption=function(eventObject){
10874var $caption=this.captionFromEntry($(eventObject.currentTarget));
10875if(this.settings.cssAnimation){
10876$caption.addClass('js-caption-visible').removeClass('jg-caption-hidden');
10877}else{
10878$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
10879this.settings.captionSettings.visibleOpacity);
10880}
10881};
10882JustifiedGallery.prototype.onEntryMouseLeaveForCaption=function(eventObject){
10883var $caption=this.captionFromEntry($(eventObject.currentTarget));
10884if(this.settings.cssAnimation){
10885$caption.removeClass('jg-caption-visible').removeClass('jg-caption-hidden');
10886}else{
10887$caption.stop().fadeTo(this.settings.captionSettings.animationDuration,
10888this.settings.captionSettings.nonVisibleOpacity);
10889}
10890};
10891JustifiedGallery.prototype.addCaptionEventsHandlers=function($entry){
10892var captionMouseEvents=$entry.data('jg.captionMouseEvents');
10893if(typeof captionMouseEvents==='undefined'){
10894captionMouseEvents={
10895mouseenter:$.proxy(this.onEntryMouseEnterForCaption,this),
10896mouseleave:$.proxy(this.onEntryMouseLeaveForCaption,this)
10897};
10898$entry.on('mouseenter',undefined,undefined,captionMouseEvents.mouseenter);
10899$entry.on('mouseleave',undefined,undefined,captionMouseEvents.mouseleave);
10900$entry.data('jg.captionMouseEvents',captionMouseEvents);
10901}
10902};
10903JustifiedGallery.prototype.removeCaptionEventsHandlers=function($entry){
10904var captionMouseEvents=$entry.data('jg.captionMouseEvents');
10905if(typeof captionMouseEvents!=='undefined'){
10906$entry.off('mouseenter',undefined,captionMouseEvents.mouseenter);
10907$entry.off('mouseleave',undefined,captionMouseEvents.mouseleave);
10908$entry.removeData('jg.captionMouseEvents');
10909}
10910};
10911JustifiedGallery.prototype.clearBuildingRow=function(){
10912this.buildingRow.entriesBuff=[];
10913this.buildingRow.aspectRatio=0;
10914this.buildingRow.width=0;
10915};
10916JustifiedGallery.prototype.prepareBuildingRow=function(isLastRow,hiddenRow){
10917var i,$entry,imgAspectRatio,newImgW,newImgH,justify=true;
10918var minHeight=0;
10919var availableWidth=this.galleryWidth-2*this.border-(
10920(this.buildingRow.entriesBuff.length-1)*this.settings.margins);
10921var rowHeight=availableWidth/this.buildingRow.aspectRatio;
10922var defaultRowHeight=this.settings.rowHeight;
10923var justifiable=this.buildingRow.width/availableWidth>this.settings.justifyThreshold;
10924if(hiddenRow||(isLastRow&&this.settings.lastRow==='hide'&&!justifiable)){
10925for(i=0;i<this.buildingRow.entriesBuff.length;i++){
10926$entry=this.buildingRow.entriesBuff[i];
10927if(this.settings.cssAnimation)
10928$entry.removeClass('jg-entry-visible');
10929else{
10930$entry.stop().fadeTo(0,0.1);
10931$entry.find('> img, > a > img').fadeTo(0,0);
10932}
10933}
10934return-1;
10935}
10936if(isLastRow&&!justifiable&&this.settings.lastRow!=='justify'&&this.settings.lastRow!=='hide'){
10937justify=false;
10938if(this.rows>0){
10939defaultRowHeight=(this.offY-this.border-this.settings.margins*this.rows)/this.rows;
10940justify=defaultRowHeight*this.buildingRow.aspectRatio/availableWidth>this.settings.justifyThreshold;
10941}
10942}
10943for(i=0;i<this.buildingRow.entriesBuff.length;i++){
10944$entry=this.buildingRow.entriesBuff[i];
10945imgAspectRatio=$entry.data('jg.width')/$entry.data('jg.height');
10946if(justify){
10947newImgW=(i===this.buildingRow.entriesBuff.length-1)?availableWidth:rowHeight*imgAspectRatio;
10948newImgH=rowHeight;
10949}else{
10950newImgW=defaultRowHeight*imgAspectRatio;
10951newImgH=defaultRowHeight;
10952}
10953availableWidth-=Math.round(newImgW);
10954$entry.data('jg.jwidth',Math.round(newImgW));
10955$entry.data('jg.jheight',Math.ceil(newImgH));
10956if(i===0||minHeight>newImgH)minHeight=newImgH;
10957}
10958this.buildingRow.height=minHeight;
10959return justify;
10960};
10961JustifiedGallery.prototype.flushRow=function(isLastRow,hiddenRow){
10962var settings=this.settings;
10963var $entry,buildingRowRes,offX=this.border,i;
10964buildingRowRes=this.prepareBuildingRow(isLastRow,hiddenRow);
10965if(hiddenRow||(isLastRow&&settings.lastRow==='hide'&&buildingRowRes===-1)){
10966this.clearBuildingRow();
10967return;
10968}
10969if(this.maxRowHeight){
10970if(this.maxRowHeight<this.buildingRow.height)this.buildingRow.height=this.maxRowHeight;
10971}
10972if(isLastRow&&(settings.lastRow==='center'||settings.lastRow==='right')){
10973var availableWidth=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*settings.margins;
10974for(i=0;i<this.buildingRow.entriesBuff.length;i++){
10975$entry=this.buildingRow.entriesBuff[i];
10976availableWidth-=$entry.data('jg.jwidth');
10977}
10978if(settings.lastRow==='center')
10979offX+=availableWidth/2;
10980else if(settings.lastRow==='right')
10981offX+=availableWidth;
10982}
10983var lastEntryIdx=this.buildingRow.entriesBuff.length-1;
10984for(i=0;i<=lastEntryIdx;i++){
10985$entry=this.buildingRow.entriesBuff[this.settings.rtl?lastEntryIdx-i:i];
10986this.displayEntry($entry,offX,this.offY,$entry.data('jg.jwidth'),$entry.data('jg.jheight'),this.buildingRow.height);
10987offX+=$entry.data('jg.jwidth')+settings.margins;
10988}
10989this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border;
10990this.setGalleryTempHeight(this.galleryHeightToSet+this.getSpinnerHeight());
10991if(!isLastRow||(this.buildingRow.height<=settings.rowHeight&&buildingRowRes)){
10992this.offY+=this.buildingRow.height+settings.margins;
10993this.rows+=1;
10994this.clearBuildingRow();
10995this.settings.triggerEvent.call(this,'jg.rowflush');
10996}
10997};
10998var galleryPrevStaticHeight=0;
10999JustifiedGallery.prototype.rememberGalleryHeight=function(){
11000galleryPrevStaticHeight=this.$gallery.height();
11001this.$gallery.height(galleryPrevStaticHeight);
11002};
11003JustifiedGallery.prototype.setGalleryTempHeight=function(height){
11004galleryPrevStaticHeight=Math.max(height,galleryPrevStaticHeight);
11005this.$gallery.height(galleryPrevStaticHeight);
11006};
11007JustifiedGallery.prototype.setGalleryFinalHeight=function(height){
11008galleryPrevStaticHeight=height;
11009this.$gallery.height(height);
11010};
11011JustifiedGallery.prototype.checkWidth=function(){
11012this.checkWidthIntervalId=setInterval($.proxy(function(){
11013if(!this.$gallery.is(":visible"))return;
11014var galleryWidth=parseFloat(this.$gallery.width());
11015if(Math.abs(galleryWidth-this.galleryWidth)>this.settings.refreshSensitivity){
11016this.galleryWidth=galleryWidth;
11017this.rewind();
11018this.rememberGalleryHeight();
11019this.startImgAnalyzer(true);
11020}
11021},this),this.settings.refreshTime);
11022};
11023JustifiedGallery.prototype.isSpinnerActive=function(){
11024return this.spinner.intervalId!==null;
11025};
11026JustifiedGallery.prototype.getSpinnerHeight=function(){
11027return this.spinner.$el.innerHeight();
11028};
11029JustifiedGallery.prototype.stopLoadingSpinnerAnimation=function(){
11030clearInterval(this.spinner.intervalId);
11031this.spinner.intervalId=null;
11032this.setGalleryTempHeight(this.$gallery.height()-this.getSpinnerHeight());
11033this.spinner.$el.detach();
11034};
11035JustifiedGallery.prototype.startLoadingSpinnerAnimation=function(){
11036var spinnerContext=this.spinner;
11037var $spinnerPoints=spinnerContext.$el.find('span');
11038clearInterval(spinnerContext.intervalId);
11039this.$gallery.append(spinnerContext.$el);
11040this.setGalleryTempHeight(this.offY+this.buildingRow.height+this.getSpinnerHeight());
11041spinnerContext.intervalId=setInterval(function(){
11042if(spinnerContext.phase<$spinnerPoints.length){
11043$spinnerPoints.eq(spinnerContext.phase).fadeTo(spinnerContext.timeSlot,1);
11044}else{
11045$spinnerPoints.eq(spinnerContext.phase-$spinnerPoints.length).fadeTo(spinnerContext.timeSlot,0);
11046}
11047spinnerContext.phase=(spinnerContext.phase+1)%($spinnerPoints.length*2);
11048},spinnerContext.timeSlot);
11049};
11050JustifiedGallery.prototype.rewind=function(){
11051this.lastFetchedEntry=null;
11052this.lastAnalyzedIndex=-1;
11053this.offY=this.border;
11054this.rows=0;
11055this.clearBuildingRow();
11056};
11057JustifiedGallery.prototype.getSelectorWithoutSpinner=function(){
11058return this.settings.selector+', div:not(.jg-spinner)';
11059};
11060JustifiedGallery.prototype.getAllEntries=function(){
11061var selector=this.getSelectorWithoutSpinner();
11062return this.$gallery.children(selector).toArray();
11063};
11064JustifiedGallery.prototype.updateEntries=function(norewind){
11065var newEntries;
11066if(norewind&&this.lastFetchedEntry!=null){
11067var selector=this.getSelectorWithoutSpinner();
11068newEntries=$(this.lastFetchedEntry).nextAll(selector).toArray();
11069}else{
11070this.entries=[];
11071newEntries=this.getAllEntries();
11072}
11073if(newEntries.length>0){
11074if($.isFunction(this.settings.sort)){
11075newEntries=this.sortArray(newEntries);
11076}else if(this.settings.randomize){
11077newEntries=this.shuffleArray(newEntries);
11078}
11079this.lastFetchedEntry=newEntries[newEntries.length-1];
11080if(this.settings.filter){
11081newEntries=this.filterArray(newEntries);
11082}else{
11083this.resetFilters(newEntries);
11084}
11085}
11086this.entries=this.entries.concat(newEntries);
11087return true;
11088};
11089JustifiedGallery.prototype.insertToGallery=function(entries){
11090var that=this;
11091$.each(entries,function(){
11092$(this).appendTo(that.$gallery);
11093});
11094};
11095JustifiedGallery.prototype.shuffleArray=function(a){
11096var i,j,temp;
11097for(i=a.length-1;i>0;i--){
11098j=Math.floor(Math.random()*(i+1));
11099temp=a[i];
11100a[i]=a[j];
11101a[j]=temp;
11102}
11103this.insertToGallery(a);
11104return a;
11105};
11106JustifiedGallery.prototype.sortArray=function(a){
11107a.sort(this.settings.sort);
11108this.insertToGallery(a);
11109return a;
11110};
11111JustifiedGallery.prototype.resetFilters=function(a){
11112for(var i=0;i<a.length;i++)$(a[i]).removeClass('jg-filtered');
11113};
11114JustifiedGallery.prototype.filterArray=function(a){
11115var settings=this.settings;
11116if($.type(settings.filter)==='string'){
11117return a.filter(function(el){
11118var $el=$(el);
11119if($el.is(settings.filter)){
11120$el.removeClass('jg-filtered');
11121return true;
11122}else{
11123$el.addClass('jg-filtered').removeClass('jg-visible');
11124return false;
11125}
11126});
11127}else if($.isFunction(settings.filter)){
11128var filteredArr=a.filter(settings.filter);
11129for(var i=0;i<a.length;i++){
11130if(filteredArr.indexOf(a[i])===-1){
11131$(a[i]).addClass('jg-filtered').removeClass('jg-visible');
11132}else{
11133$(a[i]).removeClass('jg-filtered');
11134}
11135}
11136return filteredArr;
11137}
11138};
11139JustifiedGallery.prototype.resetImgSrc=function($img){
11140if($img.data('jg.originalSrcLoc')=='src'){
11141$img.attr('src',$img.data('jg.originalSrc'));
11142}else{
11143$img.attr('src','');
11144}
11145}
11146JustifiedGallery.prototype.destroy=function(){
11147clearInterval(this.checkWidthIntervalId);
11148this.stopImgAnalyzerStarter();
11149$.each(this.getAllEntries(),$.proxy(function(_,entry){
11150var $entry=$(entry);
11151$entry.css('width','');
11152$entry.css('height','');
11153$entry.css('top','');
11154$entry.css('left','');
11155$entry.data('jg.loaded',undefined);
11156$entry.removeClass('jg-entry jg-filtered jg-entry-visible');
11157var $img=this.imgFromEntry($entry);
11158if($img){
11159$img.css('width','');
11160$img.css('height','');
11161$img.css('margin-left','');
11162$img.css('margin-top','');
11163this.resetImgSrc($img);
11164$img.data('jg.originalSrc',undefined);
11165$img.data('jg.originalSrcLoc',undefined);
11166$img.data('jg.src',undefined);
11167}
11168this.removeCaptionEventsHandlers($entry);
11169var $caption=this.captionFromEntry($entry);
11170if($entry.data('jg.createdCaption')){
11171$entry.data('jg.createdCaption',undefined);
11172if($caption!==null)$caption.remove();
11173}else{
11174if($caption!==null)$caption.fadeTo(0,1);
11175}
11176},this));
11177this.$gallery.css('height','');
11178this.$gallery.removeClass('justified-gallery');
11179this.$gallery.data('jg.controller',undefined);
11180this.settings.triggerEvent.call(this,'jg.destroy');
11181};
11182JustifiedGallery.prototype.analyzeImages=function(isForResize){
11183for(var i=this.lastAnalyzedIndex+1;i<this.entries.length;i++){
11184var $entry=$(this.entries[i]);
11185if($entry.data('jg.loaded')===true||$entry.data('jg.loaded')==='skipped'){
11186var availableWidth=this.galleryWidth-2*this.border-(
11187(this.buildingRow.entriesBuff.length-1)*this.settings.margins);
11188var imgAspectRatio=$entry.data('jg.width')/$entry.data('jg.height');
11189this.buildingRow.entriesBuff.push($entry);
11190this.buildingRow.aspectRatio+=imgAspectRatio;
11191this.buildingRow.width+=imgAspectRatio*this.settings.rowHeight;
11192this.lastAnalyzedIndex=i;
11193if(availableWidth/(this.buildingRow.aspectRatio+imgAspectRatio)<this.settings.rowHeight){
11194this.flushRow(false,this.settings.maxRowsCount>0&&this.rows===this.settings.maxRowsCount);
11195if(++this.yield.flushed>=this.yield.every){
11196this.startImgAnalyzer(isForResize);
11197return;
11198}
11199}
11200}else if($entry.data('jg.loaded')!=='error'){
11201return;
11202}
11203}
11204if(this.buildingRow.entriesBuff.length>0){
11205this.flushRow(true,this.settings.maxRowsCount>0&&this.rows===this.settings.maxRowsCount);
11206}
11207if(this.isSpinnerActive()){
11208this.stopLoadingSpinnerAnimation();
11209}
11210this.stopImgAnalyzerStarter();
11211this.setGalleryFinalHeight(this.galleryHeightToSet);
11212this.settings.triggerEvent.call(this,isForResize?'jg.resize':'jg.complete');
11213};
11214JustifiedGallery.prototype.stopImgAnalyzerStarter=function(){
11215this.yield.flushed=0;
11216if(this.imgAnalyzerTimeout!==null){
11217clearTimeout(this.imgAnalyzerTimeout);
11218this.imgAnalyzerTimeout=null;
11219}
11220};
11221JustifiedGallery.prototype.startImgAnalyzer=function(isForResize){
11222var that=this;
11223this.stopImgAnalyzerStarter();
11224this.imgAnalyzerTimeout=setTimeout(function(){
11225that.analyzeImages(isForResize);
11226},0.001);
11227};
11228JustifiedGallery.prototype.onImageEvent=function(imageSrc,onLoad,onError){
11229if(!onLoad&&!onError)return;
11230var memImage=new Image();
11231var $memImage=$(memImage);
11232if(onLoad){
11233$memImage.one('load',function(){
11234$memImage.off('load error');
11235onLoad(memImage);
11236});
11237}
11238if(onError){
11239$memImage.one('error',function(){
11240$memImage.off('load error');
11241onError(memImage);
11242});
11243}
11244memImage.src=imageSrc;
11245};
11246JustifiedGallery.prototype.init=function(){
11247var imagesToLoad=false,skippedImages=false,that=this;
11248$.each(this.entries,function(index,entry){
11249var $entry=$(entry);
11250var $image=that.imgFromEntry($entry);
11251$entry.addClass('jg-entry');
11252if($entry.data('jg.loaded')!==true&&$entry.data('jg.loaded')!=='skipped'){
11253if(that.settings.rel!==null)$entry.attr('rel',that.settings.rel);
11254if(that.settings.target!==null)$entry.attr('target',that.settings.target);
11255if($image!==null){
11256var imageSrc=that.extractImgSrcFromImage($image);
11257if(that.settings.waitThumbnailsLoad===false||!imageSrc){
11258var width=parseFloat($image.attr('width'));
11259var height=parseFloat($image.attr('height'));
11260if($image.prop('tagName')==='svg'){
11261width=parseFloat($image[0].getBBox().width);
11262height=parseFloat($image[0].getBBox().height);
11263}
11264if(!isNaN(width)&&!isNaN(height)){
11265$entry.data('jg.width',width);
11266$entry.data('jg.height',height);
11267$entry.data('jg.loaded','skipped');
11268skippedImages=true;
11269that.startImgAnalyzer(false);
11270return true;
11271}
11272}
11273$entry.data('jg.loaded',false);
11274imagesToLoad=true;
11275if(!that.isSpinnerActive())that.startLoadingSpinnerAnimation();
11276that.onImageEvent(imageSrc,function(loadImg){
11277$entry.data('jg.width',loadImg.width);
11278$entry.data('jg.height',loadImg.height);
11279$entry.data('jg.loaded',true);
11280that.startImgAnalyzer(false);
11281},function(){
11282$entry.data('jg.loaded','error');
11283that.startImgAnalyzer(false);
11284});
11285}else{
11286$entry.data('jg.loaded',true);
11287$entry.data('jg.width',$entry.width()|parseFloat($entry.css('width'))|1);
11288$entry.data('jg.height',$entry.height()|parseFloat($entry.css('height'))|1);
11289}
11290}
11291});
11292if(!imagesToLoad&&!skippedImages)this.startImgAnalyzer(false);
11293this.checkWidth();
11294};
11295JustifiedGallery.prototype.checkOrConvertNumber=function(settingContainer,settingName){
11296if($.type(settingContainer[settingName])==='string'){
11297settingContainer[settingName]=parseFloat(settingContainer[settingName]);
11298}
11299if($.type(settingContainer[settingName])==='number'){
11300if(isNaN(settingContainer[settingName]))throw'invalid number for '+settingName;
11301}else{
11302throw settingName+' must be a number';
11303}
11304};
11305JustifiedGallery.prototype.checkSizeRangesSuffixes=function(){
11306if($.type(this.settings.sizeRangeSuffixes)!=='object'){
11307throw'sizeRangeSuffixes must be defined and must be an object';
11308}
11309var suffixRanges=[];
11310for(var rangeIdx in this.settings.sizeRangeSuffixes){
11311if(this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx))suffixRanges.push(rangeIdx);
11312}
11313var newSizeRngSuffixes={0:''};
11314for(var i=0;i<suffixRanges.length;i++){
11315if($.type(suffixRanges[i])==='string'){
11316try{
11317var numIdx=parseInt(suffixRanges[i].replace(/^[a-z]+/,''),10);
11318newSizeRngSuffixes[numIdx]=this.settings.sizeRangeSuffixes[suffixRanges[i]];
11319}catch(e){
11320throw'sizeRangeSuffixes keys must contains correct numbers ('+e+')';
11321}
11322}else{
11323newSizeRngSuffixes[suffixRanges[i]]=this.settings.sizeRangeSuffixes[suffixRanges[i]];
11324}
11325}
11326this.settings.sizeRangeSuffixes=newSizeRngSuffixes;
11327};
11328JustifiedGallery.prototype.retrieveMaxRowHeight=function(){
11329var newMaxRowHeight=null;
11330var rowHeight=this.settings.rowHeight;
11331if($.type(this.settings.maxRowHeight)==='string'){
11332if(this.settings.maxRowHeight.match(/^[0-9]+%$/)){
11333newMaxRowHeight=rowHeight*parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100;
11334}else{
11335newMaxRowHeight=parseFloat(this.settings.maxRowHeight);
11336}
11337}else if($.type(this.settings.maxRowHeight)==='number'){
11338newMaxRowHeight=this.settings.maxRowHeight;
11339}else if(this.settings.maxRowHeight===false||this.settings.maxRowHeight==null){
11340return null;
11341}else{
11342throw'maxRowHeight must be a number or a percentage';
11343}
11344if(isNaN(newMaxRowHeight))throw'invalid number for maxRowHeight';
11345if(newMaxRowHeight<rowHeight)newMaxRowHeight=rowHeight;
11346return newMaxRowHeight;
11347};
11348JustifiedGallery.prototype.checkSettings=function(){
11349this.checkSizeRangesSuffixes();
11350this.checkOrConvertNumber(this.settings,'rowHeight');
11351this.checkOrConvertNumber(this.settings,'margins');
11352this.checkOrConvertNumber(this.settings,'border');
11353this.checkOrConvertNumber(this.settings,'maxRowsCount');
11354var lastRowModes=[
11355'justify',
11356'nojustify',
11357'left',
11358'center',
11359'right',
11360'hide'
11361];
11362if(lastRowModes.indexOf(this.settings.lastRow)===-1){
11363throw'lastRow must be one of: '+lastRowModes.join(', ');
11364}
11365this.checkOrConvertNumber(this.settings,'justifyThreshold');
11366if(this.settings.justifyThreshold<0||this.settings.justifyThreshold>1){
11367throw'justifyThreshold must be in the interval [0,1]';
11368}
11369if($.type(this.settings.cssAnimation)!=='boolean'){
11370throw'cssAnimation must be a boolean';
11371}
11372if($.type(this.settings.captions)!=='boolean')throw'captions must be a boolean';
11373this.checkOrConvertNumber(this.settings.captionSettings,'animationDuration');
11374this.checkOrConvertNumber(this.settings.captionSettings,'visibleOpacity');
11375if(this.settings.captionSettings.visibleOpacity<0||
11376this.settings.captionSettings.visibleOpacity>1){
11377throw'captionSettings.visibleOpacity must be in the interval [0, 1]';
11378}
11379this.checkOrConvertNumber(this.settings.captionSettings,'nonVisibleOpacity');
11380if(this.settings.captionSettings.nonVisibleOpacity<0||
11381this.settings.captionSettings.nonVisibleOpacity>1){
11382throw'captionSettings.nonVisibleOpacity must be in the interval [0, 1]';
11383}
11384this.checkOrConvertNumber(this.settings,'imagesAnimationDuration');
11385this.checkOrConvertNumber(this.settings,'refreshTime');
11386this.checkOrConvertNumber(this.settings,'refreshSensitivity');
11387if($.type(this.settings.randomize)!=='boolean')throw'randomize must be a boolean';
11388if($.type(this.settings.selector)!=='string')throw'selector must be a string';
11389if(this.settings.sort!==false&&!$.isFunction(this.settings.sort)){
11390throw'sort must be false or a comparison function';
11391}
11392if(this.settings.filter!==false&&!$.isFunction(this.settings.filter)&&
11393$.type(this.settings.filter)!=='string'){
11394throw'filter must be false, a string or a filter function';
11395}
11396};
11397JustifiedGallery.prototype.retrieveSuffixRanges=function(){
11398var suffixRanges=[];
11399for(var rangeIdx in this.settings.sizeRangeSuffixes){
11400if(this.settings.sizeRangeSuffixes.hasOwnProperty(rangeIdx))suffixRanges.push(parseInt(rangeIdx,10));
11401}
11402suffixRanges.sort(function(a,b){return a>b?1:a<b?-1:0;});
11403return suffixRanges;
11404};
11405JustifiedGallery.prototype.updateSettings=function(newSettings){
11406this.settings=$.extend({},this.settings,newSettings);
11407this.checkSettings();
11408this.border=this.settings.border>=0?this.settings.border:this.settings.margins;
11409this.maxRowHeight=this.retrieveMaxRowHeight();
11410this.suffixRanges=this.retrieveSuffixRanges();
11411};
11412JustifiedGallery.prototype.defaults={
11413sizeRangeSuffixes:{},
11414thumbnailPath:undefined,
11415rowHeight:120,
11416maxRowHeight:false,
11417maxRowsCount:0,
11418margins:1,
11419border:-1,
11420lastRow:'nojustify',
11421justifyThreshold:0.90,
11422waitThumbnailsLoad:true,
11423captions:true,
11424cssAnimation:true,
11425imagesAnimationDuration:500,
11426captionSettings:{
11427animationDuration:500,
11428visibleOpacity:0.7,
11429nonVisibleOpacity:0.0
11430},
11431rel:null,
11432target:null,
11433extension:/\.[^.\\/]+$/,
11434refreshTime:200,
11435refreshSensitivity:0,
11436randomize:false,
11437rtl:false,
11438sort:false,
11439filter:false,
11440selector:'a',
11441imgSelector:'> img, > a > img, > svg, > a > svg',
11442triggerEvent:function(event){
11443this.$gallery.trigger(event);
11444}
11445};
11446$.fn.justifiedGallery=function(arg){
11447return this.each(function(index,gallery){
11448var $gallery=$(gallery);
11449$gallery.addClass('justified-gallery');
11450var controller=$gallery.data('jg.controller');
11451if(typeof controller==='undefined'){
11452if(typeof arg!=='undefined'&&arg!==null&&$.type(arg)!=='object'){
11453if(arg==='destroy')return;
11454throw'The argument must be an object';
11455}
11456controller=new JustifiedGallery($gallery,$.extend({},JustifiedGallery.prototype.defaults,arg));
11457$gallery.data('jg.controller',controller);
11458}else if(arg==='norewind'){
11459}else if(arg==='destroy'){
11460controller.destroy();
11461return;
11462}else{
11463controller.updateSettings(arg);
11464controller.rewind();
11465}
11466if(!controller.updateEntries(arg==='norewind'))return;
11467controller.init();
11468});
11469};
11470}));
11471
11472
11473/* plugins/gallesie/v1.2.1/js/application.js?1769874833 */
11474
11475(function(){
11476'use strict';
11477if(navigator.userAgent.match(/IEMobile\/10\.0/)){
11478var msViewportStyle=document.createElement('style')
11479msViewportStyle.appendChild(
11480document.createTextNode(
11481'@-ms-viewport{width:auto!important}'
11482)
11483)
11484document.querySelector('head').appendChild(msViewportStyle)
11485}
11486})();
11487!function($){
11488'use strict';
11489$(function(){
11490$.extend($.scrollTo.defaults,{
11491offset:-50
11492});
11493var $window=$(window)
11494$window.scroll(function(){
11495if($(".navbar").offset().top>50){
11496$(".navbar-home").addClass("top-nav-collapse");
11497$(".page_accueil").addClass("navbar-fixed");
11498}else{
11499$(".navbar-home").removeClass("top-nav-collapse");
11500$(".page_accueil").removeClass("navbar-fixed");
11501}
11502}
11502);
11503function init_bclds_js(){
11504$('a.spip_out, a.spip_url, a[href$=".pdf"]').each(function(){
11505$(this).attr('target','_blank').attr('rel','noopener');
11506});
11507$('.navbar-collapse').on("click","a:not([data-toggle])",null,function(){
11508$('.navbar-collapse').collapse('hide');
11509});
11510$(".navbar, .jumbotron-inner, .carousel, .scroll-for-more").addClass("fade in");
11511$("[data-toggle=tooltip]").tooltip('hide').tooltip({
11512container:"body"
11513});
11514$('abbr').tooltip();
11515$("[data-toggle=popover]").popover({
11516trigger:"hover",
11517placement:"auto bottom",
11518container:"body"
11519});
11520$(".modal").on('show.bs.modal',function(){
11521$(".partager, .jumbotron-inner, .carousel, .scroll-for-more").removeClass("in")
11522});
11523$(".modal").on('hidden.bs.modal',function(){
11524$(".partager, .jumbotron-inner, .carousel, .scroll-for-more").addClass("in");
11525$(this).find("iframe").remove();
11526$(this).find(".rwd-video-container").removeClass("loading").addClass("oe-play-button").html('<button onclick="jQuery(this).parent().trigger(\'click\');">Play</button>');
11527});
11528$(".justifiedGallery").justifiedGallery({
11529selector:'a, div:not(.spinner), figure',
11530rowHeight:160,
11531lastRow:'center',
11532margins:3,
11533captions:false
11534});
11535}
11536init_bclds_js();
11537onAjaxLoad(init_bclds_js);
11538function initLazyLoading(){
11539lazySizes.init();
11540}
11541onAjaxLoad(initLazyLoading);
11542})
11543}(jQuery);
11544
11545

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.