(function(global,factory){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document");}
return factory(w);};}else{factory(global);}}(typeof window!=="undefined"?window:this,function(window,noGlobal){var arr=[];var document=window.document;var slice=arr.slice;var concat=arr.concat;var push=arr.push;var indexOf=arr.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var support={};var
version="2.2.2",jQuery=function(selector,context){return new jQuery.fn.init(selector,context);},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase();};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this);},get:function(num){return num!=null?(num<0?this[num+this.length]:this[num]):slice.call(this);},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;ret.context=this.context;return ret;},each:function(callback){return jQuery.each(this,callback);},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},slice:function(){return this.pushStack(slice.apply(this,arguments));},first:function(){return this.eq(0);},last:function(){return this.eq(-1);},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[]);},end:function(){return this.prevObject||this.constructor();},push:push,sort:arr.sort,splice:arr.splice};jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++;}
if(typeof target!=="object"&&!jQuery.isFunction(target)){target={};}
if(i===length){target=this;i--;}
for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue;}
if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[];}else{clone=src&&jQuery.isPlainObject(src)?src:{};}
target[name]=jQuery.extend(deep,clone,copy);}else if(copy!==undefined){target[name]=copy;}}}}
return target;};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg);},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function";},isArray:Array.isArray,isWindow:function(obj){return obj!=null&&obj===obj.window;},isNumeric:function(obj){var realStringObj=obj&&obj.toString();return!jQuery.isArray(obj)&&(realStringObj-parseFloat(realStringObj)+1)>=0;},isPlainObject:function(obj){var key;if(jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false;}
if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype||{},"isPrototypeOf")){return false;}
for(key in obj){}
return key===undefined||hasOwn.call(obj,key);},isEmptyObject:function(obj){var name;for(name in obj){return false;}
return true;},type:function(obj){if(obj==null){return obj+"";}
return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj;},globalEval:function(code){var script,indirect=eval;code=jQuery.trim(code);if(code){if(code.indexOf("use strict")===1){script=document.createElement("script");script.text=code;document.head.appendChild(script).parentNode.removeChild(script);}else{indirect(code);}}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase);},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase();},each:function(obj,callback){var length,i=0;if(isArrayLike(obj)){length=obj.length;for(;i<length;i++){if(callback.call(obj[i],i,obj[i])===false){break;}}}else{for(i in obj){if(callback.call(obj[i],i,obj[i])===false){break;}}}
return obj;},trim:function(text){return text==null?"":(text+"").replace(rtrim,"");},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArrayLike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr);}else{push.call(ret,arr);}}
return ret;},inArray:function(elem,arr,i){return arr==null?-1:indexOf.call(arr,elem,i);},merge:function(first,second){var len=+second.length,j=0,i=first.length;for(;j<len;j++){first[i++]=second[j];}
first.length=i;return first;},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i]);}}
return matches;},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems)){length=elems.length;for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value);}}}
return concat.apply([],ret);},guid:1,proxy:function(fn,context){var tmp,args,proxy;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp;}
if(!jQuery.isFunction(fn)){return undefined;}
args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)));};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy;},now:Date.now,support:support});if(typeof Symbol==="function"){jQuery.fn[Symbol.iterator]=arr[Symbol.iterator];}
jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase();});function isArrayLike(obj){var length=!!obj&&"length" in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false;}
return type==="array"||length===0||typeof length==="number"&&length>0&&(length-1)in obj;}
var Sizzle=(function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date(),preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true;}
return 0;},MAX_NEGATIVE=1<<31,hasOwn=({}).hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i;}}
return-1;},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={"ID":new RegExp("^#("+identifier+")"),"CLASS":new RegExp("^\\.("+identifier+")"),"TAG":new RegExp("^("+identifier+"|[*])"),"ATTR":new RegExp("^"+attributes),"PSEUDO":new RegExp("^"+pseudos),"CHILD":new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),"bool":new RegExp("^(?:"+booleans+")$","i"),"needsContext":new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+
whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-0x10000;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+0x10000):String.fromCharCode(high>>10|0xD800,high&0x3FF|0xDC00);},unloadHandler=function(){setDocument();};try{push.apply((arr=slice.call(preferredDoc.childNodes)),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType;}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els));}:function(target,els){var j=target.length,i=0;while((target[j++]=els[i++])){}
target.length=j-1;}};}
function Sizzle(selector,context,results,seed){var m,i,elem,nid,nidselect,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;results=results||[];if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results;}
if(!seed){if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context);}
context=context||document;if(documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if((m=match[1])){if(nodeType===9){if((elem=context.getElementById(m))){if(elem.id===m){results.push(elem);return results;}}else{return results;}}else{if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results;}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results;}else if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results;}}
if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(nodeType!==1){newContext=context;newSelector=selector;}else if(context.nodeName.toLowerCase()!=="object"){if((nid=context.getAttribute("id"))){nid=nid.replace(rescape,"\\$&");}else{context.setAttribute("id",(nid=expando));}
groups=tokenize(selector);i=groups.length;nidselect=ridentifier.test(nid)?"#"+nid:"[id='"+nid+"']";while(i--){groups[i]=nidselect+" "+toSelector(groups[i]);}
newSelector=groups.join(",");newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;}
if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results;}catch(qsaError){}finally{if(nid===expando){context.removeAttribute("id");}}}}}}
return select(selector.replace(rtrim,"$1"),context,results,seed);}
function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()];}
return(cache[key+" "]=value);}
return cache;}
function markFunction(fn){fn[expando]=true;return fn;}
function assert(fn){var div=document.createElement("div");try{return!!fn(div);}catch(e){return false;}finally{if(div.parentNode){div.parentNode.removeChild(div);}
div=null;}}
function addHandle(attrs,handler){var arr=attrs.split("|"),i=arr.length;while(i--){Expr.attrHandle[arr[i]]=handler;}}
function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||MAX_NEGATIVE)-
(~a.sourceIndex||MAX_NEGATIVE);if(diff){return diff;}
if(cur){while((cur=cur.nextSibling)){if(cur===b){return-1;}}}
return a?1:-1;}
function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type;};}
function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type;};}
function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[(j=matchIndexes[i])]){seed[j]=!(matches[j]=seed[j]);}}});});}
function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context;}
support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false;};setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement){return document;}
document=doc;docElem=document.documentElement;documentIsHTML=!isXML(document);if((parent=document.defaultView)&&parent.top!==parent){if(parent.addEventListener){parent.addEventListener("unload",unloadHandler,false);}else if(parent.attachEvent){parent.attachEvent("onunload",unloadHandler);}}
support.attributes=assert(function(div){div.className="i";return!div.getAttribute("className");});support.getElementsByTagName=assert(function(div){div.appendChild(document.createComment(""));return!div.getElementsByTagName("*").length;});support.getElementsByClassName=rnative.test(document.getElementsByClassName);support.getById=assert(function(div){docElem.appendChild(div).id=expando;return!document.getElementsByName||!document.getElementsByName(expando).length;});if(support.getById){Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var m=context.getElementById(id);return m?[m]:[];}};Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId;};};}else{delete Expr.find["ID"];Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId;};};}
Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag);}else if(support.qsa){return context.querySelectorAll(tag);}}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while((elem=results[i++])){if(elem.nodeType===1){tmp.push(elem);}}
return tmp;}
return results;};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(typeof context.getElementsByClassName!=="undefined"&&documentIsHTML){return context.getElementsByClassName(className);}};rbuggyMatches=[];rbuggyQSA=[];if((support.qsa=rnative.test(document.querySelectorAll))){assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\r\\' msallowcapture=''>"+"<option selected=''></option></select>";if(div.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")");}
if(!div.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")");}
if(!div.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=");}
if(!div.querySelectorAll(":checked").length){rbuggyQSA.push(":checked");}
if(!div.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]");}});assert(function(div){var input=document.createElement("input");input.setAttribute("type","hidden");div.appendChild(input).setAttribute("name","D");if(div.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=");}
if(!div.querySelectorAll(":enabled").length){rbuggyQSA.push(":enabled",":disabled");}
div.querySelectorAll("*,:x");rbuggyQSA.push(",.*:");});}
if((support.matchesSelector=rnative.test((matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)))){assert(function(div){support.disconnectedMatch=matches.call(div,"div");matches.call(div,"[s!='']:x");rbuggyMatches.push("!=",pseudos);});}
rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16));}:function(a,b){if(b){while((b=b.parentNode)){if(b===a){return true;}}}
return false;};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0;}
var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare;}
compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||(!support.sortDetached&&b.compareDocumentPosition(a)===compare)){if(a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1;}
if(b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1;}
return sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0;}
return compare&4?-1:1;}:function(a,b){if(a===b){hasDuplicate=true;return 0;}
var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?(indexOf(sortInput,a)-indexOf(sortInput,b)):0;}else if(aup===bup){return siblingCheck(a,b);}
cur=a;while((cur=cur.parentNode)){ap.unshift(cur);}
cur=b;while((cur=cur.parentNode)){bp.unshift(cur);}
while(ap[i]===bp[i]){i++;}
return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0;};return document;};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements);};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document){setDocument(elem);}
expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret;}}catch(e){}}
return Sizzle(expr,document,null,[elem]).length>0;};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document){setDocument(context);}
return contains(context,elem);};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document){setDocument(elem);}
var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null;};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg);};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while((elem=results[i++])){if(elem===results[i]){j=duplicates.push(i);}}
while(j--){results.splice(duplicates[j],1);}}
sortInput=null;return results;};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while((node=elem[i++])){ret+=getText(node);}}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent;}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem);}}}else if(nodeType===3||nodeType===4){return elem.nodeValue;}
return ret;};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{"ATTR":function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" ";}
return match.slice(0,4);},"CHILD":function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){Sizzle.error(match[0]);}
match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+((match[7]+match[8])||match[3]==="odd");}else if(match[3]){Sizzle.error(match[0]);}
return match;},"PSEUDO":function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null;}
if(match[3]){match[2]=match[4]||match[5]||"";}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess);}
return match.slice(0,3);}},filter:{"TAG":function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true;}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName;};},"CLASS":function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"");});},"ATTR":function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!=";}
if(!operator){return true;}
result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false;};},"CHILD":function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode;}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=false;if(parent){if(simple){while(dir){node=elem;while((node=node[dir])){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false;}}
start=dir=type==="only"&&!start&&"nextSibling";}
return true;}
start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){node=parent;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if(node.nodeType===1&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break;}}}else{if(useCache){node=elem;outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});cache=uniqueCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=nodeIndex;}
if(diff===false){while((node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){outerCache=node[expando]||(node[expando]={});uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={});uniqueCache[type]=[dirruns,diff];}
if(node===elem){break;}}}}}
diff-=last;return diff===first||(diff%first===0&&diff/first>=0);}};},"PSEUDO":function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument);}
if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i]);}}):function(elem){return fn(elem,0,args);};}
return fn;}},pseudos:{"not":markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if((elem=unmatched[i])){seed[i]=!(matches[i]=elem);}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop();};}),"has":markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0;};}),"contains":markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1;};}),"lang":markFunction(function(lang){if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang);}
lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if((elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0;}}while((elem=elem.parentNode)&&elem.nodeType===1);return false;};}),"target":function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id;},"root":function(elem){return elem===docElem;},"focus":function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex);},"enabled":function(elem){return elem.disabled===false;},"disabled":function(elem){return elem.disabled===true;},"checked":function(elem){var nodeName=elem.nodeName.toLowerCase();return(nodeName==="input"&&!!elem.checked)||(nodeName==="option"&&!!elem.selected);},"selected":function(elem){if(elem.parentNode){elem.parentNode.selectedIndex;}
return elem.selected===true;},"empty":function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false;}}
return true;},"parent":function(elem){return!Expr.pseudos["empty"](elem);},"header":function(elem){return rheader.test(elem.nodeName);},"input":function(elem){return rinputs.test(elem.nodeName);},"button":function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button";},"text":function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text");},"first":createPositionalPseudo(function(){return[0];}),"last":createPositionalPseudo(function(matchIndexes,length){return[length-1];}),"eq":createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument];}),"even":createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i);}
return matchIndexes;}),"odd":createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i);}
return matchIndexes;}),"lt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i);}
return matchIndexes;}),"gt":createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i);}
return matchIndexes;})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i);}
for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i);}
function setFilters(){}
setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters();tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0);}
soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar;}
groups.push((tokens=[]));}
matched=false;if((match=rcombinators.exec(soFar))){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length);}
for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length);}}
if(!matched){break;}}
return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0);};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value;}
return selector;}
function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&dir==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml);}}}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true;}}}}else{while((elem=elem[dir])){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={});if((oldCache=uniqueCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return(newCache[2]=oldCache[2]);}else{uniqueCache[dir]=newCache;if((newCache[2]=matcher(elem,context,xml))){return true;}}}}}};}
function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false;}}
return true;}:matchers[0];}
function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results);}
return results;}
function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if((elem=unmatched[i])){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i);}}}}
return newUnmatched;}
function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter);}
if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector);}
return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher){matcher(matcherIn,matcherOut,context,xml);}
if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if((elem=temp[i])){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem);}}}
if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if((elem=matcherOut[i])){temp.push((matcherIn[i]=elem));}}
postFinder(null,(matcherOut=[]),temp,xml);}
i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem);}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml);}else{push.apply(results,matcherOut);}}});}
function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext;},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1;},implicitRelative,true),matchers=[function(elem,context,xml){var ret=(!leadingRelative&&(xml||context!==outermostContext))||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret;}];for(;i<len;i++){if((matcher=Expr.relative[tokens[i].type])){matchers=[addCombinator(elementMatcher(matchers),matcher)];}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break;}}
return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens((tokens=tokens.slice(j))),j<len&&toSelector(tokens));}
matchers.push(matcher);}}
return elementMatcher(matchers);}
function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=(dirruns+=contextBackup==null?1:Math.random()||0.1),len=elems.length;if(outermost){outermostContext=context===document||context||outermost;}
for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;if(!context&&elem.ownerDocument!==document){setDocument(elem);xml=!documentIsHTML;}
while((matcher=elementMatchers[j++])){if(matcher(elem,context||document,xml)){results.push(elem);break;}}
if(outermost){dirruns=dirrunsUnique;}}
if(bySet){if((elem=!matcher&&elem)){matchedCount--;}
if(seed){unmatched.push(elem);}}}
matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while((matcher=setMatchers[j++])){matcher(unmatched,setMatched,context,xml);}
if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results);}}}
setMatched=condense(setMatched);}
push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&(matchedCount+setMatchers.length)>1){Sizzle.uniqueSort(results);}}
if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup;}
return unmatched;};return bySet?markFunction(superMatcher):superMatcher;}
compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector);}
i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached);}else{elementMatchers.push(cached);}}
cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector;}
return cached;};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize((selector=compiled.selector||selector));results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&support.getById&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results;}else if(compiled){context=context.parentNode;}
selector=selector.slice(tokens.shift().value.length);}
i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[(type=token.type)]){break;}
if((find=Expr.find[type])){if((seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results;}
break;}}}}
(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context);return results;};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(div1){return div1.compareDocumentPosition(document.createElement("div"))&1;});if(!assert(function(div){div.innerHTML="<a href='#'></a>";return div.firstChild.getAttribute("href")==="#";})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2);}});}
if(!support.attributes||!assert(function(div){div.innerHTML="<input/>";div.firstChild.setAttribute("value","");return div.firstChild.getAttribute("value")==="";})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue;}});}
if(!assert(function(div){return div.getAttribute("disabled")==null;})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null;}});}
return Sizzle;})(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;var dir=function(elem,dir,until){var matched=[],truncate=until!==undefined;while((elem=elem[dir])&&elem.nodeType!==9){if(elem.nodeType===1){if(truncate&&jQuery(elem).is(until)){break;}
matched.push(elem);}}
return matched;};var siblings=function(n,elem){var matched=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){matched.push(n);}}
return matched;};var rneedsContext=jQuery.expr.match.needsContext;var rsingleTag=(/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/);var risSimple=/^.[^:#\[\.,]*$/;function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not;});}
if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return(elem===qualifier)!==not;});}
if(typeof qualifier==="string"){if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not);}
qualifier=jQuery.filter(qualifier,elements);}
return jQuery.grep(elements,function(elem){return(indexOf.call(qualifier,elem)>-1)!==not;});}
jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")";}
return elems.length===1&&elem.nodeType===1?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1;}));};jQuery.fn.extend({find:function(selector){var i,len=this.length,ret=[],self=this;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true;}}}));}
for(i=0;i<len;i++){jQuery.find(selector,self[i],ret);}
ret=this.pushStack(len>1?jQuery.unique(ret):ret);ret.selector=this.selector?this.selector+" "+selector:selector;return ret;},filter:function(selector){return this.pushStack(winnow(this,selector||[],false));},not:function(selector){return this.pushStack(winnow(this,selector||[],true));},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length;}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector){return this;}
root=root||rootjQuery;if(typeof selector==="string"){if(selector[0]==="<"&&selector[selector.length-1]===">"&&selector.length>=3){match=[null,selector,null];}else{match=rquickExpr.exec(selector);}
if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(jQuery.isFunction(this[match])){this[match](context[match]);}else{this.attr(match,context[match]);}}}
return this;}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){this.length=1;this[0]=elem;}
this.context=document;this.selector=selector;return this;}}else if(!context||context.jquery){return(context||root).find(selector);}else{return this.constructor(context).find(selector);}}else if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this;}else if(jQuery.isFunction(selector)){return root.ready!==undefined?root.ready(selector):selector(jQuery);}
if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context;}
return jQuery.makeArray(selector,this);};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){var i=0;for(;i<l;i++){if(jQuery.contains(this,targets[i])){return true;}}});},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(pos?pos.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break;}}}
return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched);},index:function(elem){if(!elem){return(this[0]&&this[0].parentNode)?this.first().prevAll().length:-1;}
if(typeof elem==="string"){return indexOf.call(jQuery(elem),this[0]);}
return indexOf.call(this,elem.jquery?elem[0]:elem);},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))));},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector));}});function sibling(cur,dir){while((cur=cur[dir])&&cur.nodeType!==1){}
return cur;}
jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null;},parents:function(elem){return dir(elem,"parentNode");},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until);},next:function(elem){return sibling(elem,"nextSibling");},prev:function(elem){return sibling(elem,"previousSibling");},nextAll:function(elem){return dir(elem,"nextSibling");},prevAll:function(elem){return dir(elem,"previousSibling");},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until);},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until);},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem);},children:function(elem){return siblings(elem.firstChild);},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until;}
if(selector&&typeof selector==="string"){matched=jQuery.filter(selector,matched);}
if(this.length>1){if(!guaranteedUnique[name]){jQuery.uniqueSort(matched);}
if(rparentsprev.test(name)){matched.reverse();}}
return this.pushStack(matched);};});var rnotwhite=(/\S+/g);function createOptions(options){var object={};jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=true;});return object;}
jQuery.Callbacks=function(options){options=typeof options==="string"?createOptions(options):jQuery.extend({},options);var
firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){locked=options.once;fired=firing=true;for(;queue.length;firingIndex=-1){memory=queue.shift();while(++firingIndex<list.length){if(list[firingIndex].apply(memory[0],memory[1])===false&&options.stopOnFalse){firingIndex=list.length;memory=false;}}}
if(!options.memory){memory=false;}
firing=false;if(locked){if(memory){list=[];}else{list="";}}},self={add:function(){if(list){if(memory&&!firing){firingIndex=list.length-1;queue.push(memory);}
(function add(args){jQuery.each(args,function(_,arg){if(jQuery.isFunction(arg)){if(!options.unique||!self.has(arg)){list.push(arg);}}else if(arg&&arg.length&&jQuery.type(arg)!=="string"){add(arg);}});})(arguments);if(memory&&!firing){fire();}}
return this;},remove:function(){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(index<=firingIndex){firingIndex--;}}});return this;},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0;},empty:function(){if(list){list=[];}
return this;},disable:function(){locked=queue=[];list=memory="";return this;},disabled:function(){return!list;},lock:function(){locked=queue=[];if(!memory){list=memory="";}
return this;},locked:function(){return!!locked;},fireWith:function(context,args){if(!locked){args=args||[];args=[context,args.slice?args.slice():args];queue.push(args);if(!firing){fire();}}
return this;},fire:function(){self.fireWith(this,arguments);return this;},fired:function(){return!!fired;}};return self;};jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state;},always:function(){deferred.done(arguments).fail(arguments);return this;},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject);}else{newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments);}});});fns=null;}).promise();},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise;}},deferred={};promise.pipe=promise.then;jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString;},tuples[i^1][2].disable,tuples[2][2].lock);}
deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?promise:this,arguments);return this;};deferred[tuple[0]+"With"]=list.fireWith;});promise.promise(deferred);if(func){func.call(deferred,deferred);}
return deferred;},when:function(subordinate){var i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=length!==1||(subordinate&&jQuery.isFunction(subordinate.promise))?length:0,deferred=remaining===1?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this;values[i]=arguments.length>1?slice.call(arguments):value;if(values===progressValues){deferred.notifyWith(contexts,values);}else if(!(--remaining)){deferred.resolveWith(contexts,values);}};},progressValues,progressContexts,resolveContexts;if(length>1){progressValues=new Array(length);progressContexts=new Array(length);resolveContexts=new Array(length);for(;i<length;i++){if(resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)){resolveValues[i].promise().progress(updateFunc(i,progressContexts,progressValues)).done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject);}else{--remaining;}}}
if(!remaining){deferred.resolveWith(resolveContexts,resolveValues);}
return deferred.promise();}});var readyList;jQuery.fn.ready=function(fn){jQuery.ready.promise().done(fn);return this;};jQuery.extend({isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++;}else{jQuery.ready(true);}},ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return;}
jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return;}
readyList.resolveWith(document,[jQuery]);if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");jQuery(document).off("ready");}}});function completed(){document.removeEventListener("DOMContentLoaded",completed);window.removeEventListener("load",completed);jQuery.ready();}
jQuery.ready.promise=function(obj){if(!readyList){readyList=jQuery.Deferred();if(document.readyState==="complete"||(document.readyState!=="loading"&&!document.documentElement.doScroll)){window.setTimeout(jQuery.ready);}else{document.addEventListener("DOMContentLoaded",completed);window.addEventListener("load",completed);}}
return readyList.promise(obj);};jQuery.ready.promise();var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key){access(elems,fn,i,key[i],true,emptyGet,raw);}}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true;}
if(bulk){if(raw){fn.call(elems,value);fn=null;}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value);};}}
if(fn){for(;i<len;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));}}}
return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet;};var acceptData=function(owner){return owner.nodeType===1||owner.nodeType===9||!(+owner.nodeType);};function Data(){this.expando=jQuery.expando+Data.uid++;}
Data.uid=1;Data.prototype={register:function(owner,initial){var value=initial||{};if(owner.nodeType){owner[this.expando]=value;}else{Object.defineProperty(owner,this.expando,{value:value,writable:true,configurable:true});}
return owner[this.expando];},cache:function(owner){if(!acceptData(owner)){return{};}
var value=owner[this.expando];if(!value){value={};if(acceptData(owner)){if(owner.nodeType){owner[this.expando]=value;}else{Object.defineProperty(owner,this.expando,{value:value,configurable:true});}}}
return value;},set:function(owner,data,value){var prop,cache=this.cache(owner);if(typeof data==="string"){cache[data]=value;}else{for(prop in data){cache[prop]=data[prop];}}
return cache;},get:function(owner,key){return key===undefined?this.cache(owner):owner[this.expando]&&owner[this.expando][key];},access:function(owner,key,value){var stored;if(key===undefined||((key&&typeof key==="string")&&value===undefined)){stored=this.get(owner,key);return stored!==undefined?stored:this.get(owner,jQuery.camelCase(key));}
this.set(owner,key,value);return value!==undefined?value:key;},remove:function(owner,key){var i,name,camel,cache=owner[this.expando];if(cache===undefined){return;}
if(key===undefined){this.register(owner);}else{if(jQuery.isArray(key)){name=key.concat(key.map(jQuery.camelCase));}else{camel=jQuery.camelCase(key);if(key in cache){name=[key,camel];}else{name=camel;name=name in cache?[name]:(name.match(rnotwhite)||[]);}}
i=name.length;while(i--){delete cache[name[i]];}}
if(key===undefined||jQuery.isEmptyObject(cache)){if(owner.nodeType){owner[this.expando]=undefined;}else{delete owner[this.expando];}}},hasData:function(owner){var cache=owner[this.expando];return cache!==undefined&&!jQuery.isEmptyObject(cache);}};var dataPriv=new Data();var dataUser=new Data();var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;function dataAttr(elem,key,data){var name;if(data===undefined&&elem.nodeType===1){name="data-"+key.replace(rmultiDash,"-$&").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data;}catch(e){}
dataUser.set(elem,key,data);}else{data=undefined;}}
return data;}
jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem);},data:function(elem,name,data){return dataUser.access(elem,name,data);},removeData:function(elem,name){dataUser.remove(elem,name);},_data:function(elem,name,data){return dataPriv.access(elem,name,data);},_removeData:function(elem,name){dataPriv.remove(elem,name);}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=dataUser.get(elem);if(elem.nodeType===1&&!dataPriv.get(elem,"hasDataAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name]);}}}
dataPriv.set(elem,"hasDataAttrs",true);}}
return data;}
if(typeof key==="object"){return this.each(function(){dataUser.set(this,key);});}
return access(this,function(value){var data,camelKey;if(elem&&value===undefined){data=dataUser.get(elem,key)||dataUser.get(elem,key.replace(rmultiDash,"-$&").toLowerCase());if(data!==undefined){return data;}
camelKey=jQuery.camelCase(key);data=dataUser.get(elem,camelKey);if(data!==undefined){return data;}
data=dataAttr(elem,camelKey,undefined);if(data!==undefined){return data;}
return;}
camelKey=jQuery.camelCase(key);this.each(function(){var data=dataUser.get(this,camelKey);dataUser.set(this,camelKey,value);if(key.indexOf("-")>-1&&data!==undefined){dataUser.set(this,key,value);}});},null,value,arguments.length>1,null,true);},removeData:function(key){return this.each(function(){dataUser.remove(this,key);});}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=dataPriv.get(elem,type);if(data){if(!queue||jQuery.isArray(data)){queue=dataPriv.access(elem,type,jQuery.makeArray(data));}else{queue.push(data);}}
return queue||[];}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type);};if(fn==="inprogress"){fn=queue.shift();startLength--;}
if(fn){if(type==="fx"){queue.unshift("inprogress");}
delete hooks.stop;fn.call(elem,next,hooks);}
if(!startLength&&hooks){hooks.empty.fire();}},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key]);})});}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--;}
if(arguments.length<setter){return jQuery.queue(this[0],type);}
return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type);}});},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type);});},clearQueue:function(type){return this.queue(type||"fx",[]);},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!(--count)){defer.resolveWith(elements,[elements]);}};if(typeof type!=="string"){obj=type;type=undefined;}
type=type||"fx";while(i--){tmp=dataPriv.get(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve);}}
resolve();return defer.promise(obj);}});var pnum=(/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/).source;var rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i");var cssExpand=["Top","Right","Bottom","Left"];var isHidden=function(elem,el){elem=el||elem;return jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument,elem);};function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur();}:function(){return jQuery.css(elem,prop,"");},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||unit!=="px"&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3];valueParts=valueParts||[];initialInUnit=+initial||1;do{scale=scale||".5";initialInUnit=initialInUnit/scale;jQuery.style(elem,prop,initialInUnit+unit);}while(scale!==(scale=currentValue()/initial)&&scale!==1&&--maxIterations);}
if(valueParts){initialInUnit=+initialInUnit||+initial||0;adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2];if(tween){tween.unit=unit;tween.start=initialInUnit;tween.end=adjusted;}}
return adjusted;}
var rcheckableType=(/^(?:checkbox|radio)$/i);var rtagName=(/<([\w:-]+)/);var rscriptType=(/^$|\/(?:java|ecma)script/i);var wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function getAll(context,tag){var ret=typeof context.getElementsByTagName!=="undefined"?context.getElementsByTagName(tag||"*"):typeof context.querySelectorAll!=="undefined"?context.querySelectorAll(tag||"*"):[];return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret;}
function setGlobalEval(elems,refElements){var i=0,l=elems.length;for(;i<l;i++){dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"));}}
var rhtml=/<|&#?\w+;/;function buildFragment(elems,context,scripts,selection,ignored){var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem);}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem));}else{tmp=tmp||fragment.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild;}
jQuery.merge(nodes,tmp.childNodes);tmp=fragment.firstChild;tmp.textContent="";}}}
fragment.textContent="";i=0;while((elem=nodes[i++])){if(selection&&jQuery.inArray(elem,selection)>-1){if(ignored){ignored.push(elem);}
continue;}
contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(fragment.appendChild(elem),"script");if(contains){setGlobalEval(tmp);}
if(scripts){j=0;while((elem=tmp[j++])){if(rscriptType.test(elem.type||"")){scripts.push(elem);}}}}
return fragment;}
(function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio");input.setAttribute("checked","checked");input.setAttribute("name","t");div.appendChild(input);support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;})();var
rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;function returnTrue(){return true;}
function returnFalse(){return false;}
function safeActiveElement(){try{return document.activeElement;}catch(err){}}
function on(elem,types,selector,data,fn,one){var origFn,type;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined;}
for(type in types){on(elem,type,selector,data,types[type],one);}
return elem;}
if(data==null&&fn==null){fn=selector;data=selector=undefined;}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined;}else{fn=data;data=selector;selector=undefined;}}
if(fn===false){fn=returnFalse;}else if(!fn){return elem;}
if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments);};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++);}
return elem.each(function(){jQuery.event.add(this,types,fn,data,selector);});}
jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(!elemData){return;}
if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector;}
if(!handler.guid){handler.guid=jQuery.guid++;}
if(!(events=elemData.events)){events=elemData.events={};}
if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!=="undefined"&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):undefined;};}
types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue;}
special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle);}}}
if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid;}}
if(selector){handlers.splice(handlers.delegateCount++,0,handleObj);}else{handlers.push(handleObj);}
jQuery.event.global[type]=true;}},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(!elemData||!(events=elemData.events)){return;}
types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true);}
continue;}
special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--;}
if(special.remove){special.remove.call(elem,handleObj);}}}
if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle);}
delete events[type];}}
if(jQuery.isEmptyObject(events)){dataPriv.remove(elem,"handle events");}},dispatch:function(event){event=jQuery.event.fix(event);var i,j,ret,matched,handleObj,handlerQueue=[],args=slice.call(arguments),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return;}
handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.rnamespace||event.rnamespace.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation();}}}}}
if(special.postDispatch){special.postDispatch.call(this,event);}
return event.result;},handlers:function(event,handlers){var i,matches,sel,handleObj,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(event.type!=="click"||isNaN(event.button)||event.button<1)){for(;cur!==this;cur=cur.parentNode||this){if(cur.nodeType===1&&(cur.disabled!==true||event.type!=="click")){matches=[];for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matches[sel]===undefined){matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length;}
if(matches[sel]){matches.push(handleObj);}}
if(matches.length){handlerQueue.push({elem:cur,handlers:matches});}}}}
if(delegateCount<handlers.length){handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)});}
return handlerQueue;},props:("altKey bubbles cancelable ctrlKey currentTarget detail eventPhase "+"metaKey relatedTarget shiftKey target timeStamp view which").split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode;}
return event;}},mouseHooks:{props:("button buttons clientX clientY offsetX offsetY pageX pageY "+"screenX screenY toElement").split(" "),filter:function(event,original){var eventDoc,doc,body,button=original.button;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+
(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-
(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+
(doc&&doc.scrollTop||body&&body.scrollTop||0)-
(doc&&doc.clientTop||body&&body.clientTop||0);}
if(!event.which&&button!==undefined){event.which=(button&1?1:(button&2?3:(button&4?2:0)));}
return event;}},fix:function(event){if(event[jQuery.expando]){return event;}
var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];if(!fixHook){this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{};}
copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=new jQuery.Event(originalEvent);i=copy.length;while(i--){prop=copy[i];event[prop]=originalEvent[prop];}
if(!event.target){event.target=document;}
if(event.target.nodeType===3){event.target=event.target.parentNode;}
return fixHook.filter?fixHook.filter(event,originalEvent):event;},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){this.focus();return false;}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false;}},delegateType:"focusout"},click:{trigger:function(){if(this.type==="checkbox"&&this.click&&jQuery.nodeName(this,"input")){this.click();return false;}},_default:function(event){return jQuery.nodeName(event.target,"a");}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result;}}}}};jQuery.removeEvent=function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle);}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props);}
if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse;}else{this.type=src;}
if(props){jQuery.extend(this,props);}
this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true;};jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(e){e.preventDefault();}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(e){e.stopPropagation();}},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e){e.stopImmediatePropagation();}
this.stopPropagation();}};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||(related!==target&&!jQuery.contains(target,related))){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix;}
return ret;}};});jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn);},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1);},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this;}
if(typeof types==="object"){for(type in types){this.off(type,selector,types[type]);}
return this;}
if(selector===false||typeof selector==="function"){fn=selector;selector=undefined;}
if(fn===false){fn=returnFalse;}
return this.each(function(){jQuery.event.remove(this,types,fn,selector);});}});var
rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(content.nodeType!==11?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem;}
function disableScript(elem){elem.type=(elem.getAttribute("type")!==null)+"/"+elem.type;return elem;}
function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1];}else{elem.removeAttribute("type");}
return elem;}
function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(dest.nodeType!==1){return;}
if(dataPriv.hasData(src)){pdataOld=dataPriv.access(src);pdataCur=dataPriv.set(dest,pdataOld);events=pdataOld.events;if(events){delete pdataCur.handle;pdataCur.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i]);}}}}
if(dataUser.hasData(src)){udataOld=dataUser.access(src);udataCur=jQuery.extend({},udataOld);dataUser.set(dest,udataCur);}}
function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();if(nodeName==="input"&&rcheckableType.test(src.type)){dest.checked=src.checked;}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue;}}
function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||(l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value))){return collection.each(function(index){var self=collection.eq(index);if(isFunction){args[0]=value.call(this,index,self.html());}
domManip(self,args,callback,ignored);});}
if(l){fragment=buildFragment(args,collection[0].ownerDocument,false,collection,ignored);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first;}
if(first||ignored){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"));}}
callback.call(collection[i],node,i);}
if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){if(jQuery._evalUrl){jQuery._evalUrl(node.src);}}else{jQuery.globalEval(node.textContent.replace(rcleanScript,""));}}}}}}
return collection;}
function remove(elem,selector,keepData){var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;for(;(node=nodes[i])!=null;i++){if(!keepData&&node.nodeType===1){jQuery.cleanData(getAll(node));}
if(node.parentNode){if(keepData&&jQuery.contains(node.ownerDocument,node)){setGlobalEval(getAll(node,"script"));}
node.parentNode.removeChild(node);}}
return elem;}
jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>");},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(true),inPage=jQuery.contains(elem.ownerDocument,elem);if(!support.noCloneChecked&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0,l=srcElements.length;i<l;i++){fixInput(srcElements[i],destElements[i]);}}
if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0,l=srcElements.length;i<l;i++){cloneCopyEvent(srcElements[i],destElements[i]);}}else{cloneCopyEvent(elem,clone);}}
destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"));}
return clone;},cleanData:function(elems){var data,elem,type,special=jQuery.event.special,i=0;for(;(elem=elems[i])!==undefined;i++){if(acceptData(elem)){if((data=elem[dataPriv.expando])){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type);}else{jQuery.removeEvent(elem,type,data.handle);}}}
elem[dataPriv.expando]=undefined;}
if(elem[dataUser.expando]){elem[dataUser.expando]=undefined;}}}}});jQuery.fn.extend({domManip:domManip,detach:function(selector){return remove(this,selector,true);},remove:function(selector){return remove(this,selector);},text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().each(function(){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){this.textContent=value;}});},null,value,arguments.length);},append:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem);}});},prepend:function(){return domManip(this,arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild);}});},before:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this);}});},after:function(){return domManip(this,arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling);}});},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.textContent="";}}
return this;},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents);});},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined&&elem.nodeType===1){return elem.innerHTML;}
if(typeof value==="string"&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value;}}
elem=0;}catch(e){}}
if(elem){this.empty().append(value);}},null,value,arguments.length);},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;if(jQuery.inArray(this,ignored)<0){jQuery.cleanData(getAll(this));if(parent){parent.replaceChild(elem,this);}}},ignored);}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get());}
return this.pushStack(ret);};});var iframe,elemdisplay={HTML:"block",BODY:"block"};function actualDisplay(name,doc){var elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=jQuery.css(elem[0],"display");elem.detach();return display;}
function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];if(!display){display=actualDisplay(nodeName,doc);if(display==="none"||!display){iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement);doc=iframe[0].contentDocument;doc.write();doc.close();display=actualDisplay(nodeName,doc);iframe.detach();}
elemdisplay[nodeName]=display;}
return display;}
var rmargin=(/^margin/);var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles=function(elem){var view=elem.ownerDocument.defaultView;if(!view||!view.opener){view=window;}
return view.getComputedStyle(elem);};var swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name];}
ret=callback.apply(elem,args||[]);for(name in options){elem.style[name]=old[name];}
return ret;};var documentElement=document.documentElement;(function(){var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");if(!div.style){return;}
div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;"+"padding:0;margin-top:1px;position:absolute";container.appendChild(div);function computeStyleTests(){div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;"+"position:relative;display:block;"+"margin:auto;border:1px;padding:1px;"+"top:1%;width:50%";div.innerHTML="";documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal=divStyle.top!=="1%";reliableMarginLeftVal=divStyle.marginLeft==="2px";boxSizingReliableVal=divStyle.width==="4px";div.style.marginRight="50%";pixelMarginRightVal=divStyle.marginRight==="4px";documentElement.removeChild(container);}
jQuery.extend(support,{pixelPosition:function(){computeStyleTests();return pixelPositionVal;},boxSizingReliable:function(){if(boxSizingReliableVal==null){computeStyleTests();}
return boxSizingReliableVal;},pixelMarginRight:function(){if(boxSizingReliableVal==null){computeStyleTests();}
return pixelMarginRightVal;},reliableMarginLeft:function(){if(boxSizingReliableVal==null){computeStyleTests();}
return reliableMarginLeftVal;},reliableMarginRight:function(){var ret,marginDiv=div.appendChild(document.createElement("div"));marginDiv.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;"+"display:block;margin:0;border:0;padding:0";marginDiv.style.marginRight=marginDiv.style.width="0";div.style.width="1px";documentElement.appendChild(container);ret=!parseFloat(window.getComputedStyle(marginDiv).marginRight);documentElement.removeChild(container);div.removeChild(marginDiv);return ret;}});})();function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);ret=computed?computed.getPropertyValue(name)||computed[name]:undefined;if((ret===""||ret===undefined)&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name);}
if(computed){if(!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth;}}
return ret!==undefined?ret+"":ret;}
function addGetHookIf(conditionFn,hookFn){return{get:function(){if(conditionFn()){delete this.get;return;}
return(this.get=hookFn).apply(this,arguments);}};}
var
rdisplayswap=/^(none|table(?!-c[ea]).+)/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"],emptyStyle=document.createElement("div").style;function vendorPropName(name){if(name in emptyStyle){return name;}
var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in emptyStyle){return name;}}}
function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value;}
function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i=extra===(isBorderBox?"border":"content")?4:name==="width"?1:0,val=0;for(;i<4;i+=2){if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles);}
if(isBorderBox){if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles);}
if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles);}}}
return val;}
function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=true,val=name==="width"?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(document.msFullscreenElement&&window.top!==window){if(elem.getClientRects().length){val=Math.round(elem.getBoundingClientRect()[name]*100);}}
if(val<=0||val==null){val=curCSS(elem,name,styles);if(val<0||val==null){val=elem.style[name];}
if(rnumnonpx.test(val)){return val;}
valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);val=parseFloat(val)||0;}
return(val+
augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles))+"px";}
function showHide(elements,show){var display,elem,hidden,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue;}
values[index]=dataPriv.get(elem,"olddisplay");display=elem.style.display;if(show){if(!values[index]&&display==="none"){elem.style.display="";}
if(elem.style.display===""&&isHidden(elem)){values[index]=dataPriv.access(elem,"olddisplay",defaultDisplay(elem.nodeName));}}else{hidden=isHidden(elem);if(display!=="none"||!hidden){dataPriv.set(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"));}}}
for(index=0;index<length;index++){elem=elements[index];if(!elem.style){continue;}
if(!show||elem.style.display==="none"||elem.style.display===""){elem.style.display=show?values[index]||"":"none";}}
return elements;}
jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret;}}}},cssNumber:{"animationIterationCount":true,"columnCount":true,"fillOpacity":true,"flexGrow":true,"flexShrink":true,"fontWeight":true,"lineHeight":true,"opacity":true,"order":true,"orphans":true,"widows":true,"zIndex":true,"zoom":true},cssProps:{"float":"cssFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return;}
var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName);hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rcssNum.exec(value))&&ret[1]){value=adjustCSS(elem,name,ret);type="number";}
if(value==null||value!==value){return;}
if(type==="number"){value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px");}
if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit";}
if(!hooks||!("set" in hooks)||(value=hooks.set(elem,value,extra))!==undefined){style[name]=value;}}else{if(hooks&&"get" in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret;}
return style[name];}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName);hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get" in hooks){val=hooks.get(elem,true,extra);}
if(val===undefined){val=curCSS(elem,name,styles);}
if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name];}
if(extra===""||extra){num=parseFloat(val);return extra===true||isFinite(num)?num||0:val;}
return val;}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&elem.offsetWidth===0?swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra);}):getWidthOrHeight(elem,name,extra);}},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles);if(subtract&&(matches=rcssNum.exec(value))&&(matches[3]||"px")!=="px"){elem.style[name]=value;value=jQuery.css(elem,name);}
return setPositiveNumber(elem,value,subtract);}};});jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed){return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-
swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left;}))+"px";}});jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed){return swap(elem,{"display":"inline-block"},curCSS,[elem,"marginRight"]);}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];}
return expanded;}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber;}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles);}
return map;}
return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name);},name,value,arguments.length>1);},show:function(){return showHide(this,true);},hide:function(){return showHide(this);},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide();}
return this.each(function(){if(isHidden(this)){jQuery(this).show();}else{jQuery(this).hide();}});}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing);}
jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||jQuery.easing._default;this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px");},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this);},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration);}else{this.pos=eased=percent;}
this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this);}
if(hooks&&hooks.set){hooks.set(this);}else{Tween.propHooks._default.set(this);}
return this;}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem.nodeType!==1||tween.elem[tween.prop]!=null&&tween.elem.style[tween.prop]==null){return tween.elem[tween.prop];}
result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result;},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween);}else if(tween.elem.nodeType===1&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit);}else{tween.elem[tween.prop]=tween.now;}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now;}}};jQuery.easing={linear:function(p){return p;},swing:function(p){return 0.5-Math.cos(p*Math.PI)/2;},_default:"swing"};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var
fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;function createFxNow(){window.setTimeout(function(){fxNow=undefined;});return(fxNow=jQuery.now());}
function genFx(type,includeWidth){var which,i=0,attrs={height:type};includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type;}
if(includeWidth){attrs.opacity=attrs.width=type;}
return attrs;}
function createTween(value,prop,animation){var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if((tween=collection[index].call(animation,prop,value))){return tween;}}}
function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=dataPriv.get(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire();}};}
hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire();}});});}
if(elem.nodeType===1&&("height" in props||"width" in props)){opts.overflow=[style.overflow,style.overflowX,style.overflowY];display=jQuery.css(elem,"display");checkDisplay=display==="none"?dataPriv.get(elem,"olddisplay")||defaultDisplay(elem.nodeName):display;if(checkDisplay==="inline"&&jQuery.css(elem,"float")==="none"){style.display="inline-block";}}
if(opts.overflow){style.overflow="hidden";anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2];});}
for(prop in props){value=props[prop];if(rfxtypes.exec(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true;}else{continue;}}
orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop);}else{display=undefined;}}
if(!jQuery.isEmptyObject(orig)){if(dataShow){if("hidden" in dataShow){hidden=dataShow.hidden;}}else{dataShow=dataPriv.access(elem,"fxshow",{});}
if(toggle){dataShow.hidden=!hidden;}
if(hidden){jQuery(elem).show();}else{anim.done(function(){jQuery(elem).hide();});}
anim.done(function(){var prop;dataPriv.remove(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop]);}});for(prop in orig){tween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=tween.start;if(hidden){tween.end=tween.start;tween.start=prop==="width"||prop==="height"?1:0;}}}}else if((display==="none"?defaultDisplay(elem.nodeName):display)==="inline"){style.display=display;}}
function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(jQuery.isArray(value)){easing=value[1];value=props[index]=value[0];}
if(index!==name){props[name]=value;delete props[index];}
hooks=jQuery.cssHooks[name];if(hooks&&"expand" in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing;}}}else{specialEasing[name]=easing;}}}
function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem;}),tick=function(){if(stopped){return false;}
var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent);}
deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining;}else{deferred.resolveWith(elem,[animation]);return false;}},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween;},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this;}
stopped=true;for(;index<length;index++){animation.tweens[index].run(1);}
if(gotoEnd){deferred.notifyWith(elem,[animation,1,0]);deferred.resolveWith(elem,[animation,gotoEnd]);}else{deferred.rejectWith(elem,[animation,gotoEnd]);}
return this;}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=Animation.prefilters[index].call(animation,elem,props,animation.opts);if(result){if(jQuery.isFunction(result.stop)){jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result);}
return result;}}
jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation);}
jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always);}
jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);adjustCSS(tween.elem,prop,rcssNum.exec(value),tween);return tween;}]},tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"];}else{props=props.match(rnotwhite);}
var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];Animation.tweeners[prop]=Animation.tweeners[prop]||[];Animation.tweeners[prop].unshift(callback);}},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){if(prepend){Animation.prefilters.unshift(callback);}else{Animation.prefilters.push(callback);}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx";}
opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this);}
if(opt.queue){jQuery.dequeue(this,opt.queue);}};return opt;};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback);},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||dataPriv.get(this,"finish")){anim.stop(true);}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation);},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd);};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined;}
if(clearQueue&&type!==false){this.queue(type||"fx",[]);}
return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index]);}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index]);}}}
for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1);}}
if(dequeue||!gotoEnd){jQuery.dequeue(this,type);}});},finish:function(type){if(type!==false){type=type||"fx";}
return this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true);}
for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1);}}
for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this);}}
delete data.finish;});}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback);};});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback);};});jQuery.timers=[];jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1);}}
if(!timers.length){jQuery.fx.stop();}
fxNow=undefined;};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);if(timer()){jQuery.fx.start();}else{jQuery.timers.pop();}};jQuery.fx.interval=13;jQuery.fx.start=function(){if(!timerId){timerId=window.setInterval(jQuery.fx.tick,jQuery.fx.interval);}};jQuery.fx.stop=function(){window.clearInterval(timerId);timerId=null;};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout);};});};(function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox";support.checkOn=input.value!=="";support.optSelected=opt.selected;select.disabled=true;support.optDisabled=!opt.disabled;input=document.createElement("input");input.value="t";input.type="radio";support.radioValue=input.value==="t";})();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1);},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name);});}});jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return;}
if(typeof elem.getAttribute==="undefined"){return jQuery.prop(elem,name,value);}
if(nType!==1||!jQuery.isXMLDoc(elem)){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:undefined);}
if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name);return;}
if(hooks&&"set" in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}
elem.setAttribute(name,value+"");return value;}
if(hooks&&"get" in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}
ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret;},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val;}
return value;}}}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&elem.nodeType===1){while((name=attrNames[i++])){propName=jQuery.propFix[name]||name;if(jQuery.expr.match.bool.test(name)){elem[propName]=false;}
elem.removeAttribute(name);}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name);}else{elem.setAttribute(name,name);}
return name;}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle;if(!isXML){handle=attrHandle[name];attrHandle[name]=ret;ret=getter(elem,name,isXML)!=null?name.toLowerCase():null;attrHandle[name]=handle;}
return ret;};});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1);},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name];});}});jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(nType===3||nType===8||nType===2){return;}
if(nType!==1||!jQuery.isXMLDoc(elem)){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name];}
if(value!==undefined){if(hooks&&"set" in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret;}
return(elem[name]=value);}
if(hooks&&"get" in hooks&&(ret=hooks.get(elem,name))!==null){return ret;}
return elem[name];},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1;}}},propFix:{"for":"htmlFor","class":"className"}});if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent&&parent.parentNode){parent.parentNode.selectedIndex;}
return null;},set:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex;}}}};}
jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this;});var rclass=/[\t\r\n\f]/g;function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||"";}
jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)));});}
if(typeof value==="string"&&value){classes=value.match(rnotwhite)||[];while((elem=this[i++])){curValue=getClass(elem);cur=elem.nodeType===1&&(" "+curValue+" ").replace(rclass," ");if(cur){j=0;while((clazz=classes[j++])){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" ";}}
finalValue=jQuery.trim(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue);}}}}
return this;},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)));});}
if(!arguments.length){return this.attr("class","");}
if(typeof value==="string"&&value){classes=value.match(rnotwhite)||[];while((elem=this[i++])){curValue=getClass(elem);cur=elem.nodeType===1&&(" "+curValue+" ").replace(rclass," ");if(cur){j=0;while((clazz=classes[j++])){while(cur.indexOf(" "+clazz+" ")>-1){cur=cur.replace(" "+clazz+" "," ");}}
finalValue=jQuery.trim(cur);if(curValue!==finalValue){elem.setAttribute("class",finalValue);}}}}
return this;},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value);}
if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal);});}
return this.each(function(){var className,i,self,classNames;if(type==="string"){i=0;self=jQuery(this);classNames=value.match(rnotwhite)||[];while((className=classNames[i++])){if(self.hasClass(className)){self.removeClass(className);}else{self.addClass(className);}}}else if(value===undefined||type==="boolean"){className=getClass(this);if(className){dataPriv.set(this,"__className__",className);}
if(this.setAttribute){this.setAttribute("class",className||value===false?"":dataPriv.get(this,"__className__")||"");}}});},hasClass:function(selector){var className,elem,i=0;className=" "+selector+" ";while((elem=this[i++])){if(elem.nodeType===1&&(" "+getClass(elem)+" ").replace(rclass," ").indexOf(className)>-1){return true;}}
return false;}});var rreturn=/\r/g,rspaces=/[\x20\t\r\n\f]+/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get" in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret;}
ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret;}
return;}
isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return;}
if(isFunction){val=value.call(this,i,jQuery(this).val());}else{val=value;}
if(val==null){val="";}else if(typeof val==="number"){val+="";}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+"";});}
hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set" in hooks)||hooks.set(this,val,"value")===undefined){this.value=val;}});}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:jQuery.trim(jQuery.text(elem)).replace(rspaces," ");}},select:{get:function(elem){var value,option,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one"||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;for(;i<max;i++){option=options[i];if((option.selected||i===index)&&(support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value;}
values.push(value);}}
return values;},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1){optionSet=true;}}
if(!optionSet){elem.selectedIndex=-1;}
return values;}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value)){return(elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1);}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value;};}});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return;}
if(rfocusMorph.test(type+jQuery.event.triggered)){return;}
if(type.indexOf(".")>-1){namespaces=type.split(".");type=namespaces.shift();namespaces.sort();}
ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem;}
data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return;}
if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode;}
for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur;}
if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window);}}
i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle");if(handle){handle.apply(cur,data);}
handle=ontype&&cur[ontype];if(handle&&handle.apply&&acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault();}}}
event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&acceptData(elem)){if(ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null;}
jQuery.event.triggered=type;elem[type]();jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp;}}}}
return event.result;},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event(),event,{type:type,isSimulated:true});jQuery.event.trigger(e,null,elem);if(e.isDefaultPrevented()){event.preventDefault();}}});jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this);});},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true);}}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name);};});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver);}});support.focusin="onfocusin" in window;if(!support.focusin){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event));};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true);}
dataPriv.access(doc,fix,(attaches||0)+1);},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);dataPriv.remove(doc,fix);}else{dataPriv.access(doc,fix,attaches);}}};});}
var location=window.location;var nonce=jQuery.now();var rquery=(/\?/);jQuery.parseJSON=function(data){return JSON.parse(data+"");};jQuery.parseXML=function(data){var xml;if(!data||typeof data!=="string"){return null;}
try{xml=(new window.DOMParser()).parseFromString(data,"text/xml");}catch(e){xml=undefined;}
if(!xml||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data);}
return xml;};var
rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href;function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*";}
var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func)){while((dataType=dataTypes[i++])){if(dataType[0]==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func);}else{(structure[dataType]=structure[dataType]||[]).push(func);}}}};}
function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=(structure===transports);function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false;}else if(seekingTransport){return!(selected=dataTypeOrTransport);}});return selected;}
return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*");}
function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:(deep||(deep={})))[key]=src[key];}}
if(deep){jQuery.extend(true,target,deep);}
return target;}
function ajaxHandleResponses(s,jqXHR,responses){var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type");}}
if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break;}}}
if(dataTypes[0]in responses){finalDataType=dataTypes[0];}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break;}
if(!firstDataType){firstDataType=type;}}
finalDataType=finalDataType||firstDataType;}
if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType);}
return responses[finalDataType];}}
function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv];}}
current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response;}
if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType);}
prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev;}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2];}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1]);}
break;}}}}
if(conv!==true){if(conv&&s.throws){response=conv(response);}else{try{response=conv(response);}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current};}}}}}}
return{state:"success",data:response};}
jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target);},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;url=undefined;}
options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,fireGlobals,i,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while((match=rheaders.exec(responseHeadersString))){responseHeaders[match[1].toLowerCase()]=match[2];}}
match=responseHeaders[key.toLowerCase()];}
return match==null?null:match;},getAllResponseHeaders:function(){return state===2?responseHeadersString:null;},setRequestHeader:function(name,value){var lname=name.toLowerCase();if(!state){name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value;}
return this;},overrideMimeType:function(type){if(!state){s.mimeType=type;}
return this;},statusCode:function(map){var code;if(map){if(state<2){for(code in map){statusCode[code]=[statusCode[code],map[code]];}}else{jqXHR.always(map[jqXHR.status]);}}
return this;},abort:function(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText);}
done(0,finalText);return this;}};deferred.promise(jqXHR).complete=completeDeferred.add;jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;s.url=((url||s.url||location.href)+"").replace(rhash,"").replace(rprotocol,location.protocol+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""];if(s.crossDomain==null){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url;urlAnchor.href=urlAnchor.href;s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!==urlAnchor.protocol+"//"+urlAnchor.host;}catch(e){s.crossDomain=true;}}
if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional);}
inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return jqXHR;}
fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart");}
s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url;if(!s.hasContent){if(s.data){cacheURL=(s.url+=(rquery.test(cacheURL)?"&":"?")+s.data);delete s.data;}
if(s.cache===false){s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++;}}
if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]);}
if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL]);}}
if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType);}
jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+
(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i]);}
if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){return jqXHR.abort();}
strAbort="abort";for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i]);}
transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport");}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s]);}
if(state===2){return jqXHR;}
if(s.async&&s.timeout>0){timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout");},s.timeout);}
try{state=1;transport.send(requestHeaders,done);}catch(e){if(state<2){done(-1,e);}else{throw e;}}}
function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(state===2){return;}
state=2;if(timeoutTimer){window.clearTimeout(timeoutTimer);}
transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses);}
response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified;}
modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified;}}
if(status===204||s.type==="HEAD"){statusText="nocontent";}else if(status===304){statusText="notmodified";}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error;}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0;}}}
jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR]);}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error]);}
jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]);}
completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!(--jQuery.active)){jQuery.event.trigger("ajaxStop");}}}
return jqXHR;},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script");}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined;}
return jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url));};});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:false,global:false,"throws":true});};jQuery.fn.extend({wrapAll:function(html){var wrap;if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i));});}
if(this[0]){wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0]);}
wrap.map(function(){var elem=this;while(elem.firstElementChild){elem=elem.firstElementChild;}
return elem;}).append(this);}
return this;},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i));});}
return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html);}else{self.append(html);}});},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html);});},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes);}}).end();}});jQuery.expr.filters.hidden=function(elem){return!jQuery.expr.filters.visible(elem);};jQuery.expr.filters.visible=function(elem){return elem.offsetWidth>0||elem.offsetHeight>0||elem.getClientRects().length>0;};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v);}else{buildParams(prefix+"["+(typeof v==="object"&&v!=null?i:"")+"]",v,traditional,add);}});}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add);}}else{add(prefix,obj);}}
jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():(value==null?"":value);s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value);};if(traditional===undefined){traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional;}
if(jQuery.isArray(a)||(a.jquery&&!jQuery.isPlainObject(a))){jQuery.each(a,function(){add(this.name,this.value);});}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add);}}
return s.join("&").replace(r20,"+");};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this;}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")};}):{name:elem.name,value:val.replace(rCRLF,"\r\n")};}).get();}});jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest();}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&("withCredentials" in xhrSupported);support.ajax=xhrSupported=!!xhrSupported;jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain){return{send:function(headers,complete){var i,xhr=options.xhr();xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i];}}
if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType);}
if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest";}
for(i in headers){xhr.setRequestHeader(i,headers[i]);}
callback=function(type){return function(){if(callback){callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null;if(type==="abort"){xhr.abort();}else if(type==="error"){if(typeof xhr.status!=="number"){complete(0,"error");}else{complete(xhr.status,xhr.statusText);}}else{complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,(xhr.responseType||"text")!=="text"||typeof xhr.responseText!=="string"?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders());}}};};xhr.onload=callback();errorCallback=xhr.onerror=callback("error");if(xhr.onabort!==undefined){xhr.onabort=errorCallback;}else{xhr.onreadystatechange=function(){if(xhr.readyState===4){window.setTimeout(function(){if(callback){errorCallback();}});}};}
callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null);}catch(e){if(callback){throw e;}}},abort:function(){if(callback){callback();}}};}});jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, "+"application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){jQuery.globalEval(text);return text;}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false;}
if(s.crossDomain){s.type="GET";}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove();callback=null;if(evt){complete(evt.type==="error"?404:200,evt.type);}});document.head.appendChild(script[0]);},abort:function(){if(callback){callback();}}};}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||(jQuery.expando+"_"+(nonce++));this[callback]=true;return callback;}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&(s.contentType||"").indexOf("application/x-www-form-urlencoded")===0&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName);}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName;}
s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called");}
return responseContainer[0];};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments;};jqXHR.always(function(){if(overwritten===undefined){jQuery(window).removeProp(callbackName);}else{window[callbackName]=overwritten;}
if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName);}
if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0]);}
responseContainer=overwritten=undefined;});return"script";}});jQuery.parseHTML=function(data,context,keepScripts){if(!data||typeof data!=="string"){return null;}
if(typeof context==="boolean"){keepScripts=context;context=false;}
context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])];}
parsed=buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove();}
return jQuery.merge([],parsed.childNodes);};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments);}
var selector,type,response,self=this,off=url.indexOf(" ");if(off>-1){selector=jQuery.trim(url.slice(off));url=url.slice(0,off);}
if(jQuery.isFunction(params)){callback=params;params=undefined;}else if(params&&typeof params==="object"){type="POST";}
if(self.length>0){jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText);}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(self,response||[jqXHR.responseText,status,jqXHR]);});});}
return this;};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn);};});jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem;}).length;};function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9&&elem.defaultView;}
jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative";}
curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&(curCSSTop+curCSSLeft).indexOf("auto")>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left;}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0;}
if(jQuery.isFunction(options)){options=options.call(elem,i,jQuery.extend({},curOffset));}
if(options.top!=null){props.top=(options.top-curOffset.top)+curTop;}
if(options.left!=null){props.left=(options.left-curOffset.left)+curLeft;}
if("using" in options){options.using.call(elem,props);}else{curElem.css(props);}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i);});}
var docElem,win,elem=this[0],box={top:0,left:0},doc=elem&&elem.ownerDocument;if(!doc){return;}
docElem=doc.documentElement;if(!jQuery.contains(docElem,elem)){return box;}
box=elem.getBoundingClientRect();win=getWindow(doc);return{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft};},position:function(){if(!this[0]){return;}
var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect();}else{offsetParent=this.offsetParent();offset=this.offset();if(!jQuery.nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset();}
parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",true);}
return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)};},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent;while(offsetParent&&jQuery.css(offsetParent,"position")==="static"){offsetParent=offsetParent.offsetParent;}
return offsetParent||documentElement;});}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?win[prop]:elem[method];}
if(win){win.scrollTo(!top?val:win.pageXOffset,top?val:win.pageYOffset);}else{elem[method]=val;}},method,val,arguments.length);};});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed;}});});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem)){return elem.document.documentElement["client"+name];}
if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name]);}
return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra);},type,chainable?margin:undefined,chainable,null);};});});jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn);},unbind:function(types,fn){return this.off(types,null,fn);},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn);},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn);},size:function(){return this.length;}});jQuery.fn.andSelf=jQuery.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery;});}
var
_jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$;}
if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery;}
return jQuery;};if(!noGlobal){window.jQuery=window.$=jQuery;}
return jQuery;}));;;
if(typeof jQuery==='undefined'){throw new Error('Bootstrap\'s JavaScript requires jQuery')}
+function($){'use strict';var version=$.fn.jquery.split(' ')[0].split('.')
if((version[0]<2&&version[1]<9)||(version[0]==1&&version[1]==9&&version[2]<1)||(version[0]>2)){throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher, but lower than version 3')}}(jQuery);+function($){'use strict';function transitionEnd(){var el=document.createElement('bootstrap')
var transEndEventNames={WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'oTransitionEnd otransitionend',transition:'transitionend'}
for(var name in transEndEventNames){if(el.style[name]!==undefined){return{end:transEndEventNames[name]}}}
return false}
$.fn.emulateTransitionEnd=function(duration){var called=false
var $el=this
$(this).one('bsTransitionEnd',function(){called=true})
var callback=function(){if(!called)$($el).trigger($.support.transition.end)}
setTimeout(callback,duration)
return this}
$(function(){$.support.transition=transitionEnd()
if(!$.support.transition)return
$.event.special.bsTransitionEnd={bindType:$.support.transition.end,delegateType:$.support.transition.end,handle:function(e){if($(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}})}(jQuery);+function($){'use strict';var dismiss='[data-dismiss="alert"]'
var Alert=function(el){$(el).on('click',dismiss,this.close)}
Alert.VERSION='3.3.6'
Alert.TRANSITION_DURATION=150
Alert.prototype.close=function(e){var $this=$(this)
var selector=$this.attr('data-target')
if(!selector){selector=$this.attr('href')
selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}
var $parent=$(selector)
if(e)e.preventDefault()
if(!$parent.length){$parent=$this.closest('.alert')}
$parent.trigger(e=$.Event('close.bs.alert'))
if(e.isDefaultPrevented())return
$parent.removeClass('in')
function removeElement(){$parent.detach().trigger('closed.bs.alert').remove()}
$.support.transition&&$parent.hasClass('fade')?$parent.one('bsTransitionEnd',removeElement).emulateTransitionEnd(Alert.TRANSITION_DURATION):removeElement()}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.alert')
if(!data)$this.data('bs.alert',(data=new Alert(this)))
if(typeof option=='string')data[option].call($this)})}
var old=$.fn.alert
$.fn.alert=Plugin
$.fn.alert.Constructor=Alert
$.fn.alert.noConflict=function(){$.fn.alert=old
return this}
$(document).on('click.bs.alert.data-api',dismiss,Alert.prototype.close)}(jQuery);+function($){'use strict';var Button=function(element,options){this.$element=$(element)
this.options=$.extend({},Button.DEFAULTS,options)
this.isLoading=false}
Button.VERSION='3.3.6'
Button.DEFAULTS={loadingText:'loading...'}
Button.prototype.setState=function(state){var d='disabled'
var $el=this.$element
var val=$el.is('input')?'val':'html'
var data=$el.data()
state+='Text'
if(data.resetText==null)$el.data('resetText',$el[val]())
setTimeout($.proxy(function(){$el[val](data[state]==null?this.options[state]:data[state])
if(state=='loadingText'){this.isLoading=true
$el.addClass(d).attr(d,d)}else if(this.isLoading){this.isLoading=false
$el.removeClass(d).removeAttr(d)}},this),0)}
Button.prototype.toggle=function(){var changed=true
var $parent=this.$element.closest('[data-toggle="buttons"]')
if($parent.length){var $input=this.$element.find('input')
if($input.prop('type')=='radio'){if($input.prop('checked'))changed=false
$parent.find('.active').removeClass('active')
this.$element.addClass('active')}else if($input.prop('type')=='checkbox'){if(($input.prop('checked'))!==this.$element.hasClass('active'))changed=false
this.$element.toggleClass('active')}
$input.prop('checked',this.$element.hasClass('active'))
if(changed)$input.trigger('change')}else{this.$element.attr('aria-pressed',!this.$element.hasClass('active'))
this.$element.toggleClass('active')}}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.button')
var options=typeof option=='object'&&option
if(!data)$this.data('bs.button',(data=new Button(this,options)))
if(option=='toggle')data.toggle()
else if(option)data.setState(option)})}
var old=$.fn.button
$.fn.button=Plugin
$.fn.button.Constructor=Button
$.fn.button.noConflict=function(){$.fn.button=old
return this}
$(document).on('click.bs.button.data-api','[data-toggle^="button"]',function(e){var $btn=$(e.target)
if(!$btn.hasClass('btn'))$btn=$btn.closest('.btn')
Plugin.call($btn,'toggle')
if(!($(e.target).is('input[type="radio"]')||$(e.target).is('input[type="checkbox"]')))e.preventDefault()}).on('focus.bs.button.data-api blur.bs.button.data-api','[data-toggle^="button"]',function(e){$(e.target).closest('.btn').toggleClass('focus',/^focus(in)?$/.test(e.type))})}(jQuery);+function($){'use strict';var Carousel=function(element,options){this.$element=$(element)
this.$indicators=this.$element.find('.carousel-indicators')
this.options=options
this.paused=null
this.sliding=null
this.interval=null
this.$active=null
this.$items=null
this.options.keyboard&&this.$element.on('keydown.bs.carousel',$.proxy(this.keydown,this))
this.options.pause=='hover'&&!('ontouchstart' in document.documentElement)&&this.$element.on('mouseenter.bs.carousel',$.proxy(this.pause,this)).on('mouseleave.bs.carousel',$.proxy(this.cycle,this))}
Carousel.VERSION='3.3.6'
Carousel.TRANSITION_DURATION=600
Carousel.DEFAULTS={interval:5000,pause:'hover',wrap:true,keyboard:true}
Carousel.prototype.keydown=function(e){if(/input|textarea/i.test(e.target.tagName))return
switch(e.which){case 37:this.prev();break
case 39:this.next();break
default:return}
e.preventDefault()}
Carousel.prototype.cycle=function(e){e||(this.paused=false)
this.interval&&clearInterval(this.interval)
this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval))
return this}
Carousel.prototype.getItemIndex=function(item){this.$items=item.parent().children('.item')
return this.$items.index(item||this.$active)}
Carousel.prototype.getItemForDirection=function(direction,active){var activeIndex=this.getItemIndex(active)
var willWrap=(direction=='prev'&&activeIndex===0)||(direction=='next'&&activeIndex==(this.$items.length-1))
if(willWrap&&!this.options.wrap)return active
var delta=direction=='prev'?-1:1
var itemIndex=(activeIndex+delta)%this.$items.length
return this.$items.eq(itemIndex)}
Carousel.prototype.to=function(pos){var that=this
var activeIndex=this.getItemIndex(this.$active=this.$element.find('.item.active'))
if(pos>(this.$items.length-1)||pos<0)return
if(this.sliding)return this.$element.one('slid.bs.carousel',function(){that.to(pos)})
if(activeIndex==pos)return this.pause().cycle()
return this.slide(pos>activeIndex?'next':'prev',this.$items.eq(pos))}
Carousel.prototype.pause=function(e){e||(this.paused=true)
if(this.$element.find('.next, .prev').length&&$.support.transition){this.$element.trigger($.support.transition.end)
this.cycle(true)}
this.interval=clearInterval(this.interval)
return this}
Carousel.prototype.next=function(){if(this.sliding)return
return this.slide('next')}
Carousel.prototype.prev=function(){if(this.sliding)return
return this.slide('prev')}
Carousel.prototype.slide=function(type,next){var $active=this.$element.find('.item.active')
var $next=next||this.getItemForDirection(type,$active)
var isCycling=this.interval
var direction=type=='next'?'left':'right'
var that=this
if($next.hasClass('active'))return(this.sliding=false)
var relatedTarget=$next[0]
var slideEvent=$.Event('slide.bs.carousel',{relatedTarget:relatedTarget,direction:direction})
this.$element.trigger(slideEvent)
if(slideEvent.isDefaultPrevented())return
this.sliding=true
isCycling&&this.pause()
if(this.$indicators.length){this.$indicators.find('.active').removeClass('active')
var $nextIndicator=$(this.$indicators.children()[this.getItemIndex($next)])
$nextIndicator&&$nextIndicator.addClass('active')}
var slidEvent=$.Event('slid.bs.carousel',{relatedTarget:relatedTarget,direction:direction})
if($.support.transition&&this.$element.hasClass('slide')){$next.addClass(type)
$next[0].offsetWidth
$active.addClass(direction)
$next.addClass(direction)
$active.one('bsTransitionEnd',function(){$next.removeClass([type,direction].join(' ')).addClass('active')
$active.removeClass(['active',direction].join(' '))
that.sliding=false
setTimeout(function(){that.$element.trigger(slidEvent)},0)}).emulateTransitionEnd(Carousel.TRANSITION_DURATION)}else{$active.removeClass('active')
$next.addClass('active')
this.sliding=false
this.$element.trigger(slidEvent)}
isCycling&&this.cycle()
return this}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.carousel')
var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=='object'&&option)
var action=typeof option=='string'?option:options.slide
if(!data)$this.data('bs.carousel',(data=new Carousel(this,options)))
if(typeof option=='number')data.to(option)
else if(action)data[action]()
else if(options.interval)data.pause().cycle()})}
var old=$.fn.carousel
$.fn.carousel=Plugin
$.fn.carousel.Constructor=Carousel
$.fn.carousel.noConflict=function(){$.fn.carousel=old
return this}
var clickHandler=function(e){var href
var $this=$(this)
var $target=$($this.attr('data-target')||(href=$this.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,''))
if(!$target.hasClass('carousel'))return
var options=$.extend({},$target.data(),$this.data())
var slideIndex=$this.attr('data-slide-to')
if(slideIndex)options.interval=false
Plugin.call($target,options)
if(slideIndex){$target.data('bs.carousel').to(slideIndex)}
e.preventDefault()}
$(document).on('click.bs.carousel.data-api','[data-slide]',clickHandler).on('click.bs.carousel.data-api','[data-slide-to]',clickHandler)
$(window).on('load',function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this)
Plugin.call($carousel,$carousel.data())})})}(jQuery);+function($){'use strict';var Collapse=function(element,options){this.$element=$(element)
this.options=$.extend({},Collapse.DEFAULTS,options)
this.$trigger=$('[data-toggle="collapse"][href="#'+element.id+'"],'+'[data-toggle="collapse"][data-target="#'+element.id+'"]')
this.transitioning=null
if(this.options.parent){this.$parent=this.getParent()}else{this.addAriaAndCollapsedClass(this.$element,this.$trigger)}
if(this.options.toggle)this.toggle()}
Collapse.VERSION='3.3.6'
Collapse.TRANSITION_DURATION=350
Collapse.DEFAULTS={toggle:true}
Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass('width')
return hasWidth?'width':'height'}
Collapse.prototype.show=function(){if(this.transitioning||this.$element.hasClass('in'))return
var activesData
var actives=this.$parent&&this.$parent.children('.panel').children('.in, .collapsing')
if(actives&&actives.length){activesData=actives.data('bs.collapse')
if(activesData&&activesData.transitioning)return}
var startEvent=$.Event('show.bs.collapse')
this.$element.trigger(startEvent)
if(startEvent.isDefaultPrevented())return
if(actives&&actives.length){Plugin.call(actives,'hide')
activesData||actives.data('bs.collapse',null)}
var dimension=this.dimension()
this.$element.removeClass('collapse').addClass('collapsing')[dimension](0).attr('aria-expanded',true)
this.$trigger.removeClass('collapsed').attr('aria-expanded',true)
this.transitioning=1
var complete=function(){this.$element.removeClass('collapsing').addClass('collapse in')[dimension]('')
this.transitioning=0
this.$element.trigger('shown.bs.collapse')}
if(!$.support.transition)return complete.call(this)
var scrollSize=$.camelCase(['scroll',dimension].join('-'))
this.$element.one('bsTransitionEnd',$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])}
Collapse.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass('in'))return
var startEvent=$.Event('hide.bs.collapse')
this.$element.trigger(startEvent)
if(startEvent.isDefaultPrevented())return
var dimension=this.dimension()
this.$element[dimension](this.$element[dimension]())[0].offsetHeight
this.$element.addClass('collapsing').removeClass('collapse in').attr('aria-expanded',false)
this.$trigger.addClass('collapsed').attr('aria-expanded',false)
this.transitioning=1
var complete=function(){this.transitioning=0
this.$element.removeClass('collapsing').addClass('collapse').trigger('hidden.bs.collapse')}
if(!$.support.transition)return complete.call(this)
this.$element
[dimension](0).one('bsTransitionEnd',$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)}
Collapse.prototype.toggle=function(){this[this.$element.hasClass('in')?'hide':'show']()}
Collapse.prototype.getParent=function(){return $(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each($.proxy(function(i,element){var $element=$(element)
this.addAriaAndCollapsedClass(getTargetFromTrigger($element),$element)},this)).end()}
Collapse.prototype.addAriaAndCollapsedClass=function($element,$trigger){var isOpen=$element.hasClass('in')
$element.attr('aria-expanded',isOpen)
$trigger.toggleClass('collapsed',!isOpen).attr('aria-expanded',isOpen)}
function getTargetFromTrigger($trigger){var href
var target=$trigger.attr('data-target')||(href=$trigger.attr('href'))&&href.replace(/.*(?=#[^\s]+$)/,'')
return $(target)}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.collapse')
var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=='object'&&option)
if(!data&&options.toggle&&/show|hide/.test(option))options.toggle=false
if(!data)$this.data('bs.collapse',(data=new Collapse(this,options)))
if(typeof option=='string')data[option]()})}
var old=$.fn.collapse
$.fn.collapse=Plugin
$.fn.collapse.Constructor=Collapse
$.fn.collapse.noConflict=function(){$.fn.collapse=old
return this}
$(document).on('click.bs.collapse.data-api','[data-toggle="collapse"]',function(e){var $this=$(this)
if(!$this.attr('data-target'))e.preventDefault()
var $target=getTargetFromTrigger($this)
var data=$target.data('bs.collapse')
var option=data?'toggle':$this.data()
Plugin.call($target,option)})}(jQuery);+function($){'use strict';var backdrop='.dropdown-backdrop'
var toggle='[data-toggle="dropdown"]'
var Dropdown=function(element){$(element).on('click.bs.dropdown',this.toggle)}
Dropdown.VERSION='3.3.6'
function getParent($this){var selector=$this.attr('data-target')
if(!selector){selector=$this.attr('href')
selector=selector&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,'')}
var $parent=selector&&$(selector)
return $parent&&$parent.length?$parent:$this.parent()}
function clearMenus(e){if(e&&e.which===3)return
$(backdrop).remove()
$(toggle).each(function(){var $this=$(this)
var $parent=getParent($this)
var relatedTarget={relatedTarget:this}
if(!$parent.hasClass('open'))return
if(e&&e.type=='click'&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target))return
$parent.trigger(e=$.Event('hide.bs.dropdown',relatedTarget))
if(e.isDefaultPrevented())return
$this.attr('aria-expanded','false')
$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown',relatedTarget))})}
Dropdown.prototype.toggle=function(e){var $this=$(this)
if($this.is('.disabled, :disabled'))return
var $parent=getParent($this)
var isActive=$parent.hasClass('open')
clearMenus()
if(!isActive){if('ontouchstart' in document.documentElement&&!$parent.closest('.navbar-nav').length){$(document.createElement('div')).addClass('dropdown-backdrop').insertAfter($(this)).on('click',clearMenus)}
var relatedTarget={relatedTarget:this}
$parent.trigger(e=$.Event('show.bs.dropdown',relatedTarget))
if(e.isDefaultPrevented())return
$this.trigger('focus').attr('aria-expanded','true')
$parent.toggleClass('open').trigger($.Event('shown.bs.dropdown',relatedTarget))}
return false}
Dropdown.prototype.keydown=function(e){if(!/(38|40|27|32)/.test(e.which)||/input|textarea/i.test(e.target.tagName))return
var $this=$(this)
e.preventDefault()
e.stopPropagation()
if($this.is('.disabled, :disabled'))return
var $parent=getParent($this)
var isActive=$parent.hasClass('open')
if(!isActive&&e.which!=27||isActive&&e.which==27){if(e.which==27)$parent.find(toggle).trigger('focus')
return $this.trigger('click')}
var desc=' li:not(.disabled):visible a'
var $items=$parent.find('.dropdown-menu'+desc)
if(!$items.length)return
var index=$items.index(e.target)
if(e.which==38&&index>0)index--
if(e.which==40&&index<$items.length-1)index++
if(!~index)index=0
$items.eq(index).trigger('focus')}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.dropdown')
if(!data)$this.data('bs.dropdown',(data=new Dropdown(this)))
if(typeof option=='string')data[option].call($this)})}
var old=$.fn.dropdown
$.fn.dropdown=Plugin
$.fn.dropdown.Constructor=Dropdown
$.fn.dropdown.noConflict=function(){$.fn.dropdown=old
return this}
$(document).on('click.bs.dropdown.data-api',clearMenus).on('click.bs.dropdown.data-api','.dropdown form',function(e){e.stopPropagation()}).on('click.bs.dropdown.data-api',toggle,Dropdown.prototype.toggle).on('keydown.bs.dropdown.data-api',toggle,Dropdown.prototype.keydown).on('keydown.bs.dropdown.data-api','.dropdown-menu',Dropdown.prototype.keydown)}(jQuery);+function($){'use strict';var Modal=function(element,options){this.options=options
this.$body=$(document.body)
this.$element=$(element)
this.$dialog=this.$element.find('.modal-dialog')
this.$backdrop=null
this.isShown=null
this.originalBodyPad=null
this.scrollbarWidth=0
this.ignoreBackdropClick=false
if(this.options.remote){this.$element.find('.modal-content').load(this.options.remote,$.proxy(function(){this.$element.trigger('loaded.bs.modal')},this))}}
Modal.VERSION='3.3.6'
Modal.TRANSITION_DURATION=300
Modal.BACKDROP_TRANSITION_DURATION=150
Modal.DEFAULTS={backdrop:true,keyboard:true,show:true}
Modal.prototype.toggle=function(_relatedTarget){return this.isShown?this.hide():this.show(_relatedTarget)}
Modal.prototype.show=function(_relatedTarget){var that=this
var e=$.Event('show.bs.modal',{relatedTarget:_relatedTarget})
this.$element.trigger(e)
if(this.isShown||e.isDefaultPrevented())return
this.isShown=true
this.checkScrollbar()
this.setScrollbar()
this.$body.addClass('modal-open')
this.escape()
this.resize()
this.$element.on('click.dismiss.bs.modal','[data-dismiss="modal"]',$.proxy(this.hide,this))
this.$dialog.on('mousedown.dismiss.bs.modal',function(){that.$element.one('mouseup.dismiss.bs.modal',function(e){if($(e.target).is(that.$element))that.ignoreBackdropClick=true})})
this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass('fade')
if(!that.$element.parent().length){that.$element.appendTo(that.$body)}
that.$element.show().scrollTop(0)
that.adjustDialog()
if(transition){that.$element[0].offsetWidth}
that.$element.addClass('in')
that.enforceFocus()
var e=$.Event('shown.bs.modal',{relatedTarget:_relatedTarget})
transition?that.$dialog.one('bsTransitionEnd',function(){that.$element.trigger('focus').trigger(e)}).emulateTransitionEnd(Modal.TRANSITION_DURATION):that.$element.trigger('focus').trigger(e)})}
Modal.prototype.hide=function(e){if(e)e.preventDefault()
e=$.Event('hide.bs.modal')
this.$element.trigger(e)
if(!this.isShown||e.isDefaultPrevented())return
this.isShown=false
this.escape()
this.resize()
$(document).off('focusin.bs.modal')
this.$element.removeClass('in').off('click.dismiss.bs.modal').off('mouseup.dismiss.bs.modal')
this.$dialog.off('mousedown.dismiss.bs.modal')
$.support.transition&&this.$element.hasClass('fade')?this.$element.one('bsTransitionEnd',$.proxy(this.hideModal,this)).emulateTransitionEnd(Modal.TRANSITION_DURATION):this.hideModal()}
Modal.prototype.enforceFocus=function(){$(document).off('focusin.bs.modal').on('focusin.bs.modal',$.proxy(function(e){if(this.$element[0]!==e.target&&!this.$element.has(e.target).length){this.$element.trigger('focus')}},this))}
Modal.prototype.escape=function(){if(this.isShown&&this.options.keyboard){this.$element.on('keydown.dismiss.bs.modal',$.proxy(function(e){e.which==27&&this.hide()},this))}else if(!this.isShown){this.$element.off('keydown.dismiss.bs.modal')}}
Modal.prototype.resize=function(){if(this.isShown){$(window).on('resize.bs.modal',$.proxy(this.handleUpdate,this))}else{$(window).off('resize.bs.modal')}}
Modal.prototype.hideModal=function(){var that=this
this.$element.hide()
this.backdrop(function(){that.$body.removeClass('modal-open')
that.resetAdjustments()
that.resetScrollbar()
that.$element.trigger('hidden.bs.modal')})}
Modal.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove()
this.$backdrop=null}
Modal.prototype.backdrop=function(callback){var that=this
var animate=this.$element.hasClass('fade')?'fade':''
if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate
this.$backdrop=$(document.createElement('div')).addClass('modal-backdrop '+animate).appendTo(this.$body)
this.$element.on('click.dismiss.bs.modal',$.proxy(function(e){if(this.ignoreBackdropClick){this.ignoreBackdropClick=false
return}
if(e.target!==e.currentTarget)return
this.options.backdrop=='static'?this.$element[0].focus():this.hide()},this))
if(doAnimate)this.$backdrop[0].offsetWidth
this.$backdrop.addClass('in')
if(!callback)return
doAnimate?this.$backdrop.one('bsTransitionEnd',callback).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass('in')
var callbackRemove=function(){that.removeBackdrop()
callback&&callback()}
$.support.transition&&this.$element.hasClass('fade')?this.$backdrop.one('bsTransitionEnd',callbackRemove).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callbackRemove()}else if(callback){callback()}}
Modal.prototype.handleUpdate=function(){this.adjustDialog()}
Modal.prototype.adjustDialog=function(){var modalIsOverflowing=this.$element[0].scrollHeight>document.documentElement.clientHeight
this.$element.css({paddingLeft:!this.bodyIsOverflowing&&modalIsOverflowing?this.scrollbarWidth:'',paddingRight:this.bodyIsOverflowing&&!modalIsOverflowing?this.scrollbarWidth:''})}
Modal.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:'',paddingRight:''})}
Modal.prototype.checkScrollbar=function(){var fullWindowWidth=window.innerWidth
if(!fullWindowWidth){var documentElementRect=document.documentElement.getBoundingClientRect()
fullWindowWidth=documentElementRect.right-Math.abs(documentElementRect.left)}
this.bodyIsOverflowing=document.body.clientWidth<fullWindowWidth
this.scrollbarWidth=this.measureScrollbar()}
Modal.prototype.setScrollbar=function(){var bodyPad=parseInt((this.$body.css('padding-right')||0),10)
this.originalBodyPad=document.body.style.paddingRight||''
if(this.bodyIsOverflowing)this.$body.css('padding-right',bodyPad+this.scrollbarWidth)}
Modal.prototype.resetScrollbar=function(){this.$body.css('padding-right',this.originalBodyPad)}
Modal.prototype.measureScrollbar=function(){var scrollDiv=document.createElement('div')
scrollDiv.className='modal-scrollbar-measure'
this.$body.append(scrollDiv)
var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth
this.$body[0].removeChild(scrollDiv)
return scrollbarWidth}
function Plugin(option,_relatedTarget){return this.each(function(){var $this=$(this)
var data=$this.data('bs.modal')
var options=$.extend({},Modal.DEFAULTS,$this.data(),typeof option=='object'&&option)
if(!data)$this.data('bs.modal',(data=new Modal(this,options)))
if(typeof option=='string')data[option](_relatedTarget)
else if(options.show)data.show(_relatedTarget)})}
var old=$.fn.modal
$.fn.modal=Plugin
$.fn.modal.Constructor=Modal
$.fn.modal.noConflict=function(){$.fn.modal=old
return this}
$(document).on('click.bs.modal.data-api','[data-toggle="modal"]',function(e){var $this=$(this)
var href=$this.attr('href')
var $target=$($this.attr('data-target')||(href&&href.replace(/.*(?=#[^\s]+$)/,'')))
var option=$target.data('bs.modal')?'toggle':$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data())
if($this.is('a'))e.preventDefault()
$target.one('show.bs.modal',function(showEvent){if(showEvent.isDefaultPrevented())return
$target.one('hidden.bs.modal',function(){$this.is(':visible')&&$this.trigger('focus')})})
Plugin.call($target,option,this)})}(jQuery);+function($){'use strict';var Tooltip=function(element,options){this.type=null
this.options=null
this.enabled=null
this.timeout=null
this.hoverState=null
this.$element=null
this.inState=null
this.init('tooltip',element,options)}
Tooltip.VERSION='3.3.6'
Tooltip.TRANSITION_DURATION=150
Tooltip.DEFAULTS={animation:true,placement:'top',selector:false,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:'hover focus',title:'',delay:0,html:false,container:false,viewport:{selector:'body',padding:0}}
Tooltip.prototype.init=function(type,element,options){this.enabled=true
this.type=type
this.$element=$(element)
this.options=this.getOptions(options)
this.$viewport=this.options.viewport&&$($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):(this.options.viewport.selector||this.options.viewport))
this.inState={click:false,hover:false,focus:false}
if(this.$element[0]instanceof document.constructor&&!this.options.selector){throw new Error('`selector` option must be specified when initializing '+this.type+' on the window.document object!')}
var triggers=this.options.trigger.split(' ')
for(var i=triggers.length;i--;){var trigger=triggers[i]
if(trigger=='click'){this.$element.on('click.'+this.type,this.options.selector,$.proxy(this.toggle,this))}else if(trigger!='manual'){var eventIn=trigger=='hover'?'mouseenter':'focusin'
var eventOut=trigger=='hover'?'mouseleave':'focusout'
this.$element.on(eventIn+'.'+this.type,this.options.selector,$.proxy(this.enter,this))
this.$element.on(eventOut+'.'+this.type,this.options.selector,$.proxy(this.leave,this))}}
this.options.selector?(this._options=$.extend({},this.options,{trigger:'manual',selector:''})):this.fixTitle()}
Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS}
Tooltip.prototype.getOptions=function(options){options=$.extend({},this.getDefaults(),this.$element.data(),options)
if(options.delay&&typeof options.delay=='number'){options.delay={show:options.delay,hide:options.delay}}
return options}
Tooltip.prototype.getDelegateOptions=function(){var options={}
var defaults=this.getDefaults()
this._options&&$.each(this._options,function(key,value){if(defaults[key]!=value)options[key]=value})
return options}
Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data('bs.'+this.type)
if(!self){self=new this.constructor(obj.currentTarget,this.getDelegateOptions())
$(obj.currentTarget).data('bs.'+this.type,self)}
if(obj instanceof $.Event){self.inState[obj.type=='focusin'?'focus':'hover']=true}
if(self.tip().hasClass('in')||self.hoverState=='in'){self.hoverState='in'
return}
clearTimeout(self.timeout)
self.hoverState='in'
if(!self.options.delay||!self.options.delay.show)return self.show()
self.timeout=setTimeout(function(){if(self.hoverState=='in')self.show()},self.options.delay.show)}
Tooltip.prototype.isInStateTrue=function(){for(var key in this.inState){if(this.inState[key])return true}
return false}
Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data('bs.'+this.type)
if(!self){self=new this.constructor(obj.currentTarget,this.getDelegateOptions())
$(obj.currentTarget).data('bs.'+this.type,self)}
if(obj instanceof $.Event){self.inState[obj.type=='focusout'?'focus':'hover']=false}
if(self.isInStateTrue())return
clearTimeout(self.timeout)
self.hoverState='out'
if(!self.options.delay||!self.options.delay.hide)return self.hide()
self.timeout=setTimeout(function(){if(self.hoverState=='out')self.hide()},self.options.delay.hide)}
Tooltip.prototype.show=function(){var e=$.Event('show.bs.'+this.type)
if(this.hasContent()&&this.enabled){this.$element.trigger(e)
var inDom=$.contains(this.$element[0].ownerDocument.documentElement,this.$element[0])
if(e.isDefaultPrevented()||!inDom)return
var that=this
var $tip=this.tip()
var tipId=this.getUID(this.type)
this.setContent()
$tip.attr('id',tipId)
this.$element.attr('aria-describedby',tipId)
if(this.options.animation)$tip.addClass('fade')
var placement=typeof this.options.placement=='function'?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement
var autoToken=/\s?auto?\s?/i
var autoPlace=autoToken.test(placement)
if(autoPlace)placement=placement.replace(autoToken,'')||'top'
$tip.detach().css({top:0,left:0,display:'block'}).addClass(placement).data('bs.'+this.type,this)
this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element)
this.$element.trigger('inserted.bs.'+this.type)
var pos=this.getPosition()
var actualWidth=$tip[0].offsetWidth
var actualHeight=$tip[0].offsetHeight
if(autoPlace){var orgPlacement=placement
var viewportDim=this.getPosition(this.$viewport)
placement=placement=='bottom'&&pos.bottom+actualHeight>viewportDim.bottom?'top':placement=='top'&&pos.top-actualHeight<viewportDim.top?'bottom':placement=='right'&&pos.right+actualWidth>viewportDim.width?'left':placement=='left'&&pos.left-actualWidth<viewportDim.left?'right':placement
$tip.removeClass(orgPlacement).addClass(placement)}
var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight)
this.applyPlacement(calculatedOffset,placement)
var complete=function(){var prevHoverState=that.hoverState
that.$element.trigger('shown.bs.'+that.type)
that.hoverState=null
if(prevHoverState=='out')that.leave(that)}
$.support.transition&&this.$tip.hasClass('fade')?$tip.one('bsTransitionEnd',complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete()}}
Tooltip.prototype.applyPlacement=function(offset,placement){var $tip=this.tip()
var width=$tip[0].offsetWidth
var height=$tip[0].offsetHeight
var marginTop=parseInt($tip.css('margin-top'),10)
var marginLeft=parseInt($tip.css('margin-left'),10)
if(isNaN(marginTop))marginTop=0
if(isNaN(marginLeft))marginLeft=0
offset.top+=marginTop
offset.left+=marginLeft
$.offset.setOffset($tip[0],$.extend({using:function(props){$tip.css({top:Math.round(props.top),left:Math.round(props.left)})}},offset),0)
$tip.addClass('in')
var actualWidth=$tip[0].offsetWidth
var actualHeight=$tip[0].offsetHeight
if(placement=='top'&&actualHeight!=height){offset.top=offset.top+height-actualHeight}
var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight)
if(delta.left)offset.left+=delta.left
else offset.top+=delta.top
var isVertical=/top|bottom/.test(placement)
var arrowDelta=isVertical?delta.left*2-width+actualWidth:delta.top*2-height+actualHeight
var arrowOffsetPosition=isVertical?'offsetWidth':'offsetHeight'
$tip.offset(offset)
this.replaceArrow(arrowDelta,$tip[0][arrowOffsetPosition],isVertical)}
Tooltip.prototype.replaceArrow=function(delta,dimension,isVertical){this.arrow().css(isVertical?'left':'top',50*(1-delta/dimension)+'%').css(isVertical?'top':'left','')}
Tooltip.prototype.setContent=function(){var $tip=this.tip()
var title=this.getTitle()
$tip.find('.tooltip-inner')[this.options.html?'html':'text'](title)
$tip.removeClass('fade in top bottom left right')}
Tooltip.prototype.hide=function(callback){var that=this
var $tip=$(this.$tip)
var e=$.Event('hide.bs.'+this.type)
function complete(){if(that.hoverState!='in')$tip.detach()
that.$element.removeAttr('aria-describedby').trigger('hidden.bs.'+that.type)
callback&&callback()}
this.$element.trigger(e)
if(e.isDefaultPrevented())return
$tip.removeClass('in')
$.support.transition&&$tip.hasClass('fade')?$tip.one('bsTransitionEnd',complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete()
this.hoverState=null
return this}
Tooltip.prototype.fixTitle=function(){var $e=this.$element
if($e.attr('title')||typeof $e.attr('data-original-title')!='string'){$e.attr('data-original-title',$e.attr('title')||'').attr('title','')}}
Tooltip.prototype.hasContent=function(){return this.getTitle()}
Tooltip.prototype.getPosition=function($element){$element=$element||this.$element
var el=$element[0]
var isBody=el.tagName=='BODY'
var elRect=el.getBoundingClientRect()
if(elRect.width==null){elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top})}
var elOffset=isBody?{top:0,left:0}:$element.offset()
var scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()}
var outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null
return $.extend({},elRect,scroll,outerDims,elOffset)}
Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return placement=='bottom'?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:placement=='top'?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:placement=='left'?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}}
Tooltip.prototype.getViewportAdjustedDelta=function(placement,pos,actualWidth,actualHeight){var delta={top:0,left:0}
if(!this.$viewport)return delta
var viewportPadding=this.options.viewport&&this.options.viewport.padding||0
var viewportDimensions=this.getPosition(this.$viewport)
if(/right|left/.test(placement)){var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll
var bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight
if(topEdgeOffset<viewportDimensions.top){delta.top=viewportDimensions.top-topEdgeOffset}else if(bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height){delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset}}else{var leftEdgeOffset=pos.left-viewportPadding
var rightEdgeOffset=pos.left+viewportPadding+actualWidth
if(leftEdgeOffset<viewportDimensions.left){delta.left=viewportDimensions.left-leftEdgeOffset}else if(rightEdgeOffset>viewportDimensions.right){delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset}}
return delta}
Tooltip.prototype.getTitle=function(){var title
var $e=this.$element
var o=this.options
title=$e.attr('data-original-title')||(typeof o.title=='function'?o.title.call($e[0]):o.title)
return title}
Tooltip.prototype.getUID=function(prefix){do prefix+=~~(Math.random()*1000000)
while(document.getElementById(prefix))
return prefix}
Tooltip.prototype.tip=function(){if(!this.$tip){this.$tip=$(this.options.template)
if(this.$tip.length!=1){throw new Error(this.type+' `template` option must consist of exactly 1 top-level element!')}}
return this.$tip}
Tooltip.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find('.tooltip-arrow'))}
Tooltip.prototype.enable=function(){this.enabled=true}
Tooltip.prototype.disable=function(){this.enabled=false}
Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled}
Tooltip.prototype.toggle=function(e){var self=this
if(e){self=$(e.currentTarget).data('bs.'+this.type)
if(!self){self=new this.constructor(e.currentTarget,this.getDelegateOptions())
$(e.currentTarget).data('bs.'+this.type,self)}}
if(e){self.inState.click=!self.inState.click
if(self.isInStateTrue())self.enter(self)
else self.leave(self)}else{self.tip().hasClass('in')?self.leave(self):self.enter(self)}}
Tooltip.prototype.destroy=function(){var that=this
clearTimeout(this.timeout)
this.hide(function(){that.$element.off('.'+that.type).removeData('bs.'+that.type)
if(that.$tip){that.$tip.detach()}
that.$tip=null
that.$arrow=null
that.$viewport=null})}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.tooltip')
var options=typeof option=='object'&&option
if(!data&&/destroy|hide/.test(option))return
if(!data)$this.data('bs.tooltip',(data=new Tooltip(this,options)))
if(typeof option=='string')data[option]()})}
var old=$.fn.tooltip
$.fn.tooltip=Plugin
$.fn.tooltip.Constructor=Tooltip
$.fn.tooltip.noConflict=function(){$.fn.tooltip=old
return this}}(jQuery);+function($){'use strict';var Popover=function(element,options){this.init('popover',element,options)}
if(!$.fn.tooltip)throw new Error('Popover requires tooltip.js')
Popover.VERSION='3.3.6'
Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{placement:'right',trigger:'click',content:'',template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'})
Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype)
Popover.prototype.constructor=Popover
Popover.prototype.getDefaults=function(){return Popover.DEFAULTS}
Popover.prototype.setContent=function(){var $tip=this.tip()
var title=this.getTitle()
var content=this.getContent()
$tip.find('.popover-title')[this.options.html?'html':'text'](title)
$tip.find('.popover-content').children().detach().end()[this.options.html?(typeof content=='string'?'html':'append'):'text'](content)
$tip.removeClass('fade top bottom left right in')
if(!$tip.find('.popover-title').html())$tip.find('.popover-title').hide()}
Popover.prototype.hasContent=function(){return this.getTitle()||this.getContent()}
Popover.prototype.getContent=function(){var $e=this.$element
var o=this.options
return $e.attr('data-content')||(typeof o.content=='function'?o.content.call($e[0]):o.content)}
Popover.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find('.arrow'))}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.popover')
var options=typeof option=='object'&&option
if(!data&&/destroy|hide/.test(option))return
if(!data)$this.data('bs.popover',(data=new Popover(this,options)))
if(typeof option=='string')data[option]()})}
var old=$.fn.popover
$.fn.popover=Plugin
$.fn.popover.Constructor=Popover
$.fn.popover.noConflict=function(){$.fn.popover=old
return this}}(jQuery);+function($){'use strict';function ScrollSpy(element,options){this.$body=$(document.body)
this.$scrollElement=$(element).is(document.body)?$(window):$(element)
this.options=$.extend({},ScrollSpy.DEFAULTS,options)
this.selector=(this.options.target||'')+' .nav li > a'
this.offsets=[]
this.targets=[]
this.activeTarget=null
this.scrollHeight=0
this.$scrollElement.on('scroll.bs.scrollspy',$.proxy(this.process,this))
this.refresh()
this.process()}
ScrollSpy.VERSION='3.3.6'
ScrollSpy.DEFAULTS={offset:10}
ScrollSpy.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)}
ScrollSpy.prototype.refresh=function(){var that=this
var offsetMethod='offset'
var offsetBase=0
this.offsets=[]
this.targets=[]
this.scrollHeight=this.getScrollHeight()
if(!$.isWindow(this.$scrollElement[0])){offsetMethod='position'
offsetBase=this.$scrollElement.scrollTop()}
this.$body.find(this.selector).map(function(){var $el=$(this)
var href=$el.data('target')||$el.attr('href')
var $href=/^#./.test(href)&&$(href)
return($href&&$href.length&&$href.is(':visible')&&[[$href[offsetMethod]().top+offsetBase,href]])||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){that.offsets.push(this[0])
that.targets.push(this[1])})}
ScrollSpy.prototype.process=function(){var scrollTop=this.$scrollElement.scrollTop()+this.options.offset
var scrollHeight=this.getScrollHeight()
var maxScroll=this.options.offset+scrollHeight-this.$scrollElement.height()
var offsets=this.offsets
var targets=this.targets
var activeTarget=this.activeTarget
var i
if(this.scrollHeight!=scrollHeight){this.refresh()}
if(scrollTop>=maxScroll){return activeTarget!=(i=targets[targets.length-1])&&this.activate(i)}
if(activeTarget&&scrollTop<offsets[0]){this.activeTarget=null
return this.clear()}
for(i=offsets.length;i--;){activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(offsets[i+1]===undefined||scrollTop<offsets[i+1])&&this.activate(targets[i])}}
ScrollSpy.prototype.activate=function(target){this.activeTarget=target
this.clear()
var selector=this.selector+'[data-target="'+target+'"],'+
this.selector+'[href="'+target+'"]'
var active=$(selector).parents('li').addClass('active')
if(active.parent('.dropdown-menu').length){active=active.closest('li.dropdown').addClass('active')}
active.trigger('activate.bs.scrollspy')}
ScrollSpy.prototype.clear=function(){$(this.selector).parentsUntil(this.options.target,'.active').removeClass('active')}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.scrollspy')
var options=typeof option=='object'&&option
if(!data)$this.data('bs.scrollspy',(data=new ScrollSpy(this,options)))
if(typeof option=='string')data[option]()})}
var old=$.fn.scrollspy
$.fn.scrollspy=Plugin
$.fn.scrollspy.Constructor=ScrollSpy
$.fn.scrollspy.noConflict=function(){$.fn.scrollspy=old
return this}
$(window).on('load.bs.scrollspy.data-api',function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this)
Plugin.call($spy,$spy.data())})})}(jQuery);+function($){'use strict';var Tab=function(element){this.element=$(element)}
Tab.VERSION='3.3.6'
Tab.TRANSITION_DURATION=150
Tab.prototype.show=function(){var $this=this.element
var $ul=$this.closest('ul:not(.dropdown-menu)')
var selector=$this.data('target')
if(!selector){selector=$this.attr('href')
selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,'')}
if($this.parent('li').hasClass('active'))return
var $previous=$ul.find('.active:last a')
var hideEvent=$.Event('hide.bs.tab',{relatedTarget:$this[0]})
var showEvent=$.Event('show.bs.tab',{relatedTarget:$previous[0]})
$previous.trigger(hideEvent)
$this.trigger(showEvent)
if(showEvent.isDefaultPrevented()||hideEvent.isDefaultPrevented())return
var $target=$(selector)
this.activate($this.closest('li'),$ul)
this.activate($target,$target.parent(),function(){$previous.trigger({type:'hidden.bs.tab',relatedTarget:$this[0]})
$this.trigger({type:'shown.bs.tab',relatedTarget:$previous[0]})})}
Tab.prototype.activate=function(element,container,callback){var $active=container.find('> .active')
var transition=callback&&$.support.transition&&($active.length&&$active.hasClass('fade')||!!container.find('> .fade').length)
function next(){$active.removeClass('active').find('> .dropdown-menu > .active').removeClass('active').end().find('[data-toggle="tab"]').attr('aria-expanded',false)
element.addClass('active').find('[data-toggle="tab"]').attr('aria-expanded',true)
if(transition){element[0].offsetWidth
element.addClass('in')}else{element.removeClass('fade')}
if(element.parent('.dropdown-menu').length){element.closest('li.dropdown').addClass('active').end().find('[data-toggle="tab"]').attr('aria-expanded',true)}
callback&&callback()}
$active.length&&transition?$active.one('bsTransitionEnd',next).emulateTransitionEnd(Tab.TRANSITION_DURATION):next()
$active.removeClass('in')}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.tab')
if(!data)$this.data('bs.tab',(data=new Tab(this)))
if(typeof option=='string')data[option]()})}
var old=$.fn.tab
$.fn.tab=Plugin
$.fn.tab.Constructor=Tab
$.fn.tab.noConflict=function(){$.fn.tab=old
return this}
var clickHandler=function(e){e.preventDefault()
Plugin.call($(this),'show')}
$(document).on('click.bs.tab.data-api','[data-toggle="tab"]',clickHandler).on('click.bs.tab.data-api','[data-toggle="pill"]',clickHandler)}(jQuery);+function($){'use strict';var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options)
this.$target=$(this.options.target).on('scroll.bs.affix.data-api',$.proxy(this.checkPosition,this)).on('click.bs.affix.data-api',$.proxy(this.checkPositionWithEventLoop,this))
this.$element=$(element)
this.affixed=null
this.unpin=null
this.pinnedOffset=null
this.checkPosition()}
Affix.VERSION='3.3.6'
Affix.RESET='affix affix-top affix-bottom'
Affix.DEFAULTS={offset:0,target:window}
Affix.prototype.getState=function(scrollHeight,height,offsetTop,offsetBottom){var scrollTop=this.$target.scrollTop()
var position=this.$element.offset()
var targetHeight=this.$target.height()
if(offsetTop!=null&&this.affixed=='top')return scrollTop<offsetTop?'top':false
if(this.affixed=='bottom'){if(offsetTop!=null)return(scrollTop+this.unpin<=position.top)?false:'bottom'
return(scrollTop+targetHeight<=scrollHeight-offsetBottom)?false:'bottom'}
var initializing=this.affixed==null
var colliderTop=initializing?scrollTop:position.top
var colliderHeight=initializing?targetHeight:height
if(offsetTop!=null&&scrollTop<=offsetTop)return'top'
if(offsetBottom!=null&&(colliderTop+colliderHeight>=scrollHeight-offsetBottom))return'bottom'
return false}
Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset
this.$element.removeClass(Affix.RESET).addClass('affix')
var scrollTop=this.$target.scrollTop()
var position=this.$element.offset()
return(this.pinnedOffset=position.top-scrollTop)}
Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)}
Affix.prototype.checkPosition=function(){if(!this.$element.is(':visible'))return
var height=this.$element.height()
var offset=this.options.offset
var offsetTop=offset.top
var offsetBottom=offset.bottom
var scrollHeight=Math.max($(document).height(),$(document.body).height())
if(typeof offset!='object')offsetBottom=offsetTop=offset
if(typeof offsetTop=='function')offsetTop=offset.top(this.$element)
if(typeof offsetBottom=='function')offsetBottom=offset.bottom(this.$element)
var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom)
if(this.affixed!=affix){if(this.unpin!=null)this.$element.css('top','')
var affixType='affix'+(affix?'-'+affix:'')
var e=$.Event(affixType+'.bs.affix')
this.$element.trigger(e)
if(e.isDefaultPrevented())return
this.affixed=affix
this.unpin=affix=='bottom'?this.getPinnedOffset():null
this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace('affix','affixed')+'.bs.affix')}
if(affix=='bottom'){this.$element.offset({top:scrollHeight-height-offsetBottom})}}
function Plugin(option){return this.each(function(){var $this=$(this)
var data=$this.data('bs.affix')
var options=typeof option=='object'&&option
if(!data)$this.data('bs.affix',(data=new Affix(this,options)))
if(typeof option=='string')data[option]()})}
var old=$.fn.affix
$.fn.affix=Plugin
$.fn.affix.Constructor=Affix
$.fn.affix.noConflict=function(){$.fn.affix=old
return this}
$(window).on('load',function(){$('[data-spy="affix"]').each(function(){var $spy=$(this)
var data=$spy.data()
data.offset=data.offset||{}
if(data.offsetBottom!=null)data.offset.bottom=data.offsetBottom
if(data.offsetTop!=null)data.offset.top=data.offsetTop
Plugin.call($spy,data)})})}(jQuery);;;
;(function($){$.fn.unveil=function(threshold,callback){var $w=$(window),th=threshold||0,retina=window.devicePixelRatio>1,attrib=retina?"data-src-retina":"data-src",images=this,loaded;this.one("unveil",function(){var source=this.getAttribute(attrib);source=source||this.getAttribute("data-src");if(source){this.setAttribute("src",source);if(typeof callback==="function")callback.call(this);}});function unveil(){var inview=images.filter(function(){var $e=$(this);if($e.is(":hidden"))return;var wt=$w.scrollTop(),wb=wt+$w.height(),et=$e.offset().top,eb=et+$e.height();return eb>=wt-th&&et<=wb+th;});loaded=inview.trigger("unveil");images=images.not(loaded);}
$w.scroll(unveil);$w.resize(unveil);unveil();return this;};})(window.jQuery||window.Zepto);;;
;(function($,window,document,undefined){function Owl(element,options){this.settings=null;this.options=$.extend({},Owl.Defaults,options);this.$element=$(element);this._handlers={};this._plugins={};this._supress={};this._current=null;this._speed=null;this._coordinates=[];this._breakpoint=null;this._width=null;this._items=[];this._clones=[];this._mergers=[];this._widths=[];this._invalidated={};this._pipe=[];this._drag={time:null,target:null,pointer:null,stage:{start:null,current:null},direction:null};this._states={current:{},tags:{'initializing':['busy'],'animating':['busy'],'dragging':['interacting']}};$.each(['onResize','onThrottledResize'],$.proxy(function(i,handler){this._handlers[handler]=$.proxy(this[handler],this);},this));$.each(Owl.Plugins,$.proxy(function(key,plugin){this._plugins[key.charAt(0).toLowerCase()+key.slice(1)]=new plugin(this);},this));$.each(Owl.Workers,$.proxy(function(priority,worker){this._pipe.push({'filter':worker.filter,'run':$.proxy(worker.run,this)});},this));this.setup();this.initialize();}
Owl.Defaults={items:3,loop:false,center:false,rewind:false,checkVisibility:true,mouseDrag:true,touchDrag:true,pullDrag:true,freeDrag:false,margin:0,stagePadding:0,merge:false,mergeFit:true,autoWidth:false,startPosition:0,rtl:false,smartSpeed:250,fluidSpeed:false,dragEndSpeed:false,responsive:{},responsiveRefreshRate:200,responsiveBaseElement:window,fallbackEasing:'swing',slideTransition:'',info:false,nestedItemSelector:false,itemElement:'div',stageElement:'div',refreshClass:'owl-refresh',loadedClass:'owl-loaded',loadingClass:'owl-loading',rtlClass:'owl-rtl',responsiveClass:'owl-responsive',dragClass:'owl-drag',itemClass:'owl-item',stageClass:'owl-stage',stageOuterClass:'owl-stage-outer',grabClass:'owl-grab',excludeDraggable:[]};Owl.Width={Default:'default',Inner:'inner',Outer:'outer'};Owl.Type={Event:'event',State:'state'};Owl.Plugins={};Owl.Workers=[{filter:['width','settings'],run:function(){this._width=this.$element.width();}},{filter:['width','items','settings'],run:function(cache){cache.current=this._items&&this._items[this.relative(this._current)];}},{filter:['items','settings'],run:function(){this.$stage.children('.cloned').remove();}},{filter:['width','items','settings'],run:function(cache){var margin=this.settings.margin||'',grid=!this.settings.autoWidth,rtl=this.settings.rtl,css={'width':'auto','margin-left':rtl?margin:'','margin-right':rtl?'':margin};!grid&&this.$stage.children().css(css);cache.css=css;}},{filter:['width','items','settings'],run:function(cache){var width=(this.width()/this.settings.items).toFixed(3)-this.settings.margin,merge=null,iterator=this._items.length,grid=!this.settings.autoWidth,widths=[];cache.items={merge:false,width:width};while(iterator--){merge=this._mergers[iterator];merge=this.settings.mergeFit&&Math.min(merge,this.settings.items)||merge;cache.items.merge=merge>1||cache.items.merge;widths[iterator]=!grid?this._items[iterator].width():width*merge;}
this._widths=widths;}},{filter:['items','settings'],run:function(){var clones=[],items=this._items,settings=this.settings,view=Math.max(settings.items*2,4),size=Math.ceil(items.length/2)*2,repeat=settings.loop&&items.length?settings.rewind?view:Math.max(view,size):0,append='',prepend='';repeat/=2;while(repeat>0){clones.push(this.normalize(clones.length/2,true));append=append+items[clones[clones.length-1]][0].outerHTML;clones.push(this.normalize(items.length-1-(clones.length-1)/2,true));prepend=items[clones[clones.length-1]][0].outerHTML+prepend;repeat-=1;}
this._clones=clones;$(append).addClass('cloned').appendTo(this.$stage);$(prepend).addClass('cloned').prependTo(this.$stage);}},{filter:['width','items','settings'],run:function(){var rtl=this.settings.rtl?1:-1,size=this._clones.length+this._items.length,iterator=-1,previous=0,current=0,coordinates=[];while(++iterator<size){previous=coordinates[iterator-1]||0;current=this._widths[this.relative(iterator)]+this.settings.margin;coordinates.push(previous+current*rtl);}
this._coordinates=coordinates;}},{filter:['width','items','settings'],run:function(){var padding=this.settings.stagePadding,coordinates=this._coordinates,css={'width':Math.ceil(Math.abs(coordinates[coordinates.length-1]))+padding*2,'padding-left':padding||'','padding-right':padding||''};this.$stage.css(css);}},{filter:['width','items','settings'],run:function(cache){var iterator=this._coordinates.length,grid=!this.settings.autoWidth,items=this.$stage.children();if(grid&&cache.items.merge){while(iterator--){cache.css.width=this._widths[this.relative(iterator)];items.eq(iterator).css(cache.css);}}else if(grid){cache.css.width=cache.items.width;items.css(cache.css);}}},{filter:['items'],run:function(){this._coordinates.length<1&&this.$stage.removeAttr('style');}},{filter:['width','items','settings'],run:function(cache){cache.current=cache.current?this.$stage.children().index(cache.current):0;cache.current=Math.max(this.minimum(),Math.min(this.maximum(),cache.current));this.reset(cache.current);}},{filter:['position'],run:function(){this.animate(this.coordinates(this._current));}},{filter:['width','position','items','settings'],run:function(){var rtl=this.settings.rtl?1:-1,padding=this.settings.stagePadding*2,begin=this.coordinates(this.current())+padding,end=begin+this.width()*rtl,inner,outer,matches=[],i,n;for(i=0,n=this._coordinates.length;i<n;i++){inner=this._coordinates[i-1]||0;outer=Math.abs(this._coordinates[i])+padding*rtl;if((this.op(inner,'<=',begin)&&(this.op(inner,'>',end)))||(this.op(outer,'<',begin)&&this.op(outer,'>',end))){matches.push(i);}}
this.$stage.children('.active').removeClass('active');this.$stage.children(':eq('+matches.join('), :eq(')+')').addClass('active');this.$stage.children('.center').removeClass('center');if(this.settings.center){this.$stage.children().eq(this.current()).addClass('center');}}}];Owl.prototype.initializeStage=function(){this.$stage=this.$element.find('.'+this.settings.stageClass);if(this.$stage.length){return;}
this.$element.addClass(this.options.loadingClass);this.$stage=$('<'+this.settings.stageElement+'>',{"class":this.settings.stageClass}).wrap($('<div/>',{"class":this.settings.stageOuterClass}));this.$element.append(this.$stage.parent());};Owl.prototype.initializeItems=function(){var $items=this.$element.find('.owl-item');if($items.length){this._items=$items.get().map(function(item){return $(item);});this._mergers=this._items.map(function(){return 1;});this.refresh();return;}
this.replace(this.$element.children().not(this.$stage.parent()));if(this.isVisible()){this.refresh();}else{this.invalidate('width');}
this.$element.removeClass(this.options.loadingClass).addClass(this.options.loadedClass);};Owl.prototype.initialize=function(){this.enter('initializing');this.trigger('initialize');this.$element.toggleClass(this.settings.rtlClass,this.settings.rtl);if(this.settings.autoWidth&&!this.is('pre-loading')){var imgs,nestedSelector,width;imgs=this.$element.find('img');nestedSelector=this.settings.nestedItemSelector?'.'+this.settings.nestedItemSelector:undefined;width=this.$element.children(nestedSelector).width();if(imgs.length&&width<=0){this.preloadAutoWidthImages(imgs);}}
this.initializeStage();this.initializeItems();this.registerEventHandlers();this.leave('initializing');this.trigger('initialized');};Owl.prototype.isVisible=function(){return this.settings.checkVisibility?this.$element.is(':visible'):true;};Owl.prototype.setup=function(){var viewport=this.viewport(),overwrites=this.options.responsive,match=-1,settings=null;if(!overwrites){settings=$.extend({},this.options);}else{$.each(overwrites,function(breakpoint){if(breakpoint<=viewport&&breakpoint>match){match=Number(breakpoint);}});settings=$.extend({},this.options,overwrites[match]);if(typeof settings.stagePadding==='function'){settings.stagePadding=settings.stagePadding();}
delete settings.responsive;if(settings.responsiveClass){this.$element.attr('class',this.$element.attr('class').replace(new RegExp('('+this.options.responsiveClass+'-)\\S+\\s','g'),'$1'+match));}}
this.trigger('change',{property:{name:'settings',value:settings}});this._breakpoint=match;this.settings=settings;this.invalidate('settings');this.trigger('changed',{property:{name:'settings',value:this.settings}});};Owl.prototype.optionsLogic=function(){if(this.settings.autoWidth){this.settings.stagePadding=false;this.settings.merge=false;}};Owl.prototype.prepare=function(item){var event=this.trigger('prepare',{content:item});if(!event.data){event.data=$('<'+this.settings.itemElement+'/>').addClass(this.options.itemClass).append(item)}
this.trigger('prepared',{content:event.data});return event.data;};Owl.prototype.update=function(){var i=0,n=this._pipe.length,filter=$.proxy(function(p){return this[p]},this._invalidated),cache={};while(i<n){if(this._invalidated.all||$.grep(this._pipe[i].filter,filter).length>0){this._pipe[i].run(cache);}
i++;}
this._invalidated={};!this.is('valid')&&this.enter('valid');};Owl.prototype.width=function(dimension){dimension=dimension||Owl.Width.Default;switch(dimension){case Owl.Width.Inner:case Owl.Width.Outer:return this._width;default:return this._width-this.settings.stagePadding*2+this.settings.margin;}};Owl.prototype.refresh=function(){this.enter('refreshing');this.trigger('refresh');this.setup();this.optionsLogic();this.$element.addClass(this.options.refreshClass);this.update();this.$element.removeClass(this.options.refreshClass);this.leave('refreshing');this.trigger('refreshed');};Owl.prototype.onThrottledResize=function(){window.clearTimeout(this.resizeTimer);this.resizeTimer=window.setTimeout(this._handlers.onResize,this.settings.responsiveRefreshRate);};Owl.prototype.onResize=function(){if(!this._items.length){return false;}
if(this._width===this.$element.width()){return false;}
if(!this.isVisible()){return false;}
this.enter('resizing');if(this.trigger('resize').isDefaultPrevented()){this.leave('resizing');return false;}
this.invalidate('width');this.refresh();this.leave('resizing');this.trigger('resized');};Owl.prototype.registerEventHandlers=function(){if($.support.transition){this.$stage.on($.support.transition.end+'.owl.core',$.proxy(this.onTransitionEnd,this));}
if(this.settings.responsive!==false){this.on(window,'resize',this._handlers.onThrottledResize);}
if(this.settings.mouseDrag){this.$element.addClass(this.options.dragClass);this.$stage.on('mousedown.owl.core',$.proxy(this.onDragStart,this));this.$stage.on('dragstart.owl.core selectstart.owl.core',function(){return false});}
if(this.settings.touchDrag){this.$stage.on('touchstart.owl.core',$.proxy(this.onDragStart,this));this.$stage.on('touchcancel.owl.core',$.proxy(this.onDragEnd,this));}};Owl.prototype.onDragStart=function(event){this.$element.addClass(this.options.dragClass);this.$stage.on('dragstart.owl.core selectstart.owl.core',function(){return false});var ignoreDrag=false;var targetClassList=event.target.className.split(" ");$(this.options.excludeDraggable).each(function(i,e){ignoreDrag=ignoreDrag||targetClassList.indexOf(e)>-1;});if(ignoreDrag){this.$element.removeClass(this.options.dragClass);this.$stage.off('dragstart.owl.core selectstart.owl.core');return;}
var stage=null;if(event.which===3){return;}
if($.support.transform){stage=this.$stage.css('transform').replace(/.*\(|\)| /g,'').split(',');stage={x:stage[stage.length===16?12:4],y:stage[stage.length===16?13:5]};}else{stage=this.$stage.position();stage={x:this.settings.rtl?stage.left+this.$stage.width()-this.width()+this.settings.margin:stage.left,y:stage.top};}
if(this.is('animating')){$.support.transform?this.animate(stage.x):this.$stage.stop()
this.invalidate('position');}
this.$element.toggleClass(this.options.grabClass,event.type==='mousedown');this.speed(0);this._drag.time=new Date().getTime();this._drag.target=$(event.target);this._drag.stage.start=stage;this._drag.stage.current=stage;this._drag.pointer=this.pointer(event);$(document).on('mouseup.owl.core touchend.owl.core',$.proxy(this.onDragEnd,this));$(document).one('mousemove.owl.core touchmove.owl.core',$.proxy(function(event){var delta=this.difference(this._drag.pointer,this.pointer(event));$(document).on('mousemove.owl.core touchmove.owl.core',$.proxy(this.onDragMove,this));if(Math.abs(delta.x)<Math.abs(delta.y)&&this.is('valid')){return;}
event.preventDefault();this.enter('dragging');this.trigger('drag');},this));};Owl.prototype.onDragMove=function(event){var minimum=null,maximum=null,pull=null,delta=this.difference(this._drag.pointer,this.pointer(event)),stage=this.difference(this._drag.stage.start,delta);if(!this.is('dragging')){return;}
event.preventDefault();if(this.settings.loop){minimum=this.coordinates(this.minimum());maximum=this.coordinates(this.maximum()+1)-minimum;stage.x=(((stage.x-minimum)%maximum+maximum)%maximum)+minimum;}else{minimum=this.settings.rtl?this.coordinates(this.maximum()):this.coordinates(this.minimum());maximum=this.settings.rtl?this.coordinates(this.minimum()):this.coordinates(this.maximum());pull=this.settings.pullDrag?-1*delta.x/5:0;stage.x=Math.max(Math.min(stage.x,minimum+pull),maximum+pull);}
this._drag.stage.current=stage;this.animate(stage.x);};Owl.prototype.onDragEnd=function(event){var delta=this.difference(this._drag.pointer,this.pointer(event)),stage=this._drag.stage.current,direction=delta.x>0^this.settings.rtl?'left':'right';$(document).off('.owl.core');this.$element.removeClass(this.options.grabClass);if(delta.x!==0&&this.is('dragging')||!this.is('valid')){this.speed(this.settings.dragEndSpeed||this.settings.smartSpeed);this.current(this.closest(stage.x,delta.x!==0?direction:this._drag.direction));this.invalidate('position');this.update();this._drag.direction=direction;if(Math.abs(delta.x)>3||new Date().getTime()-this._drag.time>300){this._drag.target.one('click.owl.core',function(){return false;});}}
if(!this.is('dragging')){return;}
this.leave('dragging');this.trigger('dragged');};Owl.prototype.closest=function(coordinate,direction){var position=-1,pull=30,width=this.width(),coordinates=this.coordinates();if(!this.settings.freeDrag){$.each(coordinates,$.proxy(function(index,value){if(direction==='left'&&coordinate>value-pull&&coordinate<value+pull){position=index;}else if(direction==='right'&&coordinate>value-width-pull&&coordinate<value-width+pull){position=index+1;}else if(this.op(coordinate,'<',value)&&this.op(coordinate,'>',coordinates[index+1]!==undefined?coordinates[index+1]:value-width)){position=direction==='left'?index+1:index;}
return position===-1;},this));}
if(!this.settings.loop){if(this.op(coordinate,'>',coordinates[this.minimum()])){position=coordinate=this.minimum();}else if(this.op(coordinate,'<',coordinates[this.maximum()])){position=coordinate=this.maximum();}}
return position;};Owl.prototype.animate=function(coordinate){var animate=this.speed()>0;this.is('animating')&&this.onTransitionEnd();if(animate){this.enter('animating');this.trigger('translate');}
if($.support.transform3d&&$.support.transition){this.$stage.css({transform:'translate3d('+coordinate+'px,0px,0px)',transition:(this.speed()/1000)+'s'+(this.settings.slideTransition?' '+this.settings.slideTransition:'')});}else if(animate){this.$stage.animate({left:coordinate+'px'},this.speed(),this.settings.fallbackEasing,$.proxy(this.onTransitionEnd,this));}else{this.$stage.css({left:coordinate+'px'});}};Owl.prototype.is=function(state){return this._states.current[state]&&this._states.current[state]>0;};Owl.prototype.current=function(position){if(position===undefined){return this._current;}
if(this._items.length===0){return undefined;}
position=this.normalize(position);if(this._current!==position){var event=this.trigger('change',{property:{name:'position',value:position}});if(event.data!==undefined){position=this.normalize(event.data);}
this._current=position;this.invalidate('position');this.trigger('changed',{property:{name:'position',value:this._current}});}
return this._current;};Owl.prototype.invalidate=function(part){if($.type(part)==='string'){this._invalidated[part]=true;this.is('valid')&&this.leave('valid');}
return $.map(this._invalidated,function(v,i){return i});};Owl.prototype.reset=function(position){position=this.normalize(position);if(position===undefined){return;}
this._speed=0;this._current=position;this.suppress(['translate','translated']);this.animate(this.coordinates(position));this.release(['translate','translated']);};Owl.prototype.normalize=function(position,relative){var n=this._items.length,m=relative?0:this._clones.length;if(!this.isNumeric(position)||n<1){position=undefined;}else if(position<0||position>=n+m){position=((position-m/2)%n+n)%n+m/2;}
return position;};Owl.prototype.relative=function(position){position-=this._clones.length/2;return this.normalize(position,true);};Owl.prototype.maximum=function(relative){var settings=this.settings,maximum=this._coordinates.length,iterator,reciprocalItemsWidth,elementWidth;if(settings.loop){maximum=this._clones.length/2+this._items.length-1;}else if(settings.autoWidth||settings.merge){iterator=this._items.length;if(iterator){reciprocalItemsWidth=this._items[--iterator].width();elementWidth=this.$element.width();while(iterator--){reciprocalItemsWidth+=this._items[iterator].width()+this.settings.margin;if(reciprocalItemsWidth>elementWidth){break;}}}
maximum=iterator+1;}else if(settings.center){maximum=this._items.length-1;}else{maximum=this._items.length-settings.items;}
if(relative){maximum-=this._clones.length/2;}
return Math.max(maximum,0);};Owl.prototype.minimum=function(relative){return relative?0:this._clones.length/2;};Owl.prototype.items=function(position){if(position===undefined){return this._items.slice();}
position=this.normalize(position,true);return this._items[position];};Owl.prototype.mergers=function(position){if(position===undefined){return this._mergers.slice();}
position=this.normalize(position,true);return this._mergers[position];};Owl.prototype.clones=function(position){var odd=this._clones.length/2,even=odd+this._items.length,map=function(index){return index%2===0?even+index/2:odd-(index+1)/2};if(position===undefined){return $.map(this._clones,function(v,i){return map(i)});}
return $.map(this._clones,function(v,i){return v===position?map(i):null});};Owl.prototype.speed=function(speed){if(speed!==undefined){this._speed=speed;}
return this._speed;};Owl.prototype.coordinates=function(position){var multiplier=1,newPosition=position-1,coordinate;if(position===undefined){return $.map(this._coordinates,$.proxy(function(coordinate,index){return this.coordinates(index);},this));}
if(this.settings.center){if(this.settings.rtl){multiplier=-1;newPosition=position+1;}
coordinate=this._coordinates[position];coordinate+=(this.width()-coordinate+(this._coordinates[newPosition]||0))/2*multiplier;}else{coordinate=this._coordinates[newPosition]||0;}
coordinate=Math.ceil(coordinate);return coordinate;};Owl.prototype.duration=function(from,to,factor){if(factor===0){return 0;}
return Math.min(Math.max(Math.abs(to-from),1),6)*Math.abs((factor||this.settings.smartSpeed));};Owl.prototype.to=function(position,speed){var current=this.current(),revert=null,distance=position-this.relative(current),direction=(distance>0)-(distance<0),items=this._items.length,minimum=this.minimum(),maximum=this.maximum();if(this.settings.loop){if(!this.settings.rewind&&Math.abs(distance)>items/2){distance+=direction* -1*items;}
position=current+distance;revert=((position-minimum)%items+items)%items+minimum;if(revert!==position&&revert-distance<=maximum&&revert-distance>0){current=revert-distance;position=revert;this.reset(current);}}else if(this.settings.rewind){maximum+=1;position=(position%maximum+maximum)%maximum;}else{position=Math.max(minimum,Math.min(maximum,position));}
this.speed(this.duration(current,position,speed));this.current(position);if(this.isVisible()){this.update();}};Owl.prototype.next=function(speed){speed=speed||false;this.to(this.relative(this.current())+1,speed);};Owl.prototype.prev=function(speed){speed=speed||false;this.to(this.relative(this.current())-1,speed);};Owl.prototype.onTransitionEnd=function(event){if(event!==undefined){event.stopPropagation();if((event.target||event.srcElement||event.originalTarget)!==this.$stage.get(0)){return false;}}
this.leave('animating');this.trigger('translated');};Owl.prototype.viewport=function(){var width;if(this.options.responsiveBaseElement!==window){width=$(this.options.responsiveBaseElement).width();}else if(window.innerWidth){width=window.innerWidth;}else if(document.documentElement&&document.documentElement.clientWidth){width=document.documentElement.clientWidth;}else{console.warn('Can not detect viewport width.');}
return width;};Owl.prototype.replace=function(content){this.$stage.empty();this._items=[];if(content){content=(content instanceof jQuery)?content:$(content);}
if(this.settings.nestedItemSelector){content=content.find('.'+this.settings.nestedItemSelector);}
content.filter(function(){return this.nodeType===1;}).each($.proxy(function(index,item){item=this.prepare(item);this.$stage.append(item);this._items.push(item);this._mergers.push(item.find('[data-merge]').addBack('[data-merge]').attr('data-merge')*1||1);},this));this.reset(this.isNumeric(this.settings.startPosition)?this.settings.startPosition:0);this.invalidate('items');};Owl.prototype.add=function(content,position){var current=this.relative(this._current);position=position===undefined?this._items.length:this.normalize(position,true);content=content instanceof jQuery?content:$(content);this.trigger('add',{content:content,position:position});content=this.prepare(content);if(this._items.length===0||position===this._items.length){this._items.length===0&&this.$stage.append(content);this._items.length!==0&&this._items[position-1].after(content);this._items.push(content);this._mergers.push(content.find('[data-merge]').addBack('[data-merge]').attr('data-merge')*1||1);}else{this._items[position].before(content);this._items.splice(position,0,content);this._mergers.splice(position,0,content.find('[data-merge]').addBack('[data-merge]').attr('data-merge')*1||1);}
this._items[current]&&this.reset(this._items[current].index());this.invalidate('items');this.trigger('added',{content:content,position:position});};Owl.prototype.remove=function(position){position=this.normalize(position,true);if(position===undefined){return;}
this.trigger('remove',{content:this._items[position],position:position});this._items[position].remove();this._items.splice(position,1);this._mergers.splice(position,1);this.invalidate('items');this.trigger('removed',{content:null,position:position});};Owl.prototype.preloadAutoWidthImages=function(images){images.each($.proxy(function(i,element){this.enter('pre-loading');element=$(element);$(new Image()).one('load',$.proxy(function(e){element.attr('src',e.target.src);element.css('opacity',1);this.leave('pre-loading');!this.is('pre-loading')&&!this.is('initializing')&&this.refresh();},this)).attr('src',element.attr('src')||element.attr('data-src')||element.attr('data-src-retina'));},this));};Owl.prototype.destroy=function(){this.$element.off('.owl.core');this.$stage.off('.owl.core');$(document).off('.owl.core');if(this.settings.responsive!==false){window.clearTimeout(this.resizeTimer);this.off(window,'resize',this._handlers.onThrottledResize);}
for(var i in this._plugins){this._plugins[i].destroy();}
this.$stage.children('.cloned').remove();this.$stage.unwrap();this.$stage.children().contents().unwrap();this.$stage.children().unwrap();this.$stage.remove();this.$element.removeClass(this.options.refreshClass).removeClass(this.options.loadingClass).removeClass(this.options.loadedClass).removeClass(this.options.rtlClass).removeClass(this.options.dragClass).removeClass(this.options.grabClass).attr('class',this.$element.attr('class').replace(new RegExp(this.options.responsiveClass+'-\\S+\\s','g'),'')).removeData('owl.carousel');};Owl.prototype.op=function(a,o,b){var rtl=this.settings.rtl;switch(o){case'<':return rtl?a>b:a<b;case'>':return rtl?a<b:a>b;case'>=':return rtl?a<=b:a>=b;case'<=':return rtl?a>=b:a<=b;default:break;}};Owl.prototype.on=function(element,event,listener,capture){if(element.addEventListener){element.addEventListener(event,listener,capture);}else if(element.attachEvent){element.attachEvent('on'+event,listener);}};Owl.prototype.off=function(element,event,listener,capture){if(element.removeEventListener){element.removeEventListener(event,listener,capture);}else if(element.detachEvent){element.detachEvent('on'+event,listener);}};Owl.prototype.trigger=function(name,data,namespace,state,enter){var status={item:{count:this._items.length,index:this.current()}},handler=$.camelCase($.grep(['on',name,namespace],function(v){return v}).join('-').toLowerCase()),event=$.Event([name,'owl',namespace||'carousel'].join('.').toLowerCase(),$.extend({relatedTarget:this},status,data));if(!this._supress[name]){$.each(this._plugins,function(name,plugin){if(plugin.onTrigger){plugin.onTrigger(event);}});this.register({type:Owl.Type.Event,name:name});this.$element.trigger(event);if(this.settings&&typeof this.settings[handler]==='function'){this.settings[handler].call(this,event);}}
return event;};Owl.prototype.enter=function(name){$.each([name].concat(this._states.tags[name]||[]),$.proxy(function(i,name){if(this._states.current[name]===undefined){this._states.current[name]=0;}
this._states.current[name]++;},this));};Owl.prototype.leave=function(name){$.each([name].concat(this._states.tags[name]||[]),$.proxy(function(i,name){this._states.current[name]--;},this));};Owl.prototype.register=function(object){if(object.type===Owl.Type.Event){if(!$.event.special[object.name]){$.event.special[object.name]={};}
if(!$.event.special[object.name].owl){var _default=$.event.special[object.name]._default;$.event.special[object.name]._default=function(e){if(_default&&_default.apply&&(!e.namespace||e.namespace.indexOf('owl')===-1)){return _default.apply(this,arguments);}
return e.namespace&&e.namespace.indexOf('owl')>-1;};$.event.special[object.name].owl=true;}}else if(object.type===Owl.Type.State){if(!this._states.tags[object.name]){this._states.tags[object.name]=object.tags;}else{this._states.tags[object.name]=this._states.tags[object.name].concat(object.tags);}
this._states.tags[object.name]=$.grep(this._states.tags[object.name],$.proxy(function(tag,i){return $.inArray(tag,this._states.tags[object.name])===i;},this));}};Owl.prototype.suppress=function(events){$.each(events,$.proxy(function(index,event){this._supress[event]=true;},this));};Owl.prototype.release=function(events){$.each(events,$.proxy(function(index,event){delete this._supress[event];},this));};Owl.prototype.pointer=function(event){var result={x:null,y:null};event=event.originalEvent||event||window.event;event=event.touches&&event.touches.length?event.touches[0]:event.changedTouches&&event.changedTouches.length?event.changedTouches[0]:event;if(event.pageX){result.x=event.pageX;result.y=event.pageY;}else{result.x=event.clientX;result.y=event.clientY;}
return result;};Owl.prototype.isNumeric=function(number){return!isNaN(parseFloat(number));};Owl.prototype.difference=function(first,second){return{x:first.x-second.x,y:first.y-second.y};};$.fn.owlCarousel=function(option){var args=Array.prototype.slice.call(arguments,1);return this.each(function(){var $this=$(this),data=$this.data('owl.carousel');if(!data){data=new Owl(this,typeof option=='object'&&option);$this.data('owl.carousel',data);$.each(['next','prev','to','destroy','refresh','replace','add','remove'],function(i,event){data.register({type:Owl.Type.Event,name:event});data.$element.on(event+'.owl.carousel.core',$.proxy(function(e){if(e.namespace&&e.relatedTarget!==this){this.suppress([event]);data[event].apply(this,[].slice.call(arguments,1));this.release([event]);}},data));});}
if(typeof option=='string'&&option.charAt(0)!=='_'){data[option].apply(data,args);}});};$.fn.owlCarousel.Constructor=Owl;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var AutoRefresh=function(carousel){this._core=carousel;this._interval=null;this._visible=null;this._handlers={'initialized.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.autoRefresh){this.watch();}},this)};this._core.options=$.extend({},AutoRefresh.Defaults,this._core.options);this._core.$element.on(this._handlers);};AutoRefresh.Defaults={autoRefresh:true,autoRefreshInterval:500};AutoRefresh.prototype.watch=function(){if(this._interval){return;}
this._visible=this._core.isVisible();this._interval=window.setInterval($.proxy(this.refresh,this),this._core.settings.autoRefreshInterval);};AutoRefresh.prototype.refresh=function(){if(this._core.isVisible()===this._visible){return;}
this._visible=!this._visible;this._core.$element.toggleClass('owl-hidden',!this._visible);this._visible&&(this._core.invalidate('width')&&this._core.refresh());};AutoRefresh.prototype.destroy=function(){var handler,property;window.clearInterval(this._interval);for(handler in this._handlers){this._core.$element.off(handler,this._handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.AutoRefresh=AutoRefresh;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var Lazy=function(carousel){this._core=carousel;this._loaded=[];this._handlers={'initialized.owl.carousel change.owl.carousel resized.owl.carousel':$.proxy(function(e){if(!e.namespace){return;}
if(!this._core.settings||!this._core.settings.lazyLoad){return;}
if((e.property&&e.property.name=='position')||e.type=='initialized'){var settings=this._core.settings,n=(settings.center&&Math.ceil(settings.items/2)||settings.items),i=((settings.center&&n* -1)||0),position=(e.property&&e.property.value!==undefined?e.property.value:this._core.current())+i,clones=this._core.clones().length,load=$.proxy(function(i,v){this.load(v)},this);if(settings.lazyLoadEager>0){n+=settings.lazyLoadEager;if(settings.loop){position-=settings.lazyLoadEager;n++;}}
while(i++<n){this.load(clones/2+this._core.relative(position));clones&&$.each(this._core.clones(this._core.relative(position)),load);position++;}}},this)};this._core.options=$.extend({},Lazy.Defaults,this._core.options);this._core.$element.on(this._handlers);};Lazy.Defaults={lazyLoad:false,lazyLoadEager:0};Lazy.prototype.load=function(position){var $item=this._core.$stage.children().eq(position),$elements=$item&&$item.find('.owl-lazy');if(!$elements||$.inArray($item.get(0),this._loaded)>-1){return;}
$elements.each($.proxy(function(index,element){var $element=$(element),image,url=(window.devicePixelRatio>1&&$element.attr('data-src-retina'))||$element.attr('data-src')||$element.attr('data-srcset');this._core.trigger('load',{element:$element,url:url},'lazy');if($element.is('img')){$element.one('load.owl.lazy',$.proxy(function(){$element.css('opacity',1);this._core.trigger('loaded',{element:$element,url:url},'lazy');},this)).attr('src',url);}else if($element.is('source')){$element.one('load.owl.lazy',$.proxy(function(){this._core.trigger('loaded',{element:$element,url:url},'lazy');},this)).attr('srcset',url);}else{image=new Image();image.onload=$.proxy(function(){$element.css({'background-image':'url("'+url+'")','opacity':'1'});this._core.trigger('loaded',{element:$element,url:url},'lazy');},this);image.src=url;}},this));this._loaded.push($item.get(0));};Lazy.prototype.destroy=function(){var handler,property;for(handler in this.handlers){this._core.$element.off(handler,this.handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.Lazy=Lazy;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var AutoHeight=function(carousel){this._core=carousel;this._previousHeight=null;this._handlers={'initialized.owl.carousel refreshed.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.autoHeight){this.update();}},this),'changed.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.autoHeight&&e.property.name==='position'){this.update();}},this),'loaded.owl.lazy':$.proxy(function(e){if(e.namespace&&this._core.settings.autoHeight&&e.element.closest('.'+this._core.settings.itemClass).index()===this._core.current()){this.update();}},this)};this._core.options=$.extend({},AutoHeight.Defaults,this._core.options);this._core.$element.on(this._handlers);this._intervalId=null;var refThis=this;$(window).on('load',function(){if(refThis._core.settings.autoHeight){refThis.update();}});$(window).resize(function(){if(refThis._core.settings.autoHeight){if(refThis._intervalId!=null){clearTimeout(refThis._intervalId);}
refThis._intervalId=setTimeout(function(){refThis.update();},250);}});};AutoHeight.Defaults={autoHeight:false,autoHeightClass:'owl-height'};AutoHeight.prototype.update=function(){var start=this._core._current,end=start+this._core.settings.items,lazyLoadEnabled=this._core.settings.lazyLoad,visible=this._core.$stage.children().toArray().slice(start,end),heights=[],maxheight=0;$.each(visible,function(index,item){heights.push($(item).height());});maxheight=Math.max.apply(null,heights);if(maxheight<=1&&lazyLoadEnabled&&this._previousHeight){maxheight=this._previousHeight;}
this._previousHeight=maxheight;this._core.$stage.parent().height(maxheight).addClass(this._core.settings.autoHeightClass);};AutoHeight.prototype.destroy=function(){var handler,property;for(handler in this._handlers){this._core.$element.off(handler,this._handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!=='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.AutoHeight=AutoHeight;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var Video=function(carousel){this._core=carousel;this._videos={};this._playing=null;this._handlers={'initialized.owl.carousel':$.proxy(function(e){if(e.namespace){this._core.register({type:'state',name:'playing',tags:['interacting']});}},this),'resize.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.video&&this.isInFullScreen()){e.preventDefault();}},this),'refreshed.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.is('resizing')){this._core.$stage.find('.cloned .owl-video-frame').remove();}},this),'changed.owl.carousel':$.proxy(function(e){if(e.namespace&&e.property.name==='position'&&this._playing){this.stop();}},this),'prepared.owl.carousel':$.proxy(function(e){if(!e.namespace){return;}
var $element=$(e.content).find('.owl-video');if($element.length){$element.css('display','none');this.fetch($element,$(e.content));}},this)};this._core.options=$.extend({},Video.Defaults,this._core.options);this._core.$element.on(this._handlers);this._core.$element.on('click.owl.video','.owl-video-play-icon',$.proxy(function(e){this.play(e);},this));};Video.Defaults={video:false,videoHeight:false,videoWidth:false};Video.prototype.fetch=function(target,item){var type=(function(){if(target.attr('data-vimeo-id')){return'vimeo';}else if(target.attr('data-vzaar-id')){return'vzaar'}else{return'youtube';}})(),id=target.attr('data-vimeo-id')||target.attr('data-youtube-id')||target.attr('data-vzaar-id'),width=target.attr('data-width')||this._core.settings.videoWidth,height=target.attr('data-height')||this._core.settings.videoHeight,url=target.attr('href');if(url){id=url.match(/(http:|https:|)\/\/(player.|www.|app.)?(vimeo\.com|youtu(be\.com|\.be|be\.googleapis\.com|be\-nocookie\.com)|vzaar\.com)\/(video\/|videos\/|embed\/|channels\/.+\/|groups\/.+\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/);if(id[3].indexOf('youtu')>-1){type='youtube';}else if(id[3].indexOf('vimeo')>-1){type='vimeo';}else if(id[3].indexOf('vzaar')>-1){type='vzaar';}else{throw new Error('Video URL not supported.');}
id=id[6];}else{throw new Error('Missing video URL.');}
this._videos[url]={type:type,id:id,width:width,height:height};item.attr('data-video',url);this.thumbnail(target,this._videos[url]);};Video.prototype.thumbnail=function(target,video){var tnLink,icon,path,dimensions=video.width&&video.height?'width:'+video.width+'px;height:'+video.height+'px;':'',customTn=target.find('img'),srcType='src',lazyClass='',settings=this._core.settings,create=function(path){icon='<div class="owl-video-play-icon"></div>';if(settings.lazyLoad){tnLink=$('<div/>',{"class":'owl-video-tn '+lazyClass,"srcType":path});}else{tnLink=$('<div/>',{"class":"owl-video-tn","style":'opacity:1;background-image:url('+path+')'});}
target.after(tnLink);target.after(icon);};target.wrap($('<div/>',{"class":"owl-video-wrapper","style":dimensions}));if(this._core.settings.lazyLoad){srcType='data-src';lazyClass='owl-lazy';}
if(customTn.length){create(customTn.attr(srcType));customTn.remove();return false;}
if(video.type==='youtube'){path="//img.youtube.com/vi/"+video.id+"/hqdefault.jpg";create(path);}else if(video.type==='vimeo'){$.ajax({type:'GET',url:'//vimeo.com/api/v2/video/'+video.id+'.json',jsonp:'callback',dataType:'jsonp',success:function(data){path=data[0].thumbnail_large;create(path);}});}else if(video.type==='vzaar'){$.ajax({type:'GET',url:'//vzaar.com/api/videos/'+video.id+'.json',jsonp:'callback',dataType:'jsonp',success:function(data){path=data.framegrab_url;create(path);}});}};Video.prototype.stop=function(){this._core.trigger('stop',null,'video');this._playing.find('.owl-video-frame').remove();this._playing.removeClass('owl-video-playing');this._playing=null;this._core.leave('playing');this._core.trigger('stopped',null,'video');};Video.prototype.play=function(event){var target=$(event.target),item=target.closest('.'+this._core.settings.itemClass),video=this._videos[item.attr('data-video')],width=video.width||'100%',height=video.height||this._core.$stage.height(),html,iframe;if(this._playing){return;}
this._core.enter('playing');this._core.trigger('play',null,'video');item=this._core.items(this._core.relative(item.index()));this._core.reset(item.index());html=$('<iframe frameborder="0" allowfullscreen mozallowfullscreen webkitAllowFullScreen ></iframe>');html.attr('height',height);html.attr('width',width);if(video.type==='youtube'){html.attr('src','//www.youtube.com/embed/'+video.id+'?autoplay=1&rel=0&v='+video.id);}else if(video.type==='vimeo'){html.attr('src','//player.vimeo.com/video/'+video.id+'?autoplay=1');}else if(video.type==='vzaar'){html.attr('src','//view.vzaar.com/'+video.id+'/player?autoplay=true');}
iframe=$(html).wrap('<div class="owl-video-frame" />').insertAfter(item.find('.owl-video'));this._playing=item.addClass('owl-video-playing');};Video.prototype.isInFullScreen=function(){var element=document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement;return element&&$(element).parent().hasClass('owl-video-frame');};Video.prototype.destroy=function(){var handler,property;this._core.$element.off('click.owl.video');for(handler in this._handlers){this._core.$element.off(handler,this._handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.Video=Video;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var Animate=function(scope){this.core=scope;this.core.options=$.extend({},Animate.Defaults,this.core.options);this.swapping=true;this.previous=undefined;this.next=undefined;this.handlers={'change.owl.carousel':$.proxy(function(e){if(e.namespace&&e.property.name=='position'){this.previous=this.core.current();this.next=e.property.value;}},this),'drag.owl.carousel dragged.owl.carousel translated.owl.carousel':$.proxy(function(e){if(e.namespace){this.swapping=e.type=='translated';}},this),'translate.owl.carousel':$.proxy(function(e){if(e.namespace&&this.swapping&&(this.core.options.animateOut||this.core.options.animateIn)){this.swap();}},this)};this.core.$element.on(this.handlers);};Animate.Defaults={animateOut:false,animateIn:false};Animate.prototype.swap=function(){if(this.core.settings.items!==1){return;}
if(!$.support.animation||!$.support.transition){return;}
this.core.speed(0);var left,clear=$.proxy(this.clear,this),previous=this.core.$stage.children().eq(this.previous),next=this.core.$stage.children().eq(this.next),incoming=this.core.settings.animateIn,outgoing=this.core.settings.animateOut;if(this.core.current()===this.previous){return;}
if(outgoing){left=this.core.coordinates(this.previous)-this.core.coordinates(this.next);previous.one($.support.animation.end,clear).css({'left':left+'px'}).addClass('animated owl-animated-out').addClass(outgoing);}
if(incoming){next.one($.support.animation.end,clear).addClass('animated owl-animated-in').addClass(incoming);}};Animate.prototype.clear=function(e){$(e.target).css({'left':''}).removeClass('animated owl-animated-out owl-animated-in').removeClass(this.core.settings.animateIn).removeClass(this.core.settings.animateOut);this.core.onTransitionEnd();};Animate.prototype.destroy=function(){var handler,property;for(handler in this.handlers){this.core.$element.off(handler,this.handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.Animate=Animate;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var Autoplay=function(carousel){this._core=carousel;this._call=null;this._time=0;this._timeout=0;this._paused=true;this._handlers={'changed.owl.carousel':$.proxy(function(e){if(e.namespace&&e.property.name==='settings'){if(this._core.settings.autoplay){this.play();}else{this.stop();}}else if(e.namespace&&e.property.name==='position'&&this._paused){this._time=0;}},this),'initialized.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.autoplay){this.play();}},this),'play.owl.autoplay':$.proxy(function(e,t,s){if(e.namespace){this.play(t,s);}},this),'stop.owl.autoplay':$.proxy(function(e){if(e.namespace){this.stop();}},this),'mouseover.owl.autoplay':$.proxy(function(){if(this._core.settings.autoplayHoverPause&&this._core.is('rotating')){this.pause();}},this),'mouseleave.owl.autoplay':$.proxy(function(){if(this._core.settings.autoplayHoverPause&&this._core.is('rotating')){this.play();}},this),'touchstart.owl.core':$.proxy(function(){if(this._core.settings.autoplayHoverPause&&this._core.is('rotating')){this.pause();}},this),'touchend.owl.core':$.proxy(function(){if(this._core.settings.autoplayHoverPause){this.play();}},this)};this._core.$element.on(this._handlers);this._core.options=$.extend({},Autoplay.Defaults,this._core.options);};Autoplay.Defaults={autoplay:false,autoplayTimeout:5000,autoplayHoverPause:false,autoplaySpeed:false};Autoplay.prototype._next=function(speed){this._call=window.setTimeout($.proxy(this._next,this,speed),this._timeout*(Math.round(this.read()/this._timeout)+1)-this.read());if(this._core.is('interacting')||document.hidden){return;}
this._core.next(speed||this._core.settings.autoplaySpeed);}
Autoplay.prototype.read=function(){return new Date().getTime()-this._time;};Autoplay.prototype.play=function(timeout,speed){var elapsed;if(!this._core.is('rotating')){this._core.enter('rotating');}
timeout=timeout||this._core.settings.autoplayTimeout;elapsed=Math.min(this._time%(this._timeout||timeout),timeout);if(this._paused){this._time=this.read();this._paused=false;}else{window.clearTimeout(this._call);}
this._time+=this.read()%timeout-elapsed;this._timeout=timeout;this._call=window.setTimeout($.proxy(this._next,this,speed),timeout-elapsed);};Autoplay.prototype.stop=function(){if(this._core.is('rotating')){this._time=0;this._paused=true;window.clearTimeout(this._call);this._core.leave('rotating');}};Autoplay.prototype.pause=function(){if(this._core.is('rotating')&&!this._paused){this._time=this.read();this._paused=true;window.clearTimeout(this._call);}};Autoplay.prototype.destroy=function(){var handler,property;this.stop();for(handler in this._handlers){this._core.$element.off(handler,this._handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.autoplay=Autoplay;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){'use strict';var Navigation=function(carousel){this._core=carousel;this._initialized=false;this._pages=[];this._controls={};this._templates=[];this.$element=this._core.$element;this._overrides={next:this._core.next,prev:this._core.prev,to:this._core.to};this._handlers={'prepared.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.dotsData){this._templates.push('<div class="'+this._core.settings.dotClass+'">'+
$(e.content).find('[data-dot]').addBack('[data-dot]').attr('data-dot')+'</div>');}},this),'added.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.dotsData){this._templates.splice(e.position,0,this._templates.pop());}},this),'remove.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.dotsData){this._templates.splice(e.position,1);}},this),'changed.owl.carousel':$.proxy(function(e){if(e.namespace&&e.property.name=='position'){this.draw();}},this),'initialized.owl.carousel':$.proxy(function(e){if(e.namespace&&!this._initialized){this._core.trigger('initialize',null,'navigation');this.initialize();this.update();this.draw();this._initialized=true;this._core.trigger('initialized',null,'navigation');}},this),'refreshed.owl.carousel':$.proxy(function(e){if(e.namespace&&this._initialized){this._core.trigger('refresh',null,'navigation');this.update();this.draw();this._core.trigger('refreshed',null,'navigation');}},this)};this._core.options=$.extend({},Navigation.Defaults,this._core.options);this.$element.on(this._handlers);};Navigation.Defaults={nav:false,navText:['<span aria-label="'+'Previous'+'">&#x2039;</span>','<span aria-label="'+'Next'+'">&#x203a;</span>'],navSpeed:false,navElement:'button type="button" role="presentation"',navContainer:false,navContainerClass:'owl-nav',navClass:['owl-prev','owl-next'],slideBy:1,dotClass:'owl-dot',dotsClass:'owl-dots',dots:true,dotsEach:false,dotsData:false,dotsSpeed:false,dotsContainer:false};Navigation.prototype.initialize=function(){var override,settings=this._core.settings;this._controls.$relative=(settings.navContainer?$(settings.navContainer):$('<div>').addClass(settings.navContainerClass).appendTo(this.$element)).addClass('disabled');this._controls.$previous=$('<'+settings.navElement+'>').addClass(settings.navClass[0]).html(settings.navText[0]).prependTo(this._controls.$relative).on('click',$.proxy(function(e){this.prev(settings.navSpeed);},this));this._controls.$next=$('<'+settings.navElement+'>').addClass(settings.navClass[1]).html(settings.navText[1]).appendTo(this._controls.$relative).on('click',$.proxy(function(e){this.next(settings.navSpeed);},this));if(!settings.dotsData){this._templates=[$('<button role="button">').addClass(settings.dotClass).append($('<span>')).prop('outerHTML')];}
this._controls.$absolute=(settings.dotsContainer?$(settings.dotsContainer):$('<div>').addClass(settings.dotsClass).appendTo(this.$element)).addClass('disabled');this._controls.$absolute.on('click','button',$.proxy(function(e){var index=$(e.target).parent().is(this._controls.$absolute)?$(e.target).index():$(e.target).parent().index();e.preventDefault();this.to(index,settings.dotsSpeed);},this));for(override in this._overrides){this._core[override]=$.proxy(this[override],this);}};Navigation.prototype.destroy=function(){var handler,control,property,override,settings;settings=this._core.settings;for(handler in this._handlers){this.$element.off(handler,this._handlers[handler]);}
for(control in this._controls){if(control==='$relative'&&settings.navContainer){this._controls[control].html('');}else{this._controls[control].remove();}}
for(override in this.overides){this._core[override]=this._overrides[override];}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};Navigation.prototype.update=function(){var i,j,k,lower=this._core.clones().length/2,upper=lower+this._core.items().length,maximum=this._core.maximum(true),settings=this._core.settings,size=settings.center||settings.autoWidth||settings.dotsData?1:settings.dotsEach||settings.items;if(settings.slideBy!=='page'){settings.slideBy=Math.min(settings.slideBy,settings.items);}
if(settings.dots||settings.slideBy=='page'){this._pages=[];for(i=lower,j=0,k=0;i<upper;i++){if(j>=size||j===0){this._pages.push({start:Math.min(maximum,i-lower),end:i-lower+size-1});if(Math.min(maximum,i-lower)===maximum){break;}
j=0,++k;}
j+=this._core.mergers(this._core.relative(i));}}};Navigation.prototype.draw=function(){var difference,settings=this._core.settings,disabled=this._core.items().length<=settings.items,index=this._core.relative(this._core.current()),loop=settings.loop||settings.rewind;this._controls.$relative.toggleClass('disabled',!settings.nav||disabled);if(settings.nav){this._controls.$previous.toggleClass('disabled',!loop&&index<=this._core.minimum(true));this._controls.$next.toggleClass('disabled',!loop&&index>=this._core.maximum(true));}
this._controls.$absolute.toggleClass('disabled',!settings.dots||disabled);if(settings.dots){difference=this._pages.length-this._controls.$absolute.children().length;if(settings.dotsData&&difference!==0){this._controls.$absolute.html(this._templates.join(''));}else if(difference>0){this._controls.$absolute.append(new Array(difference+1).join(this._templates[0]));}else if(difference<0){this._controls.$absolute.children().slice(difference).remove();}
this._controls.$absolute.find('.active').removeClass('active');this._controls.$absolute.children().eq($.inArray(this.current(),this._pages)).addClass('active');}};Navigation.prototype.onTrigger=function(event){var settings=this._core.settings;event.page={index:$.inArray(this.current(),this._pages),count:this._pages.length,size:settings&&(settings.center||settings.autoWidth||settings.dotsData?1:settings.dotsEach||settings.items)};};Navigation.prototype.current=function(){var current=this._core.relative(this._core.current());return $.grep(this._pages,$.proxy(function(page,index){return page.start<=current&&page.end>=current;},this)).pop();};Navigation.prototype.getPosition=function(successor){var position,length,settings=this._core.settings;if(settings.slideBy=='page'){position=$.inArray(this.current(),this._pages);length=this._pages.length;successor?++position:--position;position=this._pages[((position%length)+length)%length].start;}else{position=this._core.relative(this._core.current());length=this._core.items().length;successor?position+=settings.slideBy:position-=settings.slideBy;}
return position;};Navigation.prototype.next=function(speed){$.proxy(this._overrides.to,this._core)(this.getPosition(true),speed);};Navigation.prototype.prev=function(speed){$.proxy(this._overrides.to,this._core)(this.getPosition(false),speed);};Navigation.prototype.to=function(position,speed,standard){var length;if(!standard&&this._pages.length){length=this._pages.length;$.proxy(this._overrides.to,this._core)(this._pages[((position%length)+length)%length].start,speed);}else{$.proxy(this._overrides.to,this._core)(position,speed);}};$.fn.owlCarousel.Constructor.Plugins.Navigation=Navigation;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){'use strict';var Hash=function(carousel){this._core=carousel;this._hashes={};this.$element=this._core.$element;this._handlers={'initialized.owl.carousel':$.proxy(function(e){if(e.namespace&&this._core.settings.startPosition==='URLHash'){$(window).trigger('hashchange.owl.navigation');}},this),'prepared.owl.carousel':$.proxy(function(e){if(e.namespace){var hash=$(e.content).find('[data-hash]').addBack('[data-hash]').attr('data-hash');if(!hash){return;}
this._hashes[hash]=e.content;}},this),'changed.owl.carousel':$.proxy(function(e){if(e.namespace&&e.property.name==='position'){var current=this._core.items(this._core.relative(this._core.current())),hash=$.map(this._hashes,function(item,hash){return item===current?hash:null;}).join();if(!hash||window.location.hash.slice(1)===hash){return;}
window.location.hash=hash;}},this)};this._core.options=$.extend({},Hash.Defaults,this._core.options);this.$element.on(this._handlers);$(window).on('hashchange.owl.navigation',$.proxy(function(e){var hash=window.location.hash.substring(1),items=this._core.$stage.children(),position=this._hashes[hash]&&items.index(this._hashes[hash]);if(position===undefined||position===this._core.current()){return;}
this._core.to(this._core.relative(position),false,true);},this));};Hash.Defaults={URLhashListener:false};Hash.prototype.destroy=function(){var handler,property;$(window).off('hashchange.owl.navigation');for(handler in this._handlers){this._core.$element.off(handler,this._handlers[handler]);}
for(property in Object.getOwnPropertyNames(this)){typeof this[property]!='function'&&(this[property]=null);}};$.fn.owlCarousel.Constructor.Plugins.Hash=Hash;})(window.Zepto||window.jQuery,window,document);;(function($,window,document,undefined){var style=$('<support>').get(0).style,prefixes='Webkit Moz O ms'.split(' '),events={transition:{end:{WebkitTransition:'webkitTransitionEnd',MozTransition:'transitionend',OTransition:'oTransitionEnd',transition:'transitionend'}},animation:{end:{WebkitAnimation:'webkitAnimationEnd',MozAnimation:'animationend',OAnimation:'oAnimationEnd',animation:'animationend'}}},tests={csstransforms:function(){return!!test('transform');},csstransforms3d:function(){return!!test('perspective');},csstransitions:function(){return!!test('transition');},cssanimations:function(){return!!test('animation');}};function test(property,prefixed){var result=false,upper=property.charAt(0).toUpperCase()+property.slice(1);$.each((property+' '+prefixes.join(upper+' ')+upper).split(' '),function(i,property){if(style[property]!==undefined){result=prefixed?property:true;return false;}});return result;}
function prefixed(property){return test(property,true);}
if(tests.csstransitions()){$.support.transition=new String(prefixed('transition'))
$.support.transition.end=events.transition.end[$.support.transition];}
if(tests.cssanimations()){$.support.animation=new String(prefixed('animation'))
$.support.animation.end=events.animation.end[$.support.animation];}
if(tests.csstransforms()){$.support.transform=new String(prefixed('transform'));$.support.transform3d=tests.csstransforms3d();}})(window.Zepto||window.jQuery,window,document);;;
;(function(factory){'use strict';if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof module!=='undefined'&&module.exports){module.exports=factory(require('jquery'));}else{factory(jQuery);}})(function($){'use strict';var $scrollTo=$.scrollTo=function(target,duration,settings){return $(window).scrollTo(target,duration,settings);};$scrollTo.defaults={axis:'xy',duration:0,limit:true};function isWin(elem){return!elem.nodeName||$.inArray(elem.nodeName.toLowerCase(),['iframe','#document','html','body'])!==-1;}
$.fn.scrollTo=function(target,duration,settings){if(typeof duration==='object'){settings=duration;duration=0;}
if(typeof settings==='function'){settings={onAfter:settings};}
if(target==='max'){target=9e9;}
settings=$.extend({},$scrollTo.defaults,settings);duration=duration||settings.duration;var queue=settings.queue&&settings.axis.length>1;if(queue){duration/=2;}
settings.offset=both(settings.offset);settings.over=both(settings.over);return this.each(function(){if(target===null)return;var win=isWin(this),elem=win?this.contentWindow||window:this,$elem=$(elem),targ=target,attr={},toff;switch(typeof targ){case'number':case'string':if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(targ)){targ=both(targ);break;}
targ=win?$(targ):$(targ,elem);case'object':if(targ.length===0)return;if(targ.is||targ.style){toff=(targ=$(targ)).offset();}}
var offset=$.isFunction(settings.offset)&&settings.offset(elem,targ)||settings.offset;$.each(settings.axis.split(''),function(i,axis){var Pos=axis==='x'?'Left':'Top',pos=Pos.toLowerCase(),key='scroll'+Pos,prev=$elem[key](),max=$scrollTo.max(elem,axis);if(toff){attr[key]=toff[pos]+(win?0:prev-$elem.offset()[pos]);if(settings.margin){attr[key]-=parseInt(targ.css('margin'+Pos),10)||0;attr[key]-=parseInt(targ.css('border'+Pos+'Width'),10)||0;}
attr[key]+=offset[pos]||0;if(settings.over[pos]){attr[key]+=targ[axis==='x'?'width':'height']()*settings.over[pos];}}else{var val=targ[pos];attr[key]=val.slice&&val.slice(-1)==='%'?parseFloat(val)/100*max:val;}
if(settings.limit&&/^\d+$/.test(attr[key])){attr[key]=attr[key]<=0?0:Math.min(attr[key],max);}
if(!i&&settings.axis.length>1){if(prev===attr[key]){attr={};}else if(queue){animate(settings.onAfterFirst);attr={};}}});animate(settings.onAfter);function animate(callback){var opts=$.extend({},settings,{queue:true,duration:duration,complete:callback&&function(){callback.call(elem,targ,settings);}});$elem.animate(attr,opts);}});};$scrollTo.max=function(elem,axis){var Dim=axis==='x'?'Width':'Height',scroll='scroll'+Dim;if(!isWin(elem))
return elem[scroll]-$(elem)[Dim.toLowerCase()]();var size='client'+Dim,doc=elem.ownerDocument||elem.document,html=doc.documentElement,body=doc.body;return Math.max(html[scroll],body[scroll])-Math.min(html[size],body[size]);};function both(val){return $.isFunction(val)||$.isPlainObject(val)?val:{top:val,left:val};}
$.Tween.propHooks.scrollLeft=$.Tween.propHooks.scrollTop={get:function(t){return $(t.elem)[t.prop]();},set:function(t){var curr=this.get(t);if(t.options.interrupt&&t._last&&t._last!==curr){return $(t.elem).stop();}
var next=Math.round(t.now);if(curr!==next){$(t.elem)[t.prop](next);t._last=this.get(t);}}};return $scrollTo;});;;
(function(root,factory){if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'){module.exports=factory(require('jquery'));}else{root.lightbox=factory(root.jQuery);}}(this,function($){function Lightbox(options){this.album=[];this.currentImageIndex=void 0;this.init();this.options=$.extend({},this.constructor.defaults);this.option(options);}
Lightbox.defaults={albumLabel:'Image %1 of %2',alwaysShowNavOnTouchDevices:false,fadeDuration:500,fitImagesInViewport:true,positionFromTop:50,resizeDuration:700,showImageNumberLabel:true,wrapAround:false,disableScrolling:false};Lightbox.prototype.option=function(options){$.extend(this.options,options);};Lightbox.prototype.imageCountLabel=function(currentImageNum,totalImages){return this.options.albumLabel.replace(/%1/g,currentImageNum).replace(/%2/g,totalImages);};Lightbox.prototype.init=function(){this.enable();this.build();};Lightbox.prototype.enable=function(){var self=this;$('body').on('click','a[rel^=lightbox], area[rel^=lightbox], a[data-lightbox], area[data-lightbox]',function(event){self.start($(event.currentTarget));return false;});};Lightbox.prototype.build=function(){var self=this;$('<div id="lightboxOverlay" class="lightboxOverlay"></div><div id="lightbox" class="lightbox"><div class="lb-outerContainer"><div class="lb-container"><img class="lb-image" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" /><div class="lb-nav"><a class="lb-prev" href="" ></a><a class="lb-next" href="" ></a></div><div class="lb-loader"><a class="lb-cancel"></a></div></div></div><div class="lb-dataContainer"><div class="lb-data"><div class="lb-details"><span class="lb-caption"></span><span class="lb-number"></span></div><div class="lb-closeContainer"><a class="lb-close"></a></div></div></div></div>').appendTo($('body'));this.$lightbox=$('#lightbox');this.$overlay=$('#lightboxOverlay');this.$outerContainer=this.$lightbox.find('.lb-outerContainer');this.$container=this.$lightbox.find('.lb-container');this.containerTopPadding=parseInt(this.$container.css('padding-top'),10);this.containerRightPadding=parseInt(this.$container.css('padding-right'),10);this.containerBottomPadding=parseInt(this.$container.css('padding-bottom'),10);this.containerLeftPadding=parseInt(this.$container.css('padding-left'),10);this.$overlay.hide().on('click',function(){self.end();return false;});this.$lightbox.hide().on('click',function(event){if($(event.target).attr('id')==='lightbox'){self.end();}
return false;});this.$outerContainer.on('click',function(event){if($(event.target).attr('id')==='lightbox'){self.end();}
return false;});this.$lightbox.find('.lb-prev').on('click',function(){if(self.currentImageIndex===0){self.changeImage(self.album.length-1);}else{self.changeImage(self.currentImageIndex-1);}
return false;});this.$lightbox.find('.lb-next').on('click',function(){if(self.currentImageIndex===self.album.length-1){self.changeImage(0);}else{self.changeImage(self.currentImageIndex+1);}
return false;});this.$lightbox.find('.lb-loader, .lb-close').on('click',function(){self.end();return false;});};Lightbox.prototype.start=function($link){var self=this;var $window=$(window);$window.on('resize',$.proxy(this.sizeOverlay,this));$('select, object, embed').css({visibility:'hidden'});this.sizeOverlay();this.album=[];var imageNumber=0;function addToAlbum($link){self.album.push({link:$link.attr('href'),title:$link.attr('data-title')||$link.attr('title')});}
var dataLightboxValue=$link.attr('data-lightbox');var $links;if(dataLightboxValue){$links=$($link.prop('tagName')+'[data-lightbox="'+dataLightboxValue+'"]');for(var i=0;i<$links.length;i=++i){addToAlbum($($links[i]));if($links[i]===$link[0]){imageNumber=i;}}}else{if($link.attr('rel')==='lightbox'){addToAlbum($link);}else{$links=$($link.prop('tagName')+'[rel="'+$link.attr('rel')+'"]');for(var j=0;j<$links.length;j=++j){addToAlbum($($links[j]));if($links[j]===$link[0]){imageNumber=j;}}}}
var top=$window.scrollTop()+this.options.positionFromTop;var left=$window.scrollLeft();this.$lightbox.css({top:top+'px',left:left+'px'}).fadeIn(this.options.fadeDuration);if(this.options.disableScrolling){$('body').addClass('lb-disable-scrolling');}
this.changeImage(imageNumber);};Lightbox.prototype.changeImage=function(imageNumber){var self=this;this.disableKeyboardNav();var $image=this.$lightbox.find('.lb-image');this.$overlay.fadeIn(this.options.fadeDuration);$('.lb-loader').fadeIn('slow');this.$lightbox.find('.lb-image, .lb-nav, .lb-prev, .lb-next, .lb-dataContainer, .lb-numbers, .lb-caption').hide();this.$outerContainer.addClass('animating');var preloader=new Image();preloader.onload=function(){var $preloader;var imageHeight;var imageWidth;var maxImageHeight;var maxImageWidth;var windowHeight;var windowWidth;$image.attr('src',self.album[imageNumber].link);$preloader=$(preloader);$image.width(preloader.width);$image.height(preloader.height);if(self.options.fitImagesInViewport){windowWidth=$(window).width();windowHeight=$(window).height();maxImageWidth=windowWidth-self.containerLeftPadding-self.containerRightPadding-20;maxImageHeight=windowHeight-self.containerTopPadding-self.containerBottomPadding-120;if(self.options.maxWidth&&self.options.maxWidth<maxImageWidth){maxImageWidth=self.options.maxWidth;}
if(self.options.maxHeight&&self.options.maxHeight<maxImageWidth){maxImageHeight=self.options.maxHeight;}
if((preloader.width>maxImageWidth)||(preloader.height>maxImageHeight)){if((preloader.width/maxImageWidth)>(preloader.height/maxImageHeight)){imageWidth=maxImageWidth;imageHeight=parseInt(preloader.height/(preloader.width/imageWidth),10);$image.width(imageWidth);$image.height(imageHeight);}else{imageHeight=maxImageHeight;imageWidth=parseInt(preloader.width/(preloader.height/imageHeight),10);$image.width(imageWidth);$image.height(imageHeight);}}}
self.sizeContainer($image.width(),$image.height());};preloader.src=this.album[imageNumber].link;this.currentImageIndex=imageNumber;};Lightbox.prototype.sizeOverlay=function(){this.$overlay.width($(document).width()).height($(document).height());};Lightbox.prototype.sizeContainer=function(imageWidth,imageHeight){var self=this;var oldWidth=this.$outerContainer.outerWidth();var oldHeight=this.$outerContainer.outerHeight();var newWidth=imageWidth+this.containerLeftPadding+this.containerRightPadding;var newHeight=imageHeight+this.containerTopPadding+this.containerBottomPadding;function postResize(){self.$lightbox.find('.lb-dataContainer').width(newWidth);self.$lightbox.find('.lb-prevLink').height(newHeight);self.$lightbox.find('.lb-nextLink').height(newHeight);self.showImage();}
if(oldWidth!==newWidth||oldHeight!==newHeight){this.$outerContainer.animate({width:newWidth,height:newHeight},this.options.resizeDuration,'swing',function(){postResize();});}else{postResize();}};Lightbox.prototype.showImage=function(){this.$lightbox.find('.lb-loader').stop(true).hide();this.$lightbox.find('.lb-image').fadeIn('slow');this.updateNav();this.updateDetails();this.preloadNeighboringImages();this.enableKeyboardNav();};Lightbox.prototype.updateNav=function(){var alwaysShowNav=false;try{document.createEvent('TouchEvent');alwaysShowNav=(this.options.alwaysShowNavOnTouchDevices)?true:false;}catch(e){}
this.$lightbox.find('.lb-nav').show();if(this.album.length>1){if(this.options.wrapAround){if(alwaysShowNav){this.$lightbox.find('.lb-prev, .lb-next').css('opacity','1');}
this.$lightbox.find('.lb-prev, .lb-next').show();}else{if(this.currentImageIndex>0){this.$lightbox.find('.lb-prev').show();if(alwaysShowNav){this.$lightbox.find('.lb-prev').css('opacity','1');}}
if(this.currentImageIndex<this.album.length-1){this.$lightbox.find('.lb-next').show();if(alwaysShowNav){this.$lightbox.find('.lb-next').css('opacity','1');}}}}};Lightbox.prototype.updateDetails=function(){var self=this;if(typeof this.album[this.currentImageIndex].title!=='undefined'&&this.album[this.currentImageIndex].title!==''){this.$lightbox.find('.lb-caption').html(this.album[this.currentImageIndex].title).fadeIn('fast').find('a').on('click',function(event){if($(this).attr('target')!==undefined){window.open($(this).attr('href'),$(this).attr('target'));}else{location.href=$(this).attr('href');}});}
if(this.album.length>1&&this.options.showImageNumberLabel){var labelText=this.imageCountLabel(this.currentImageIndex+1,this.album.length);this.$lightbox.find('.lb-number').text(labelText).fadeIn('fast');}else{this.$lightbox.find('.lb-number').hide();}
this.$outerContainer.removeClass('animating');this.$lightbox.find('.lb-dataContainer').fadeIn(this.options.resizeDuration,function(){return self.sizeOverlay();});};Lightbox.prototype.preloadNeighboringImages=function(){if(this.album.length>this.currentImageIndex+1){var preloadNext=new Image();preloadNext.src=this.album[this.currentImageIndex+1].link;}
if(this.currentImageIndex>0){var preloadPrev=new Image();preloadPrev.src=this.album[this.currentImageIndex-1].link;}};Lightbox.prototype.enableKeyboardNav=function(){$(document).on('keyup.keyboard',$.proxy(this.keyboardAction,this));};Lightbox.prototype.disableKeyboardNav=function(){$(document).off('.keyboard');};Lightbox.prototype.keyboardAction=function(event){var KEYCODE_ESC=27;var KEYCODE_LEFTARROW=37;var KEYCODE_RIGHTARROW=39;var keycode=event.keyCode;var key=String.fromCharCode(keycode).toLowerCase();if(keycode===KEYCODE_ESC||key.match(/x|o|c/)){this.end();}else if(key==='p'||keycode===KEYCODE_LEFTARROW){if(this.currentImageIndex!==0){this.changeImage(this.currentImageIndex-1);}else if(this.options.wrapAround&&this.album.length>1){this.changeImage(this.album.length-1);}}else if(key==='n'||keycode===KEYCODE_RIGHTARROW){if(this.currentImageIndex!==this.album.length-1){this.changeImage(this.currentImageIndex+1);}else if(this.options.wrapAround&&this.album.length>1){this.changeImage(0);}}};Lightbox.prototype.end=function(){this.disableKeyboardNav();$(window).off('resize',this.sizeOverlay);this.$lightbox.fadeOut(this.options.fadeDuration);this.$overlay.fadeOut(this.options.fadeDuration);$('select, object, embed').css({visibility:'visible'});if(this.options.disableScrolling){$('body').removeClass('lb-disable-scrolling');}};return new Lightbox();}));;;
/*
 * jQuery mmenu v5.6.3
 * @requires jQuery 1.7.0 or later
 *
 * mmenu.frebsite.nl
 *	
 * Copyright (c) Fred Heusschen
 * www.frebsite.nl
 *
 * License: CC-BY-NC-4.0
 * http://creativecommons.org/licenses/by-nc/4.0/
 */
!function(e){function t(){e[n].glbl||(r={$wndw:e(window),$docu:e(document),$html:e("html"),$body:e("body")},i={},a={},o={},e.each([i,a,o],function(e,t){t.add=function(e){e=e.split(" ");for(var n=0,s=e.length;s>n;n++)t[e[n]]=t.mm(e[n])}}),i.mm=function(e){return"mm-"+e},i.add("wrapper menu panels panel nopanel current highest opened subopened navbar hasnavbar title btn prev next listview nolistview inset vertical selected divider spacer hidden fullsubopen"),i.umm=function(e){return"mm-"==e.slice(0,3)&&(e=e.slice(3)),e},a.mm=function(e){return"mm-"+e},a.add("parent sub"),o.mm=function(e){return e+".mm"},o.add("transitionend webkitTransitionEnd click scroll keydown mousedown mouseup touchstart touchmove touchend orientationchange"),e[n]._c=i,e[n]._d=a,e[n]._e=o,e[n].glbl=r)}var n="mmenu",s="5.6.3";if(!(e[n]&&e[n].version>s)){e[n]=function(e,t,n){this.$menu=e,this._api=["bind","init","update","setSelected","getInstance","openPanel","closePanel","closeAllPanels"],this.opts=t,this.conf=n,this.vars={},this.cbck={},"function"==typeof this.___deprecated&&this.___deprecated(),this._initMenu(),this._initAnchors();var s=this.$pnls.children();return this._initAddons(),this.init(s),"function"==typeof this.___debug&&this.___debug(),this},e[n].version=s,e[n].addons={},e[n].uniqueId=0,e[n].defaults={extensions:[],navbar:{add:!0,title:"Menu",titleLink:"panel"},onClick:{setSelected:!0},slidingSubmenus:!0},e[n].configuration={classNames:{divider:"Divider",inset:"Inset",panel:"Panel",selected:"Selected",spacer:"Spacer",vertical:"Vertical"},clone:!1,openingInterval:25,panelNodetype:"ul, ol, div",transitionDuration:400},e[n].prototype={init:function(e){e=e.not("."+i.nopanel),e=this._initPanels(e),this.trigger("init",e),this.trigger("update")},update:function(){this.trigger("update")},setSelected:function(e){this.$menu.find("."+i.listview).children().removeClass(i.selected),e.addClass(i.selected),this.trigger("setSelected",e)},openPanel:function(t){var s=t.parent(),a=this;if(s.hasClass(i.vertical)){var o=s.parents("."+i.subopened);if(o.length)return void this.openPanel(o.first());s.addClass(i.opened),this.trigger("openPanel",t),this.trigger("openingPanel",t),this.trigger("openedPanel",t)}else{if(t.hasClass(i.current))return;var r=this.$pnls.children("."+i.panel),l=r.filter("."+i.current);r.removeClass(i.highest).removeClass(i.current).not(t).not(l).not("."+i.vertical).addClass(i.hidden),e[n].support.csstransitions||l.addClass(i.hidden),t.hasClass(i.opened)?t.nextAll("."+i.opened).addClass(i.highest).removeClass(i.opened).removeClass(i.subopened):(t.addClass(i.highest),l.addClass(i.subopened)),t.removeClass(i.hidden).addClass(i.current),a.trigger("openPanel",t),setTimeout(function(){t.removeClass(i.subopened).addClass(i.opened),a.trigger("openingPanel",t),a.__transitionend(t,function(){a.trigger("openedPanel",t)},a.conf.transitionDuration)},this.conf.openingInterval)}},closePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&(t.removeClass(i.opened),this.trigger("closePanel",e),this.trigger("closingPanel",e),this.trigger("closedPanel",e))},closeAllPanels:function(){this.$menu.find("."+i.listview).children().removeClass(i.selected).filter("."+i.vertical).removeClass(i.opened);var e=this.$pnls.children("."+i.panel),t=e.first();this.$pnls.children("."+i.panel).not(t).removeClass(i.subopened).removeClass(i.opened).removeClass(i.current).removeClass(i.highest).addClass(i.hidden),this.openPanel(t)},togglePanel:function(e){var t=e.parent();t.hasClass(i.vertical)&&this[t.hasClass(i.opened)?"closePanel":"openPanel"](e)},getInstance:function(){return this},bind:function(e,t){this.cbck[e]=this.cbck[e]||[],this.cbck[e].push(t)},trigger:function(){var e=this,t=Array.prototype.slice.call(arguments),n=t.shift();if(this.cbck[n])for(var s=0,i=this.cbck[n].length;i>s;s++)this.cbck[n][s].apply(e,t)},_initMenu:function(){this.$menu.attr("id",this.$menu.attr("id")||this.__getUniqueId()),this.conf.clone&&(this.$menu=this.$menu.clone(!0),this.$menu.add(this.$menu.find("[id]")).filter("[id]").each(function(){e(this).attr("id",i.mm(e(this).attr("id")))})),this.$menu.contents().each(function(){3==e(this)[0].nodeType&&e(this).remove()}),this.$pnls=e('<div class="'+i.panels+'" />').append(this.$menu.children(this.conf.panelNodetype)).prependTo(this.$menu),this.$menu.parent().addClass(i.wrapper);var t=[i.menu];this.opts.slidingSubmenus||t.push(i.vertical),this.opts.extensions=this.opts.extensions.length?"mm-"+this.opts.extensions.join(" mm-"):"",this.opts.extensions&&t.push(this.opts.extensions),this.$menu.addClass(t.join(" "))},_initPanels:function(t){var n=this,s=this.__findAddBack(t,"ul, ol");this.__refactorClass(s,this.conf.classNames.inset,"inset").addClass(i.nolistview+" "+i.nopanel),s.not("."+i.nolistview).addClass(i.listview);var o=this.__findAddBack(t,"."+i.listview).children();this.__refactorClass(o,this.conf.classNames.selected,"selected"),this.__refactorClass(o,this.conf.classNames.divider,"divider"),this.__refactorClass(o,this.conf.classNames.spacer,"spacer"),this.__refactorClass(this.__findAddBack(t,"."+this.conf.classNames.panel),this.conf.classNames.panel,"panel");var r=e(),l=t.add(t.find("."+i.panel)).add(this.__findAddBack(t,"."+i.listview).children().children(this.conf.panelNodetype)).not("."+i.nopanel);this.__refactorClass(l,this.conf.classNames.vertical,"vertical"),this.opts.slidingSubmenus||l.addClass(i.vertical),l.each(function(){var t=e(this),s=t;t.is("ul, ol")?(t.wrap('<div class="'+i.panel+'" />'),s=t.parent()):s.addClass(i.panel);var a=t.attr("id");t.removeAttr("id"),s.attr("id",a||n.__getUniqueId()),t.hasClass(i.vertical)&&(t.removeClass(n.conf.classNames.vertical),s.add(s.parent()).addClass(i.vertical)),r=r.add(s)});var d=e("."+i.panel,this.$menu);r.each(function(t){var s,o,r=e(this),l=r.parent(),d=l.children("a, span").first();if(l.is("."+i.panels)||(l.data(a.sub,r),r.data(a.parent,l)),l.children("."+i.next).length||l.parent().is("."+i.listview)&&(s=r.attr("id"),o=e('<a class="'+i.next+'" href="#'+s+'" data-target="#'+s+'" />').insertBefore(d),d.is("span")&&o.addClass(i.fullsubopen)),!r.children("."+i.navbar).length&&!l.hasClass(i.vertical)){l.parent().is("."+i.listview)?l=l.closest("."+i.panel):(d=l.closest("."+i.panel).find('a[href="#'+r.attr("id")+'"]').first(),l=d.closest("."+i.panel));var c=e('<div class="'+i.navbar+'" />');if(l.length){switch(s=l.attr("id"),n.opts.navbar.titleLink){case"anchor":_url=d.attr("href");break;case"panel":case"parent":_url="#"+s;break;default:_url=!1}c.append('<a class="'+i.btn+" "+i.prev+'" href="#'+s+'" data-target="#'+s+'" />').append(e('<a class="'+i.title+'"'+(_url?' href="'+_url+'"':"")+" />").text(d.text())).prependTo(r),n.opts.navbar.add&&r.addClass(i.hasnavbar)}else n.opts.navbar.title&&(c.append('<a class="'+i.title+'">'+n.opts.navbar.title+"</a>").prependTo(r),n.opts.navbar.add&&r.addClass(i.hasnavbar))}});var c=this.__findAddBack(t,"."+i.listview).children("."+i.selected).removeClass(i.selected).last().addClass(i.selected);c.add(c.parentsUntil("."+i.menu,"li")).filter("."+i.vertical).addClass(i.opened).end().each(function(){e(this).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).addClass(i.subopened)}),c.children("."+i.panel).not("."+i.vertical).addClass(i.opened).parentsUntil("."+i.menu,"."+i.panel).not("."+i.vertical).first().addClass(i.opened).addClass(i.subopened);var p=d.filter("."+i.opened);return p.length||(p=r.first()),p.addClass(i.opened).last().addClass(i.current),r.not("."+i.vertical).not(p.last()).addClass(i.hidden).end().filter(function(){return!e(this).parent().hasClass(i.panels)}).appendTo(this.$pnls),r},_initAnchors:function(){var t=this;r.$body.on(o.click+"-oncanvas","a[href]",function(s){var a=e(this),o=!1,r=t.$menu.find(a).length;for(var l in e[n].addons)if(e[n].addons[l].clickAnchor.call(t,a,r)){o=!0;break}var d=a.attr("href");if(!o&&r&&d.length>1&&"#"==d.slice(0,1))try{var c=e(d,t.$menu);c.is("."+i.panel)&&(o=!0,t[a.parent().hasClass(i.vertical)?"togglePanel":"openPanel"](c))}catch(p){}if(o&&s.preventDefault(),!o&&r&&a.is("."+i.listview+" > li > a")&&!a.is('[rel="external"]')&&!a.is('[target="_blank"]')){t.__valueOrFn(t.opts.onClick.setSelected,a)&&t.setSelected(e(s.target).parent());var h=t.__valueOrFn(t.opts.onClick.preventDefault,a,"#"==d.slice(0,1));h&&s.preventDefault(),t.__valueOrFn(t.opts.onClick.close,a,h)&&t.close()}})},_initAddons:function(){var t;for(t in e[n].addons)e[n].addons[t].add.call(this),e[n].addons[t].add=function(){};for(t in e[n].addons)e[n].addons[t].setup.call(this)},_getOriginalMenuId:function(){var e=this.$menu.attr("id");return e&&e.length&&this.conf.clone&&(e=i.umm(e)),e},__api:function(){var t=this,n={};return e.each(this._api,function(e){var s=this;n[s]=function(){var e=t[s].apply(t,arguments);return"undefined"==typeof e?n:e}}),n},__valueOrFn:function(e,t,n){return"function"==typeof e?e.call(t[0]):"undefined"==typeof e&&"undefined"!=typeof n?n:e},__refactorClass:function(e,t,n){return e.filter("."+t).removeClass(t).addClass(i[n])},__findAddBack:function(e,t){return e.find(t).add(e.filter(t))},__filterListItems:function(e){return e.not("."+i.divider).not("."+i.hidden)},__transitionend:function(e,t,n){var s=!1,i=function(){s||t.call(e[0]),s=!0};e.one(o.transitionend,i),e.one(o.webkitTransitionEnd,i),setTimeout(i,1.1*n)},__getUniqueId:function(){return i.mm(e[n].uniqueId++)}},e.fn[n]=function(s,i){return t(),s=e.extend(!0,{},e[n].defaults,s),i=e.extend(!0,{},e[n].configuration,i),this.each(function(){var t=e(this);if(!t.data(n)){var a=new e[n](t,s,i);a.$menu.data(n,a.__api())}})},e[n].support={touch:"ontouchstart"in window||navigator.msMaxTouchPoints||!1,csstransitions:function(){if("undefined"!=typeof Modernizr&&"undefined"!=typeof Modernizr.csstransitions)return Modernizr.csstransitions;var e=document.body||document.documentElement,t=e.style,n="transition";if("string"==typeof t[n])return!0;var s=["Moz","webkit","Webkit","Khtml","O","ms"];n=n.charAt(0).toUpperCase()+n.substr(1);for(var i=0;i<s.length;i++)if("string"==typeof t[s[i]+n])return!0;return!1}()};var i,a,o,r}}(jQuery),/*	
 * jQuery mmenu offCanvas addon
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(e){var t="mmenu",n="offCanvas";e[t].addons[n]={setup:function(){if(this.opts[n]){var i=this.opts[n],a=this.conf[n];o=e[t].glbl,this._api=e.merge(this._api,["open","close","setPage"]),("top"==i.position||"bottom"==i.position)&&(i.zposition="front"),"string"!=typeof a.pageSelector&&(a.pageSelector="> "+a.pageNodetype),o.$allMenus=(o.$allMenus||e()).add(this.$menu),this.vars.opened=!1;var r=[s.offcanvas];"left"!=i.position&&r.push(s.mm(i.position)),"back"!=i.zposition&&r.push(s.mm(i.zposition)),this.$menu.addClass(r.join(" ")).parent().removeClass(s.wrapper),this.setPage(o.$page),this._initBlocker(),this["_initWindow_"+n](),this.$menu[a.menuInjectMethod+"To"](a.menuWrapperSelector);var l=window.location.hash;if(l){var d=this._getOriginalMenuId();d&&d==l.slice(1)&&this.open()}}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e,s.add("offcanvas slideout blocking modal background opening blocker page"),i.add("style"),a.add("resize")},clickAnchor:function(e,t){if(!this.opts[n])return!1;var s=this._getOriginalMenuId();if(s&&e.is('[href="#'+s+'"]'))return this.open(),!0;if(o.$page)return s=o.$page.first().attr("id"),s&&e.is('[href="#'+s+'"]')?(this.close(),!0):!1}},e[t].defaults[n]={position:"left",zposition:"back",blockUI:!0,moveBackground:!0},e[t].configuration[n]={pageNodetype:"div",pageSelector:null,noPageSelector:[],wrapPageIfNeeded:!0,menuWrapperSelector:"body",menuInjectMethod:"prepend"},e[t].prototype.open=function(){if(!this.vars.opened){var e=this;this._openSetup(),setTimeout(function(){e._openFinish()},this.conf.openingInterval),this.trigger("open")}},e[t].prototype._openSetup=function(){var t=this,r=this.opts[n];this.closeAllOthers(),o.$page.each(function(){e(this).data(i.style,e(this).attr("style")||"")}),o.$wndw.trigger(a.resize+"-"+n,[!0]);var l=[s.opened];r.blockUI&&l.push(s.blocking),"modal"==r.blockUI&&l.push(s.modal),r.moveBackground&&l.push(s.background),"left"!=r.position&&l.push(s.mm(this.opts[n].position)),"back"!=r.zposition&&l.push(s.mm(this.opts[n].zposition)),this.opts.extensions&&l.push(this.opts.extensions),o.$html.addClass(l.join(" ")),setTimeout(function(){t.vars.opened=!0},this.conf.openingInterval),this.$menu.addClass(s.current+" "+s.opened)},e[t].prototype._openFinish=function(){var e=this;this.__transitionend(o.$page.first(),function(){e.trigger("opened")},this.conf.transitionDuration),o.$html.addClass(s.opening),this.trigger("opening")},e[t].prototype.close=function(){if(this.vars.opened){var t=this;this.__transitionend(o.$page.first(),function(){t.$menu.removeClass(s.current).removeClass(s.opened),o.$html.removeClass(s.opened).removeClass(s.blocking).removeClass(s.modal).removeClass(s.background).removeClass(s.mm(t.opts[n].position)).removeClass(s.mm(t.opts[n].zposition)),t.opts.extensions&&o.$html.removeClass(t.opts.extensions),o.$page.each(function(){e(this).attr("style",e(this).data(i.style))}),t.vars.opened=!1,t.trigger("closed")},this.conf.transitionDuration),o.$html.removeClass(s.opening),this.trigger("close"),this.trigger("closing")}},e[t].prototype.closeAllOthers=function(){o.$allMenus.not(this.$menu).each(function(){var n=e(this).data(t);n&&n.close&&n.close()})},e[t].prototype.setPage=function(t){var i=this,a=this.conf[n];t&&t.length||(t=o.$body.find(a.pageSelector),a.noPageSelector.length&&(t=t.not(a.noPageSelector.join(", "))),t.length>1&&a.wrapPageIfNeeded&&(t=t.wrapAll("<"+this.conf[n].pageNodetype+" />").parent())),t.each(function(){e(this).attr("id",e(this).attr("id")||i.__getUniqueId())}),t.addClass(s.page+" "+s.slideout),o.$page=t,this.trigger("setPage",t)},e[t].prototype["_initWindow_"+n]=function(){o.$wndw.off(a.keydown+"-"+n).on(a.keydown+"-"+n,function(e){return o.$html.hasClass(s.opened)&&9==e.keyCode?(e.preventDefault(),!1):void 0});var e=0;o.$wndw.off(a.resize+"-"+n).on(a.resize+"-"+n,function(t,n){if(1==o.$page.length&&(n||o.$html.hasClass(s.opened))){var i=o.$wndw.height();(n||i!=e)&&(e=i,o.$page.css("minHeight",i))}})},e[t].prototype._initBlocker=function(){var t=this;this.opts[n].blockUI&&(o.$blck||(o.$blck=e('<div id="'+s.blocker+'" class="'+s.slideout+'" />')),o.$blck.appendTo(o.$body).off(a.touchstart+"-"+n+" "+a.touchmove+"-"+n).on(a.touchstart+"-"+n+" "+a.touchmove+"-"+n,function(e){e.preventDefault(),e.stopPropagation(),o.$blck.trigger(a.mousedown+"-"+n)}).off(a.mousedown+"-"+n).on(a.mousedown+"-"+n,function(e){e.preventDefault(),o.$html.hasClass(s.modal)||(t.closeAllOthers(),t.close())}))};var s,i,a,o}(jQuery),/*	
 * jQuery mmenu scrollBugFix addon
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(e){var t="mmenu",n="scrollBugFix";e[t].addons[n]={setup:function(){var i=this,r=this.opts[n];this.conf[n];if(o=e[t].glbl,e[t].support.touch&&this.opts.offCanvas&&this.opts.offCanvas.blockUI&&("boolean"==typeof r&&(r={fix:r}),"object"!=typeof r&&(r={}),r=this.opts[n]=e.extend(!0,{},e[t].defaults[n],r),r.fix)){var l=this.$menu.attr("id"),d=!1;this.bind("opening",function(){this.$pnls.children("."+s.current).scrollTop(0)}),o.$docu.on(a.touchmove,function(e){i.vars.opened&&e.preventDefault()}),o.$body.on(a.touchstart,"#"+l+"> ."+s.panels+"> ."+s.current,function(e){i.vars.opened&&(d||(d=!0,0===e.currentTarget.scrollTop?e.currentTarget.scrollTop=1:e.currentTarget.scrollHeight===e.currentTarget.scrollTop+e.currentTarget.offsetHeight&&(e.currentTarget.scrollTop-=1),d=!1))}).on(a.touchmove,"#"+l+"> ."+s.panels+"> ."+s.current,function(t){i.vars.opened&&e(this)[0].scrollHeight>e(this).innerHeight()&&t.stopPropagation()}),o.$wndw.on(a.orientationchange,function(){i.$pnls.children("."+s.current).scrollTop(0).css({"-webkit-overflow-scrolling":"auto"}).css({"-webkit-overflow-scrolling":"touch"})})}},add:function(){s=e[t]._c,i=e[t]._d,a=e[t]._e},clickAnchor:function(e,t){}},e[t].defaults[n]={fix:!0};var s,i,a,o}(jQuery);;
/*	
 * jQuery mmenu navbar addon
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
!function(n){var a="mmenu",t="navbars";n[a].addons[t]={setup:function(){var r=this,s=this.opts[t],c=this.conf[t];if(i=n[a].glbl,"undefined"!=typeof s){s instanceof Array||(s=[s]);var o={};n.each(s,function(i){var d=s[i];"boolean"==typeof d&&d&&(d={}),"object"!=typeof d&&(d={}),"undefined"==typeof d.content&&(d.content=["prev","title"]),d.content instanceof Array||(d.content=[d.content]),d=n.extend(!0,{},r.opts.navbar,d);var l=d.position,h=d.height;"number"!=typeof h&&(h=1),h=Math.min(4,Math.max(1,h)),"bottom"!=l&&(l="top"),o[l]||(o[l]=0),o[l]++;var f=n("<div />").addClass(e.navbar+" "+e.navbar+"-"+l+" "+e.navbar+"-"+l+"-"+o[l]+" "+e.navbar+"-size-"+h);o[l]+=h-1;for(var v=0,u=0,p=d.content.length;p>u;u++){var b=n[a].addons[t][d.content[u]]||!1;b?v+=b.call(r,f,d,c):(b=d.content[u],b instanceof n||(b=n(d.content[u])),f.append(b))}v+=Math.ceil(f.children().not("."+e.btn).not("."+e.title+"-prev").length/h),v>1&&f.addClass(e.navbar+"-content-"+v),f.children("."+e.btn).length&&f.addClass(e.hasbtns),f.prependTo(r.$menu)});for(var d in o)r.$menu.addClass(e.hasnavbar+"-"+d+"-"+o[d])}},add:function(){e=n[a]._c,r=n[a]._d,s=n[a]._e,e.add("close hasbtns")},clickAnchor:function(n,a){}},n[a].configuration[t]={breadcrumbSeparator:"/"},n[a].configuration.classNames[t]={};var e,r,s,i}(jQuery),/*	
 * jQuery mmenu navbar addon breadcrumbs content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="breadcrumbs";n[a].addons[t][e]=function(t,e,r){var s=n[a]._c,i=n[a]._d;s.add("breadcrumbs separator");var c=n('<span class="'+s.breadcrumbs+'" />').appendTo(t);this.bind("init",function(a){a.removeClass(s.hasnavbar).each(function(){for(var a=[],t=n(this),e=n('<span class="'+s.breadcrumbs+'"></span>'),c=n(this).children().first(),o=!0;c&&c.length;){c.is("."+s.panel)||(c=c.closest("."+s.panel));var d=c.children("."+s.navbar).children("."+s.title).text();a.unshift(o?"<span>"+d+"</span>":'<a href="#'+c.attr("id")+'">'+d+"</a>"),o=!1,c=c.data(i.parent)}e.append(a.join('<span class="'+s.separator+'">'+r.breadcrumbSeparator+"</span>")).appendTo(t.children("."+s.navbar))})});var o=function(){c.html(this.$pnls.children("."+s.current).children("."+s.navbar).children("."+s.breadcrumbs).html())};return this.bind("openPanel",o),this.bind("init",o),0}}(jQuery),/*	
 * jQuery mmenu navbar addon close content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="close";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n[a].glbl,i=n('<a class="'+r.close+" "+r.btn+'" href="#" />').appendTo(t),c=function(n){i.attr("href","#"+n.attr("id"))};return c.call(this,s.$page),this.bind("setPage",c),-1}}(jQuery),/*	
 * jQuery mmenu navbar addon next content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="next";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class="'+c.next+" "+c.btn+'" href="#" />').appendTo(e),d=function(n){n=n||this.$pnls.children("."+c.current);var a=n.find("."+this.conf.classNames[t].panelNext);s=a.attr("href"),i=a.html(),o[s?"attr":"removeAttr"]("href",s),o[s||i?"removeClass":"addClass"](c.hidden),o.html(i)};return this.bind("openPanel",d),this.bind("init",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelNext="Next"}(jQuery),/*	
 * jQuery mmenu navbar addon prev content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="prev";n[a].addons[t][e]=function(e,r){var s=n[a]._c,i=n('<a class="'+s.prev+" "+s.btn+'" href="#" />').appendTo(e);this.bind("init",function(n){n.removeClass(s.hasnavbar).children("."+s.navbar).addClass(s.hidden)});var c,o,d=function(n){if(n=n||this.$pnls.children("."+s.current),!n.hasClass(s.vertical)){var a=n.find("."+this.conf.classNames[t].panelPrev);a.length||(a=n.children("."+s.navbar).children("."+s.prev)),c=a.attr("href"),o=a.html(),i[c?"attr":"removeAttr"]("href",c),i[c||o?"removeClass":"addClass"](s.hidden),i.html(o)}};return this.bind("openPanel",d),this.bind("init",function(){d.call(this)}),-1},n[a].configuration.classNames[t].panelPrev="Prev"}(jQuery),/*	
 * jQuery mmenu navbar addon searchfield content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="searchfield";n[a].addons[t][e]=function(t,e){var r=n[a]._c,s=n('<div class="'+r.search+'" />').appendTo(t);return"object"!=typeof this.opts.searchfield&&(this.opts.searchfield={}),this.opts.searchfield.add=!0,this.opts.searchfield.addTo=s,0}}(jQuery),/*	
 * jQuery mmenu navbar addon title content
 * mmenu.frebsite.nl
 *
 * Copyright (c) Fred Heusschen
 */
function(n){var a="mmenu",t="navbars",e="title";n[a].addons[t][e]=function(e,r){var s,i,c=n[a]._c,o=n('<a class="'+c.title+'" />').appendTo(e),d=function(n){if(n=n||this.$pnls.children("."+c.current),!n.hasClass(c.vertical)){var a=n.find("."+this.conf.classNames[t].panelTitle);a.length||(a=n.children("."+c.navbar).children("."+c.title)),s=a.attr("href"),i=a.html()||r.title,o[s?"attr":"removeAttr"]("href",s),o[s||i?"removeClass":"addClass"](c.hidden),o.html(i)}};return this.bind("openPanel",d),this.bind("init",function(n){d.call(this)}),0},n[a].configuration.classNames[t].panelTitle="Title"}(jQuery);;
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.Clappr=e():t.Clappr=e()}(this,function(){return function(t){function e(r){if(i[r])return i[r].exports;var n=i[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,e),n.l=!0,n.exports}var i={};return e.m=t,e.c=i,e.d=function(t,i,r){e.o(t,i)||Object.defineProperty(t,i,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var i=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(i,"a",i),i},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="",e(e.s=87)}([function(t,e,i){"use strict";e.__esModule=!0,e.default=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}},function(t,e,i){"use strict";e.__esModule=!0;var r=i(33),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!==(void 0===e?"undefined":(0,n.default)(e))&&"function"!=typeof e?t:e}},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(119),a=r(n),o=i(71),s=r(o),l=i(33),u=r(l);e.default=function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+(void 0===e?"undefined":(0,u.default)(e)));t.prototype=(0,s.default)(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(a.default?(0,a.default)(t,e):t.__proto__=e)}},function(t,e,i){"use strict";e.__esModule=!0;var r=i(70),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,n.default)(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}()},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),a=r(n),o=i(0),s=r(o),l=i(33),u=r(l),d=i(55),c=r(d),f=i(5),h=Array.prototype.slice,p=/\s+/,g=function(t,e,i,r){if(!i)return!0;if("object"===(void 0===i?"undefined":(0,u.default)(i))){for(var n in i)t[e].apply(t,[n,i[n]].concat(r));return!1}if(p.test(i)){for(var a=i.split(p),o=0,s=a.length;o<s;o++)t[e].apply(t,[a[o]].concat(r));return!1}return!0},y=function(t,e,i,r){function n(){try{switch(e.length){case 0:for(;++o<s;)(a=t[o]).callback.call(a.ctx);return;case 1:for(;++o<s;)(a=t[o]).callback.call(a.ctx,l);return;case 2:for(;++o<s;)(a=t[o]).callback.call(a.ctx,l,u);return;case 3:for(;++o<s;)(a=t[o]).callback.call(a.ctx,l,u,d);return;default:for(;++o<s;)(a=t[o]).callback.apply(a.ctx,e);return}}catch(t){c.default.error.apply(c.default,[i,"error on event",r,"trigger","-",t]),n()}}var a=void 0,o=-1,s=t.length,l=e[0],u=e[1],d=e[2];n()},v=function(){function t(){(0,s.default)(this,t)}return t.prototype.on=function(t,e,i){return g(this,"on",t,[e,i])&&e?(this._events||(this._events={}),(this._events[t]||(this._events[t]=[])).push({callback:e,context:i,ctx:i||this}),this):this},t.prototype.once=function(t,e,i){var r=this;if(!g(this,"once",t,[e,i])||!e)return this;var n=function(){return r.off(t,a)},a=function(){n(),e.apply(this,arguments)};return this.on(t,a,i)},t.prototype.off=function(t,e,i){var r=void 0,n=void 0,o=void 0,s=void 0,l=void 0,u=void 0,d=void 0,c=void 0;if(!this._events||!g(this,"off",t,[e,i]))return this;if(!t&&!e&&!i)return this._events=void 0,this;for(s=t?[t]:(0,a.default)(this._events),l=0,u=s.length;l<u;l++)if(t=s[l],o=this._events[t]){if(this._events[t]=r=[],e||i)for(d=0,c=o.length;d<c;d++)n=o[d],(e&&e!==n.callback&&e!==n.callback._callback||i&&i!==n.context)&&r.push(n);r.length||delete this._events[t]}return this},t.prototype.trigger=function(t){var e=this.name||this.constructor.name;if(c.default.debug.apply(c.default,[e].concat(Array.prototype.slice.call(arguments))),!this._events)return this;var i=h.call(arguments,1);if(!g(this,"trigger",t,i))return this;var r=this._events[t],n=this._events.all;return r&&y(r,i,e,t),n&&y(n,arguments,e,t),this},t.prototype.stopListening=function(t,e,i){var r=this._listeningTo;if(!r)return this;var n=!e&&!i;i||"object"!==(void 0===e?"undefined":(0,u.default)(e))||(i=this),t&&((r={})[t._listenId]=t);for(var o in r)t=r[o],t.off(e,i,this),(n||0===(0,a.default)(t._events).length)&&delete this._listeningTo[o];return this},t.register=function(e){t.Custom||(t.Custom={});var i="string"==typeof e&&e.toUpperCase().trim();i&&!t.Custom[i]?t.Custom[i]=i.toLowerCase().split("_").map(function(t,e){return 0==e?t:t=t[0].toUpperCase()+t.slice(1)}).join(""):c.default.error("Events","Error when register event: "+e)},t.listAvailableCustomEvents=function(){return t.Custom||(t.Custom={}),(0,a.default)(t.Custom).filter(function(e){return"string"==typeof t.Custom[e]})},t}();e.default=v;var m={listenTo:"on",listenToOnce:"once"};(0,a.default)(m).forEach(function(t){v.prototype[t]=function(e,i,r){return(this._listeningTo||(this._listeningTo={}))[e._listenId||(e._listenId=(0,f.uniqueId)("l"))]=e,r||"object"!==(void 0===i?"undefined":(0,u.default)(i))||(r=this),e[m[t]](i,r,this),this}}),v.PLAYER_READY="ready",v.PLAYER_RESIZE="resize",v.PLAYER_FULLSCREEN="fullscreen",v.PLAYER_PLAY="play",v.PLAYER_PAUSE="pause",v.PLAYER_STOP="stop",v.PLAYER_ENDED="ended",v.PLAYER_SEEK="seek",v.PLAYER_ERROR="error",v.PLAYER_TIMEUPDATE="timeupdate",v.PLAYER_VOLUMEUPDATE="volumeupdate",v.PLAYER_SUBTITLE_AVAILABLE="subtitleavailable",v.PLAYBACK_PROGRESS="playback:progress",v.PLAYBACK_TIMEUPDATE="playback:timeupdate",v.PLAYBACK_READY="playback:ready",v.PLAYBACK_BUFFERING="playback:buffering",v.PLAYBACK_BUFFERFULL="playback:bufferfull",v.PLAYBACK_SETTINGSUPDATE="playback:settingsupdate",v.PLAYBACK_LOADEDMETADATA="playback:loadedmetadata",v.PLAYBACK_HIGHDEFINITIONUPDATE="playback:highdefinitionupdate",v.PLAYBACK_BITRATE="playback:bitrate",v.PLAYBACK_LEVELS_AVAILABLE="playback:levels:available",v.PLAYBACK_LEVEL_SWITCH_START="playback:levels:switch:start",v.PLAYBACK_LEVEL_SWITCH_END="playback:levels:switch:end",v.PLAYBACK_PLAYBACKSTATE="playback:playbackstate",v.PLAYBACK_DVR="playback:dvr",v.PLAYBACK_MEDIACONTROL_DISABLE="playback:mediacontrol:disable",v.PLAYBACK_MEDIACONTROL_ENABLE="playback:mediacontrol:enable",v.PLAYBACK_ENDED="playback:ended",v.PLAYBACK_PLAY_INTENT="playback:play:intent",v.PLAYBACK_PLAY="playback:play",v.PLAYBACK_PAUSE="playback:pause",v.PLAYBACK_SEEKED="playback:seeked",v.PLAYBACK_STOP="playback:stop",v.PLAYBACK_ERROR="playback:error",v.PLAYBACK_STATS_ADD="playback:stats:add",v.PLAYBACK_FRAGMENT_LOADED="playback:fragment:loaded",v.PLAYBACK_LEVEL_SWITCH="playback:level:switch",v.PLAYBACK_SUBTITLE_AVAILABLE="playback:subtitle:available",v.PLAYBACK_SUBTITLE_CHANGED="playback:subtitle:changed",v.CORE_CONTAINERS_CREATED="core:containers:created",v.CORE_OPTIONS_CHANGE="core:options:change",v.CORE_READY="core:ready",v.CORE_FULLSCREEN="core:fullscreen",v.CORE_SCREEN_ORIENTATION_CHANGED="core:screen:orientation:changed",v.CONTAINER_PLAYBACKSTATE="container:playbackstate",v.CONTAINER_PLAYBACKDVRSTATECHANGED="container:dvr",v.CONTAINER_BITRATE="container:bitrate",v.CONTAINER_STATS_REPORT="container:stats:report",v.CONTAINER_DESTROYED="container:destroyed",v.CONTAINER_READY="container:ready",v.CONTAINER_ERROR="container:error",v.CONTAINER_LOADEDMETADATA="container:loadedmetadata",v.CONTAINER_SUBTITLE_AVAILABLE="container:subtitle:available",v.CONTAINER_SUBTITLE_CHANGED="container:subtitle:changed",v.CONTAINER_TIMEUPDATE="container:timeupdate",v.CONTAINER_PROGRESS="container:progress",v.CONTAINER_PLAY="container:play",v.CONTAINER_STOP="container:stop",v.CONTAINER_PAUSE="container:pause",v.CONTAINER_ENDED="container:ended",v.CONTAINER_CLICK="container:click",v.CONTAINER_DBLCLICK="container:dblclick",v.CONTAINER_CONTEXTMENU="container:contextmenu",v.CONTAINER_MOUSE_ENTER="container:mouseenter",v.CONTAINER_MOUSE_LEAVE="container:mouseleave",v.CONTAINER_SEEK="container:seek",v.CONTAINER_SEEKED="container:seeked",v.CONTAINER_VOLUME="container:volume",v.CONTAINER_FULLSCREEN="container:fullscreen",v.CONTAINER_STATE_BUFFERING="container:state:buffering",v.CONTAINER_STATE_BUFFERFULL="container:state:bufferfull",v.CONTAINER_SETTINGSUPDATE="container:settingsupdate",v.CONTAINER_HIGHDEFINITIONUPDATE="container:highdefinitionupdate",v.CONTAINER_MEDIACONTROL_SHOW="container:mediacontrol:show",v.CONTAINER_MEDIACONTROL_HIDE="container:mediacontrol:hide",v.CONTAINER_MEDIACONTROL_DISABLE="container:mediacontrol:disable",v.CONTAINER_MEDIACONTROL_ENABLE="container:mediacontrol:enable",v.CONTAINER_STATS_ADD="container:stats:add",v.CONTAINER_OPTIONS_CHANGE="container:options:change",v.MEDIACONTROL_RENDERED="mediacontrol:rendered",v.MEDIACONTROL_FULLSCREEN="mediacontrol:fullscreen",v.MEDIACONTROL_SHOW="mediacontrol:show",v.MEDIACONTROL_HIDE="mediacontrol:hide",v.MEDIACONTROL_MOUSEMOVE_SEEKBAR="mediacontrol:mousemove:seekbar",v.MEDIACONTROL_MOUSELEAVE_SEEKBAR="mediacontrol:mouseleave:seekbar",v.MEDIACONTROL_PLAYING="mediacontrol:playing",v.MEDIACONTROL_NOTPLAYING="mediacontrol:notplaying",v.MEDIACONTROL_CONTAINERCHANGED="mediacontrol:containerchanged",t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(e)for(var i in e){var r=(0,S.default)(e,i);r?(0,k.default)(t,i,r):t[i]=e[i]}return t}function a(t,e){var i=function(t){function i(){(0,v.default)(this,i);for(var r=arguments.length,n=Array(r),a=0;a<r;a++)n[a]=arguments[a];var o=(0,b.default)(this,t.call.apply(t,[this].concat(n)));return e.initialize&&e.initialize.apply(o,n),o}return(0,E.default)(i,t),i}(t);return n(i.prototype,e),i}function o(t,e){if(!isFinite(t))return"--:--";t*=1e3,t=parseInt(t/1e3);var i=t%60;t=parseInt(t/60);var r=t%60;t=parseInt(t/60);var n=t%24,a=parseInt(t/24),o="";return a&&a>0&&(o+=a+":",n<1&&(o+="00:")),(n&&n>0||e)&&(o+=("0"+n).slice(-2)+":"),o+=("0"+r).slice(-2)+":",o+=("0"+i).slice(-2),o.trim()}function s(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"t",e=0,i=P.params[t]||P.hashParams[t]||"",r=i.match(/[0-9]+[hms]+/g)||[];return r.length>0?function(){var t={h:3600,m:60,s:1};r.forEach(function(i){if(i){var r=i[i.length-1],n=parseInt(i.slice(0,i.length-1),10);e+=n*t[r]}})}():i&&(e=parseInt(i,10)),e}function l(t){return I[t]||(I[t]=0),t+ ++I[t]}function u(t){return t-parseFloat(t)+1>=0}function d(){var t=document.getElementsByTagName("script");return t.length?t[t.length-1].src:""}function c(){return window.navigator&&window.navigator.language}function f(){return window.performance&&window.performance.now?performance.now():Date.now()}function h(t,e){var i=t.indexOf(e);i>=0&&t.splice(i,1)}Object.defineProperty(e,"__esModule",{value:!0}),e.DomRecycler=e.cancelAnimationFrame=e.requestAnimationFrame=e.QueryString=e.Config=e.Fullscreen=void 0;var p=i(3),g=r(p),y=i(0),v=r(y),m=i(1),b=r(m),_=i(2),E=r(_),T=i(70),k=r(T),A=i(125),S=r(A);e.extend=a,e.formatTime=o,e.seekStringToSeconds=s,e.uniqueId=l,e.isNumber=u,e.currentScriptUrl=d,e.getBrowserLanguage=c,e.now=f,e.removeArrayItem=h,i(128);var L=i(13),R=r(L),w=i(6),C=r(w),O=e.Fullscreen={isFullscreen:function(){return!!(document.webkitFullscreenElement||document.webkitIsFullScreen||document.mozFullScreen||document.msFullscreenElement)},requestFullscreen:function(t){t.requestFullscreen?t.requestFullscreen():t.webkitRequestFullscreen?t.webkitRequestFullscreen():t.mozRequestFullScreen?t.mozRequestFullScreen():t.msRequestFullscreen?t.msRequestFullscreen():t.querySelector&&t.querySelector("video")&&t.querySelector("video").webkitEnterFullScreen?t.querySelector("video").webkitEnterFullScreen():t.webkitEnterFullScreen&&t.webkitEnterFullScreen()},cancelFullscreen:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document;t.exitFullscreen?t.exitFullscreen():t.webkitCancelFullScreen?t.webkitCancelFullScreen():t.webkitExitFullscreen?t.webkitExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.msExitFullscreen&&t.msExitFullscreen()},fullscreenEnabled:function(){return!!(document.fullscreenEnabled||document.webkitFullscreenEnabled||document.mozFullScreenEnabled||document.msFullscreenEnabled)}},D=e.Config=function(){function t(){(0,v.default)(this,t)}return t._defaultConfig=function(){return{volume:{value:100,parse:parseInt}}},t._defaultValueFor=function(t){try{return this._defaultConfig()[t].parse(this._defaultConfig()[t].value)}catch(t){return}},t._createKeyspace=function(t){return"clappr."+document.domain+"."+t},t.restore=function(t){return R.default.hasLocalstorage&&localStorage[this._createKeyspace(t)]?this._defaultConfig()[t].parse(localStorage[this._createKeyspace(t)]):this._defaultValueFor(t)},t.persist=function(t,e){if(R.default.hasLocalstorage)try{return localStorage[this._createKeyspace(t)]=e,!0}catch(t){return!1}},t}(),P=e.QueryString=function(){function t(){(0,v.default)(this,t)}return t.parse=function(t){for(var e=void 0,i=/\+/g,r=/([^&=]+)=?([^&]*)/g,n=function(t){return decodeURIComponent(t.replace(i," "))},a={};e=r.exec(t);)a[n(e[1]).toLowerCase()]=n(e[2]);return a},(0,g.default)(t,null,[{key:"params",get:function(){var t=window.location.search.substring(1);return t!==this.query&&(this._urlParams=this.parse(t),this.query=t),this._urlParams}},{key:"hashParams",get:function(){var t=window.location.hash.substring(1);return t!==this.hash&&(this._hashParams=this.parse(t),this.hash=t),this._hashParams}}]),t}(),I={},x=e.requestAnimationFrame=(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||function(t){window.setTimeout(t,1e3/60)}).bind(window),N=e.cancelAnimationFrame=(window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.clearTimeout).bind(window),M=[],F=e.DomRecycler=function(){function t(){(0,v.default)(this,t)}return t.configure=function(t){this.options=C.default.extend(this.options,t)},t.create=function(t){return this.options.recycleVideo&&"video"===t&&M.length>0?M.shift():(0,C.default)("<"+t+">")},t.garbage=function(t){this.options.recycleVideo&&"VIDEO"===t[0].tagName.toUpperCase()&&(t.children().remove(),M.push(t))},t}();F.options={recycleVideo:!1},e.default={Config:D,Fullscreen:O,QueryString:P,DomRecycler:F,extend:a,formatTime:o,seekStringToSeconds:s,uniqueId:l,currentScriptUrl:d,isNumber:u,requestAnimationFrame:x,cancelAnimationFrame:N,getBrowserLanguage:c,now:f,removeArrayItem:h}},function(t,e){var i=function(){function t(t){return null==t?String(t):W[q.call(t)]||"object"}function e(e){return"function"==t(e)}function i(t){return null!=t&&t==t.window}function r(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function n(e){return"object"==t(e)}function a(t){return n(t)&&!i(t)&&Object.getPrototypeOf(t)==Object.prototype}function o(t){var e=!!t&&"length"in t&&t.length,r=A.type(t);return"function"!=r&&!i(t)&&("array"==r||0===e||"number"==typeof e&&e>0&&e-1 in t)}function s(t){return O.call(t,function(t){return null!=t})}function l(t){return t.length>0?A.fn.concat.apply([],t):t}function u(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function d(t){return t in x?x[t]:x[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function c(t,e){return"number"!=typeof e||N[u(t)]?e:e+"px"}function f(t){var e,i;return I[t]||(e=P.createElement(t),P.body.appendChild(e),i=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==i&&(i="block"),I[t]=i),I[t]}function h(t){return"children"in t?D.call(t.children):A.map(t.childNodes,function(t){if(1==t.nodeType)return t})}function p(t,e){var i,r=t?t.length:0;for(i=0;i<r;i++)this[i]=t[i];this.length=r,this.selector=e||""}function g(t,e,i){for(k in e)i&&(a(e[k])||Q(e[k]))?(a(e[k])&&!a(t[k])&&(t[k]={}),Q(e[k])&&!Q(t[k])&&(t[k]=[]),g(t[k],e[k],i)):e[k]!==T&&(t[k]=e[k])}function y(t,e){return null==e?A(t):A(t).filter(e)}function v(t,i,r,n){return e(i)?i.call(t,r,n):i}function m(t,e,i){null==i?t.removeAttribute(e):t.setAttribute(e,i)}function b(t,e){var i=t.className||"",r=i&&i.baseVal!==T;if(e===T)return r?i.baseVal:i;r?i.baseVal=e:t.className=e}function _(t){try{return t?"true"==t||"false"!=t&&("null"==t?null:+t+""==t?+t:/^[\[\{]/.test(t)?A.parseJSON(t):t):t}catch(e){return t}}function E(t,e){e(t);for(var i=0,r=t.childNodes.length;i<r;i++)E(t.childNodes[i],e)}var T,k,A,S,L,R,w=[],C=w.concat,O=w.filter,D=w.slice,P=window.document,I={},x={},N={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},M=/^\s*<(\w+|!)[^>]*>/,F=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,B=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,U=/^(?:body|html)$/i,G=/([A-Z])/g,j=["val","css","html","text","data","width","height","offset"],V=["after","prepend","before","append"],K=P.createElement("table"),Y=P.createElement("tr"),H={tr:P.createElement("tbody"),tbody:K,thead:K,tfoot:K,td:Y,th:Y,"*":P.createElement("div")},$=/complete|loaded|interactive/,z=/^[\w-]*$/,W={},q=W.toString,X={},Z=P.createElement("div"),J={tabindex:"tabIndex",readonly:"readOnly",for:"htmlFor",class:"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},Q=Array.isArray||function(t){return t instanceof Array};return X.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var i=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(i)return i.call(t,e);var r,n=t.parentNode,a=!n;return a&&(n=Z).appendChild(t),r=~X.qsa(n,e).indexOf(t),a&&Z.removeChild(t),r},L=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},R=function(t){return O.call(t,function(e,i){return t.indexOf(e)==i})},X.fragment=function(t,e,i){var r,n,o;return F.test(t)&&(r=A(P.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(B,"<$1></$2>")),e===T&&(e=M.test(t)&&RegExp.$1),e in H||(e="*"),o=H[e],o.innerHTML=""+t,r=A.each(D.call(o.childNodes),function(){o.removeChild(this)})),a(i)&&(n=A(r),A.each(i,function(t,e){j.indexOf(t)>-1?n[t](e):n.attr(t,e)})),r},X.Z=function(t,e){return new p(t,e)},X.isZ=function(t){return t instanceof X.Z},X.init=function(t,i){var r;if(!t)return X.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&M.test(t))r=X.fragment(t,RegExp.$1,i),t=null;else{if(i!==T)return A(i).find(t);r=X.qsa(P,t)}else{if(e(t))return A(P).ready(t);if(X.isZ(t))return t;if(Q(t))r=s(t);else if(n(t))r=[t],t=null;else if(M.test(t))r=X.fragment(t.trim(),RegExp.$1,i),t=null;else{if(i!==T)return A(i).find(t);r=X.qsa(P,t)}}return X.Z(r,t)},A=function(t,e){return X.init(t,e)},A.extend=function(t){var e,i=D.call(arguments,1);return"boolean"==typeof t&&(e=t,t=i.shift()),i.forEach(function(i){g(t,i,e)}),t},X.qsa=function(t,e){var i,r="#"==e[0],n=!r&&"."==e[0],a=r||n?e.slice(1):e,o=z.test(a);return t.getElementById&&o&&r?(i=t.getElementById(a))?[i]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:D.call(o&&!r&&t.getElementsByClassName?n?t.getElementsByClassName(a):t.getElementsByTagName(e):t.querySelectorAll(e))},A.contains=P.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},A.type=t,A.isFunction=e,A.isWindow=i,A.isArray=Q,A.isPlainObject=a,A.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},A.isNumeric=function(t){var e=Number(t),i=typeof t;return null!=t&&"boolean"!=i&&("string"!=i||t.length)&&!isNaN(e)&&isFinite(e)||!1},A.inArray=function(t,e,i){return w.indexOf.call(e,t,i)},A.camelCase=L,A.trim=function(t){return null==t?"":String.prototype.trim.call(t)},A.uuid=0,A.support={},A.expr={},A.noop=function(){},A.map=function(t,e){var i,r,n,a=[];if(o(t))for(r=0;r<t.length;r++)null!=(i=e(t[r],r))&&a.push(i);else for(n in t)null!=(i=e(t[n],n))&&a.push(i);return l(a)},A.each=function(t,e){var i,r;if(o(t)){for(i=0;i<t.length;i++)if(!1===e.call(t[i],i,t[i]))return t}else for(r in t)if(!1===e.call(t[r],r,t[r]))return t;return t},A.grep=function(t,e){return O.call(t,e)},window.JSON&&(A.parseJSON=JSON.parse),A.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(t,e){W["[object "+e+"]"]=e.toLowerCase()}),A.fn={constructor:X.Z,length:0,forEach:w.forEach,reduce:w.reduce,push:w.push,sort:w.sort,splice:w.splice,indexOf:w.indexOf,concat:function(){var t,e,i=[];for(t=0;t<arguments.length;t++)e=arguments[t],i[t]=X.isZ(e)?e.toArray():e;return C.apply(X.isZ(this)?this.toArray():this,i)},map:function(t){return A(A.map(this,function(e,i){return t.call(e,i,e)}))},slice:function(){return A(D.apply(this,arguments))},ready:function(t){return $.test(P.readyState)&&P.body?t(A):P.addEventListener("DOMContentLoaded",function(){t(A)},!1),this},get:function(t){return t===T?D.call(this):this[t>=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return w.every.call(this,function(e,i){return!1!==t.call(e,i,e)}),this},filter:function(t){return e(t)?this.not(this.not(t)):A(O.call(this,function(e){return X.matches(e,t)}))},add:function(t,e){return A(R(this.concat(A(t,e))))},is:function(t){return this.length>0&&X.matches(this[0],t)},not:function(t){var i=[];if(e(t)&&t.call!==T)this.each(function(e){t.call(this,e)||i.push(this)});else{var r="string"==typeof t?this.filter(t):o(t)&&e(t.item)?D.call(t):A(t);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return A(i)},has:function(t){return this.filter(function(){return n(t)?A.contains(this,t):A(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!n(t)?t:A(t)},last:function(){var t=this[this.length-1];return t&&!n(t)?t:A(t)},find:function(t){var e=this;return t?"object"==typeof t?A(t).filter(function(){var t=this;return w.some.call(e,function(e){return A.contains(e,t)})}):1==this.length?A(X.qsa(this[0],t)):this.map(function(){return X.qsa(this,t)}):A()},closest:function(t,e){var i=[],n="object"==typeof t&&A(t);return this.each(function(a,o){for(;o&&!(n?n.indexOf(o)>=0:X.matches(o,t));)o=o!==e&&!r(o)&&o.parentNode;o&&i.indexOf(o)<0&&i.push(o)}),A(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=A.map(i,function(t){if((t=t.parentNode)&&!r(t)&&e.indexOf(t)<0)return e.push(t),t});return y(e,t)},parent:function(t){return y(R(this.pluck("parentNode")),t)},children:function(t){return y(this.map(function(){return h(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||D.call(this.childNodes)})},siblings:function(t){return y(this.map(function(t,e){return O.call(h(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return A.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=f(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var i=e(t);if(this[0]&&!i)var r=A(t).get(0),n=r.parentNode||this.length>1;return this.each(function(e){A(this).wrapAll(i?t.call(this,e):n?r.cloneNode(!0):r)})},wrapAll:function(t){if(this[0]){A(this[0]).before(t=A(t));for(var e;(e=t.children()).length;)t=e.first();A(t).append(this)}return this},wrapInner:function(t){var i=e(t);return this.each(function(e){var r=A(this),n=r.contents(),a=i?t.call(this,e):t;n.length?n.wrapAll(a):r.append(a)})},unwrap:function(){return this.parent().each(function(){A(this).replaceWith(A(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=A(this);(t===T?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return A(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return A(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var i=this.innerHTML;A(this).empty().append(v(this,t,e,i))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var i=v(this,t,e,this.textContent);this.textContent=null==i?"":""+i}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,e){var i;return"string"!=typeof t||1 in arguments?this.each(function(i){if(1===this.nodeType)if(n(t))for(k in t)m(this,k,t[k]);else m(this,t,v(this,e,i,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(i=this[0].getAttribute(t))?i:T},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){m(this,t)},this)})},prop:function(t,e){return t=J[t]||t,1 in arguments?this.each(function(i){this[t]=v(this,e,i,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=J[t]||t,this.each(function(){delete this[t]})},data:function(t,e){var i="data-"+t.replace(G,"-$1").toLowerCase(),r=1 in arguments?this.attr(i,e):this.attr(i);return null!==r?_(r):T},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=v(this,t,e,this.value)})):this[0]&&(this[0].multiple?A(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var i=A(this),r=v(this,t,e,i.offset()),n=i.offsetParent().offset(),a={top:r.top-n.top,left:r.left-n.left};"static"==i.css("position")&&(a.position="relative"),i.css(a)});if(!this.length)return null;if(P.documentElement!==this[0]&&!A.contains(P.documentElement,this[0]))return{top:0,left:0};var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,i){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[L(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(Q(e)){if(!r)return;var n={},a=getComputedStyle(r,"");return A.each(e,function(t,e){n[e]=r.style[L(e)]||a.getPropertyValue(e)}),n}}var o="";if("string"==t(e))i||0===i?o=u(e)+":"+c(e,i):this.each(function(){this.style.removeProperty(u(e))});else for(k in e)e[k]||0===e[k]?o+=u(k)+":"+c(k,e[k])+";":this.each(function(){this.style.removeProperty(u(k))});return this.each(function(){this.style.cssText+=";"+o})},index:function(t){return t?this.indexOf(A(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&w.some.call(this,function(t){return this.test(b(t))},d(t))},addClass:function(t){return t?this.each(function(e){if("className"in this){S=[];var i=b(this);v(this,t,e,i).split(/\s+/g).forEach(function(t){A(this).hasClass(t)||S.push(t)},this),S.length&&b(this,i+(i?" ":"")+S.join(" "))}}):this},removeClass:function(t){return this.each(function(e){if("className"in this){if(t===T)return b(this,"");S=b(this),v(this,t,e,S).split(/\s+/g).forEach(function(t){S=S.replace(d(t)," ")}),b(this,S.trim())}})},toggleClass:function(t,e){return t?this.each(function(i){var r=A(this);v(this,t,i,b(this)).split(/\s+/g).forEach(function(t){(e===T?!r.hasClass(t):e)?r.addClass(t):r.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var e="scrollTop"in this[0];return t===T?e?this[0].scrollTop:this[0].pageYOffset:this.each(e?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var e="scrollLeft"in this[0];return t===T?e?this[0].scrollLeft:this[0].pageXOffset:this.each(e?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=U.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(A(t).css("margin-top"))||0,i.left-=parseFloat(A(t).css("margin-left"))||0,r.top+=parseFloat(A(e[0]).css("border-top-width"))||0,r.left+=parseFloat(A(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||P.body;t&&!U.test(t.nodeName)&&"static"==A(t).css("position");)t=t.offsetParent;return t})}},A.fn.detach=A.fn.remove,["width","height"].forEach(function(t){var e=t.replace(/./,function(t){return t[0].toUpperCase()});A.fn[t]=function(n){var a,o=this[0];return n===T?i(o)?o["inner"+e]:r(o)?o.documentElement["scroll"+e]:(a=this.offset())&&a[t]:this.each(function(e){o=A(this),o.css(t,v(this,n,e,o[t]()))})}}),V.forEach(function(e,i){var r=i%2;A.fn[e]=function(){var e,n,a=A.map(arguments,function(i){var r=[];return e=t(i),"array"==e?(i.forEach(function(t){return t.nodeType!==T?r.push(t):A.zepto.isZ(t)?r=r.concat(t.get()):void(r=r.concat(X.fragment(t)))}),r):"object"==e||null==i?i:X.fragment(i)}),o=this.length>1;return a.length<1?this:this.each(function(t,e){n=r?e:e.parentNode,e=0==i?e.nextSibling:1==i?e.firstChild:2==i?e:null;var s=A.contains(P.documentElement,n);a.forEach(function(t){if(o)t=t.cloneNode(!0);else if(!n)return A(t).remove();n.insertBefore(t,e),s&&E(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var e=t.ownerDocument?t.ownerDocument.defaultView:window;e.eval.call(e,t.innerHTML)}})})})},A.fn[r?e+"To":"insert"+(i?"Before":"After")]=function(t){return A(t)[e](this),this}}),X.Z.prototype=p.prototype=A.fn,X.uniq=R,X.deserializeValue=_,A.zepto=X,A}();window.Zepto=i,void 0===window.$&&(window.$=i),function(t){function e(e,i,r){var n=t.Event(i);return t(e).trigger(n,r),!n.isDefaultPrevented()}function i(t,i,r,n){if(t.global)return e(i||b,r,n)}function r(e){e.global&&0==t.active++&&i(e,null,"ajaxStart")}function n(e){e.global&&!--t.active&&i(e,null,"ajaxStop")}function a(t,e){var r=e.context;if(!1===e.beforeSend.call(r,t,e)||!1===i(e,r,"ajaxBeforeSend",[t,e]))return!1;i(e,r,"ajaxSend",[t,e])}function o(t,e,r,n){var a=r.context;r.success.call(a,t,"success",e),n&&n.resolveWith(a,[t,"success",e]),i(r,a,"ajaxSuccess",[e,r,t]),l("success",e,r)}function s(t,e,r,n,a){var o=n.context;n.error.call(o,r,e,t),a&&a.rejectWith(o,[r,e,t]),i(n,o,"ajaxError",[r,n,t||e]),l(e,r,n)}function l(t,e,r){var a=r.context;r.complete.call(a,e,t),i(r,a,"ajaxComplete",[e,r]),n(r)}function u(t,e,i){if(i.dataFilter==d)return t;var r=i.context;return i.dataFilter.call(r,t,e)}function d(){}function c(t){return t&&(t=t.split(";",2)[0]),t&&(t==A?"html":t==k?"json":E.test(t)?"script":T.test(t)&&"xml")||"text"}function f(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function h(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()&&"jsonp"!=e.dataType||(e.url=f(e.url,e.data),e.data=void 0)}function p(e,i,r,n){return t.isFunction(i)&&(n=r,r=i,i=void 0),t.isFunction(r)||(n=r,r=void 0),{url:e,data:i,success:r,dataType:n}}function g(e,i,r,n){var a,o=t.isArray(i),s=t.isPlainObject(i);t.each(i,function(i,l){a=t.type(l),n&&(i=r?n:n+"["+(s||"object"==a||"array"==a?i:"")+"]"),!n&&o?e.add(l.name,l.value):"array"==a||!r&&"object"==a?g(e,l,r,i):e.add(i,l)})}var y,v,m=+new Date,b=window.document,_=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,E=/^(?:text|application)\/javascript/i,T=/^(?:text|application)\/xml/i,k="application/json",A="text/html",S=/^\s*$/,L=b.createElement("a");L.href=window.location.href,t.active=0,t.ajaxJSONP=function(e,i){if(!("type"in e))return t.ajax(e);var r,n,l=e.jsonpCallback,u=(t.isFunction(l)?l():l)||"Zepto"+m++,d=b.createElement("script"),c=window[u],f=function(e){t(d).triggerHandler("error",e||"abort")},h={abort:f};return i&&i.promise(h),t(d).on("load error",function(a,l){clearTimeout(n),t(d).off().remove(),"error"!=a.type&&r?o(r[0],h,e,i):s(null,l||"error",h,e,i),window[u]=c,r&&t.isFunction(c)&&c(r[0]),c=r=void 0}),!1===a(h,e)?(f("abort"),h):(window[u]=function(){r=arguments},d.src=e.url.replace(/\?(.+)=\?/,"?$1="+u),b.head.appendChild(d),e.timeout>0&&(n=setTimeout(function(){f("timeout")},e.timeout)),h)},t.ajaxSettings={type:"GET",beforeSend:d,success:d,error:d,complete:d,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:k,xml:"application/xml, text/xml",html:A,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:d},t.ajax=function(e){var i,n,l=t.extend({},e||{}),p=t.Deferred&&t.Deferred();for(y in t.ajaxSettings)void 0===l[y]&&(l[y]=t.ajaxSettings[y]);r(l),l.crossDomain||(i=b.createElement("a"),i.href=l.url,i.href=i.href,l.crossDomain=L.protocol+"//"+L.host!=i.protocol+"//"+i.host),l.url||(l.url=window.location.toString()),(n=l.url.indexOf("#"))>-1&&(l.url=l.url.slice(0,n)),h(l);var g=l.dataType,m=/\?.+=\?/.test(l.url);if(m&&(g="jsonp"),!1!==l.cache&&(e&&!0===e.cache||"script"!=g&&"jsonp"!=g)||(l.url=f(l.url,"_="+Date.now())),"jsonp"==g)return m||(l.url=f(l.url,l.jsonp?l.jsonp+"=?":!1===l.jsonp?"":"callback=?")),t.ajaxJSONP(l,p);var _,E=l.accepts[g],T={},k=function(t,e){T[t.toLowerCase()]=[t,e]},A=/^([\w-]+:)\/\//.test(l.url)?RegExp.$1:window.location.protocol,R=l.xhr(),w=R.setRequestHeader;if(p&&p.promise(R),l.crossDomain||k("X-Requested-With","XMLHttpRequest"),k("Accept",E||"*/*"),(E=l.mimeType||E)&&(E.indexOf(",")>-1&&(E=E.split(",",2)[0]),R.overrideMimeType&&R.overrideMimeType(E)),(l.contentType||!1!==l.contentType&&l.data&&"GET"!=l.type.toUpperCase())&&k("Content-Type",l.contentType||"application/x-www-form-urlencoded"),l.headers)for(v in l.headers)k(v,l.headers[v]);if(R.setRequestHeader=k,R.onreadystatechange=function(){if(4==R.readyState){R.onreadystatechange=d,clearTimeout(_);var e,i=!1;if(R.status>=200&&R.status<300||304==R.status||0==R.status&&"file:"==A){if(g=g||c(l.mimeType||R.getResponseHeader("content-type")),"arraybuffer"==R.responseType||"blob"==R.responseType)e=R.response;else{e=R.responseText;try{e=u(e,g,l),"script"==g?(0,eval)(e):"xml"==g?e=R.responseXML:"json"==g&&(e=S.test(e)?null:t.parseJSON(e))}catch(t){i=t}if(i)return s(i,"parsererror",R,l,p)}o(e,R,l,p)}else s(R.statusText||null,R.status?"error":"abort",R,l,p)}},!1===a(R,l))return R.abort(),s(null,"abort",R,l,p),R;var C=!("async"in l)||l.async;if(R.open(l.type,l.url,C,l.username,l.password),l.xhrFields)for(v in l.xhrFields)R[v]=l.xhrFields[v];for(v in T)w.apply(R,T[v]);return l.timeout>0&&(_=setTimeout(function(){R.onreadystatechange=d,R.abort(),s(null,"timeout",R,l,p)},l.timeout)),R.send(l.data?l.data:null),R},t.get=function(){return t.ajax(p.apply(null,arguments))},t.post=function(){var e=p.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=p.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,i,r){if(!this.length)return this;var n,a=this,o=e.split(/\s/),s=p(e,i,r),l=s.success;return o.length>1&&(s.url=o[0],n=o[1]),s.success=function(e){a.html(n?t("<div>").html(e.replace(_,"")).find(n):e),l&&l.apply(a,arguments)},t.ajax(s),this};var R=encodeURIComponent;t.param=function(e,i){var r=[];return r.add=function(e,i){t.isFunction(i)&&(i=i()),null==i&&(i=""),this.push(R(e)+"="+R(i))},g(r,e,i),r.join("&").replace(/%20/g,"+")}}(i),function(t){t.Callbacks=function(e){e=t.extend({},e);var i,r,n,a,o,s,l=[],u=!e.once&&[],d=function(t){for(i=e.memory&&t,r=!0,s=a||0,a=0,o=l.length,n=!0;l&&s<o;++s)if(!1===l[s].apply(t[0],t[1])&&e.stopOnFalse){i=!1;break}n=!1,l&&(u?u.length&&d(u.shift()):i?l.length=0:c.disable())},c={add:function(){if(l){var r=l.length,s=function(i){t.each(i,function(t,i){"function"==typeof i?e.unique&&c.has(i)||l.push(i):i&&i.length&&"string"!=typeof i&&s(i)})};s(arguments),n?o=l.length:i&&(a=r,d(i))}return this},remove:function(){return l&&t.each(arguments,function(e,i){for(var r;(r=t.inArray(i,l,r))>-1;)l.splice(r,1),n&&(r<=o&&--o,r<=s&&--s)}),this},has:function(e){return!(!l||!(e?t.inArray(e,l)>-1:l.length))},empty:function(){return o=l.length=0,this},disable:function(){return l=u=i=void 0,this},disabled:function(){return!l},lock:function(){return u=void 0,i||c.disable(),this},locked:function(){return!u},fireWith:function(t,e){return!l||r&&!u||(e=e||[],e=[t,e.slice?e.slice():e],n?u.push(e):d(e)),this},fire:function(){return c.fireWith(this,arguments)},fired:function(){return!!r}};return c}}(i),function(t){function e(i){var r=[["resolve","done",t.Callbacks({once:1,memory:1}),"resolved"],["reject","fail",t.Callbacks({once:1,memory:1}),"rejected"],["notify","progress",t.Callbacks({memory:1})]],n="pending",a={state:function(){return n},always:function(){return o.done(arguments).fail(arguments),this},then:function(){var i=arguments;return e(function(e){t.each(r,function(r,n){var s=t.isFunction(i[r])&&i[r];o[n[1]](function(){var i=s&&s.apply(this,arguments);if(i&&t.isFunction(i.promise))i.promise().done(e.resolve).fail(e.reject).progress(e.notify);else{var r=this===a?e.promise():this,o=s?[i]:arguments;e[n[0]+"With"](r,o)}})}),i=null}).promise()},promise:function(e){return null!=e?t.extend(e,a):a}},o={};return t.each(r,function(t,e){var i=e[2],s=e[3];a[e[1]]=i.add,s&&i.add(function(){n=s},r[1^t][2].disable,r[2][2].lock),o[e[0]]=function(){return o[e[0]+"With"](this===o?a:this,arguments),this},o[e[0]+"With"]=i.fireWith}),a.promise(o),i&&i.call(o,o),o}var i=Array.prototype.slice;t.when=function(r){var n,a,o,s=i.call(arguments),l=s.length,u=0,d=1!==l||r&&t.isFunction(r.promise)?l:0,c=1===d?r:e(),f=function(t,e,r){return function(a){e[t]=this,r[t]=arguments.length>1?i.call(arguments):a,r===n?c.notifyWith(e,r):--d||c.resolveWith(e,r)}};if(l>1)for(n=new Array(l),a=new Array(l),o=new Array(l);u<l;++u)s[u]&&t.isFunction(s[u].promise)?s[u].promise().done(f(u,o,s)).fail(c.reject).progress(f(u,a,n)):--d;return d||c.resolveWith(o,s),c.promise()},t.Deferred=e}(i),function(t){function e(t){return t._zid||(t._zid=f++)}function i(t,i,a,o){if(i=r(i),i.ns)var s=n(i.ns);return(y[e(t)]||[]).filter(function(t){return t&&(!i.e||t.e==i.e)&&(!i.ns||s.test(t.ns))&&(!a||e(t.fn)===e(a))&&(!o||t.sel==o)})}function r(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function n(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function a(t,e){return t.del&&!m&&t.e in b||!!e}function o(t){return _[t]||m&&b[t]||t}function s(i,n,s,l,d,f,h){var p=e(i),g=y[p]||(y[p]=[]);n.split(/\s/).forEach(function(e){if("ready"==e)return t(document).ready(s);var n=r(e);n.fn=s,n.sel=d,n.e in _&&(s=function(e){var i=e.relatedTarget;if(!i||i!==this&&!t.contains(this,i))return n.fn.apply(this,arguments)}),n.del=f;var p=f||s;n.proxy=function(t){if(t=u(t),!t.isImmediatePropagationStopped()){t.data=l;var e=p.apply(i,t._args==c?[t]:[t].concat(t._args));return!1===e&&(t.preventDefault(),t.stopPropagation()),e}},n.i=g.length,g.push(n),"addEventListener"in i&&i.addEventListener(o(n.e),n.proxy,a(n,h))})}function l(t,r,n,s,l){var u=e(t);(r||"").split(/\s/).forEach(function(e){i(t,e,n,s).forEach(function(e){delete y[u][e.i],"removeEventListener"in t&&t.removeEventListener(o(e.e),e.proxy,a(e,l))})})}function u(e,i){return!i&&e.isDefaultPrevented||(i||(i=e),t.each(A,function(t,r){var n=i[t];e[t]=function(){return this[r]=E,n&&n.apply(i,arguments)},e[r]=T}),e.timeStamp||(e.timeStamp=Date.now()),(i.defaultPrevented!==c?i.defaultPrevented:"returnValue"in i?!1===i.returnValue:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=E)),e}function d(t){var e,i={originalEvent:t};for(e in t)k.test(e)||t[e]===c||(i[e]=t[e]);return u(i,t)}var c,f=1,h=Array.prototype.slice,p=t.isFunction,g=function(t){return"string"==typeof t},y={},v={},m="onfocusin"in window,b={focus:"focusin",blur:"focusout"},_={mouseenter:"mouseover",mouseleave:"mouseout"};v.click=v.mousedown=v.mouseup=v.mousemove="MouseEvents",t.event={add:s,remove:l},t.proxy=function(i,r){var n=2 in arguments&&h.call(arguments,2);if(p(i)){var a=function(){return i.apply(r,n?n.concat(h.call(arguments)):arguments)};return a._zid=e(i),a}if(g(r))return n?(n.unshift(i[r],i),t.proxy.apply(null,n)):t.proxy(i[r],i);throw new TypeError("expected function")},t.fn.bind=function(t,e,i){return this.on(t,e,i)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,i,r){return this.on(t,e,i,r,1)};var E=function(){return!0},T=function(){return!1},k=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,A={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,i){return this.on(e,t,i)},t.fn.undelegate=function(t,e,i){return this.off(e,t,i)},t.fn.live=function(e,i){return t(document.body).delegate(this.selector,e,i),this},t.fn.die=function(e,i){return t(document.body).undelegate(this.selector,e,i),this},t.fn.on=function(e,i,r,n,a){var o,u,f=this;return e&&!g(e)?(t.each(e,function(t,e){f.on(t,i,r,e,a)}),f):(g(i)||p(n)||!1===n||(n=r,r=i,i=c),n!==c&&!1!==r||(n=r,r=c),!1===n&&(n=T),f.each(function(c,f){a&&(o=function(t){return l(f,t.type,n),n.apply(this,arguments)}),i&&(u=function(e){var r,a=t(e.target).closest(i,f).get(0);if(a&&a!==f)return r=t.extend(d(e),{currentTarget:a,liveFired:f}),(o||n).apply(a,[r].concat(h.call(arguments,1)))}),s(f,e,n,r,i,u||o)}))},t.fn.off=function(e,i,r){var n=this;return e&&!g(e)?(t.each(e,function(t,e){n.off(t,i,e)}),n):(g(i)||p(r)||!1===r||(r=i,i=c),!1===r&&(r=T),n.each(function(){l(this,e,r,i)}))},t.fn.trigger=function(e,i){return e=g(e)||t.isPlainObject(e)?t.Event(e):u(e),e._args=i,this.each(function(){e.type in b&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,i)})},t.fn.triggerHandler=function(e,r){var n,a;return this.each(function(o,s){n=d(g(e)?t.Event(e):e),n._args=r,n.target=s,t.each(i(s,e.type||e),function(t,e){if(a=e.proxy(n),n.isImmediatePropagationStopped())return!1})}),a},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(t,e){g(t)||(e=t,t=e.type);var i=document.createEvent(v[t]||"Events"),r=!0;if(e)for(var n in e)"bubbles"==n?r=!!e[n]:i[n]=e[n];return i.initEvent(t,r,!0),u(i)}}(i),function(){try{getComputedStyle(void 0)}catch(e){var t=getComputedStyle;window.getComputedStyle=function(e,i){try{return t(e,i)}catch(t){return null}}}}(),function(t){function e(e){return e=t(e),!(!e.width()&&!e.height())&&"none"!==e.css("display")}function i(t,e){t=t.replace(/=#\]/g,'="#"]');var i,r,n=s.exec(t);if(n&&n[2]in o&&(i=o[n[2]],r=n[3],t=n[1],r)){var a=Number(r);r=isNaN(a)?r.replace(/^["']|["']$/g,""):a}return e(t,i,r)}var r=t.zepto,n=r.qsa,a=r.matches,o=t.expr[":"]={visible:function(){if(e(this))return this},hidden:function(){if(!e(this))return this},selected:function(){if(this.selected)return this},checked:function(){if(this.checked)return this},parent:function(){return this.parentNode},first:function(t){if(0===t)return this},last:function(t,e){if(t===e.length-1)return this},eq:function(t,e,i){if(t===i)return this},contains:function(e,i,r){if(t(this).text().indexOf(r)>-1)return this},has:function(t,e,i){if(r.qsa(this,i).length)return this}},s=new RegExp("(.*):(\\w+)(?:\\(([^)]+)\\))?$\\s*"),l=/^\s*>/,u="Zepto"+ +new Date;r.qsa=function(e,a){return i(a,function(i,o,s){try{var d;!i&&o?i="*":l.test(i)&&(d=t(e).addClass(u),i="."+u+" "+i);var c=n(e,i)}catch(t){throw console.error("error performing selector: %o",a),t}finally{d&&d.removeClass(u)}return o?r.uniq(t.map(c,function(t,e){return o.call(t,e,c,s)})):c})},r.matches=function(t,e){return i(e,function(e,i,r){return(!e||a(t,e))&&(!i||i.call(t,null,r)===t)})}}(i),t.exports=i},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(6),a=r(n),o=i(8),s=r(o),l={getStyleFor:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{baseUrl:""};return(0,a.default)('<style class="clappr-style"></style>').html((0,s.default)(t.toString())(e))}};e.default=l,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},n=/(.)^/,a={"'":"'","\\":"\\","\r":"r","\n":"n","\t":"t","\u2028":"u2028","\u2029":"u2029"},o=/\\|'|\r|\n|\t|\u2028|\u2029/g,s={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},l=new RegExp("[&<>\"']","g"),u=function(t){return null===t?"":(""+t).replace(l,function(t){return s[t]})},d=0,c=function(t,e){var i,s=new RegExp([(r.escape||n).source,(r.interpolate||n).source,(r.evaluate||n).source].join("|")+"|$","g"),l=0,c="__p+='";t.replace(s,function(e,i,r,n,s){return c+=t.slice(l,s).replace(o,function(t){return"\\"+a[t]}),i&&(c+="'+\n((__t=("+i+"))==null?'':escapeExpr(__t))+\n'"),r&&(c+="'+\n((__t=("+r+"))==null?'':__t)+\n'"),n&&(c+="';\n"+n+"\n__p+='"),l=s+e.length,e}),c+="';\n",r.variable||(c="with(obj||{}){\n"+c+"}\n"),c="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+c+"return __p;\n//# sourceURL=/microtemplates/source["+d+++"]";try{i=new Function(r.variable||"obj","escapeExpr",c)}catch(t){throw t.source=c,t}if(e)return i(e,u);var f=function(t){return i.call(this,t,u)};return f.source="function("+(r.variable||"obj")+"){\n"+c+"}",f};c.settings=r,e.default=c,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(21),p=r(h),g=function(t){function e(i,r){(0,a.default)(this,e);var n=(0,s.default)(this,t.call(this,i));return n.settings={},n._i18n=r,n}return(0,c.default)(e,t),(0,u.default)(e,[{key:"isAudioOnly",get:function(){return!1}},{key:"ended",get:function(){return!1}},{key:"i18n",get:function(){return this._i18n}},{key:"buffering",get:function(){return!1}}]),e.prototype.consent=function(){},e.prototype.play=function(){},e.prototype.pause=function(){},e.prototype.stop=function(){},e.prototype.seek=function(t){},e.prototype.seekPercentage=function(t){},e.prototype.getStartTimeOffset=function(){return 0},e.prototype.getDuration=function(){return 0},e.prototype.isPlaying=function(){return!1},e.prototype.getPlaybackType=function(){return e.NO_OP},e.prototype.isHighDefinitionInUse=function(){return!1},e.prototype.volume=function(t){},e.prototype.destroy=function(){this.$el.remove()},(0,u.default)(e,[{key:"isReady",get:function(){return!1}},{key:"hasClosedCaptionsTracks",get:function(){return this.closedCaptionsTracks.length>0}},{key:"closedCaptionsTracks",get:function(){return[]}},{key:"closedCaptionsTrackId",get:function(){return-1},set:function(t){}}]),e}(p.default);e.default=g,g.extend=function(t){return(0,f.extend)(g,t)},g.canPlay=function(t,e){return!1},g.VOD="vod",g.AOD="aod",g.LIVE="live",g.NO_OP="no_op",g.type="playback",t.exports=e.default},function(t,e){function i(t,e){var i=t[1]||"",n=t[3];if(!n)return i;if(e&&"function"==typeof btoa){var a=r(n);return[i].concat(n.sources.map(function(t){return"/*# sourceURL="+n.sourceRoot+t+" */"})).concat([a]).join("\n")}return[i].join("\n")}function r(t){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(t))))+" */"}t.exports=function(t){var e=[];return e.toString=function(){return this.map(function(e){var r=i(e,t);return e[2]?"@media "+e[2]+"{"+r+"}":r}).join("")},e.i=function(t,i){"string"==typeof t&&(t=[[null,t,""]]);for(var r={},n=0;n<this.length;n++){var a=this[n][0];"number"==typeof a&&(r[a]=!0)}for(n=0;n<t.length;n++){var o=t[n];"number"==typeof o[0]&&r[o[0]]||(i&&!o[2]?o[2]=i:i&&(o[2]="("+o[2]+") and ("+i+")"),e.push(o))}},e}},function(t,e){var i=t.exports={version:"2.4.0"};"number"==typeof __e&&(__e=i)},function(t,e,i){var r=i(44)("wks"),n=i(32),a=i(15).Symbol,o="function"==typeof a;(t.exports=function(t){return r[t]||(r[t]=o&&a[t]||(o?a:n)("Symbol."+t))}).store=r},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r={},n=function(){var t=navigator.userAgent,e=t.match(/\b(playstation 4|nx|opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i)||[],i=void 0;if(/trident/i.test(e[1]))return i=/\brv[ :]+(\d+)/g.exec(t)||[],{name:"IE",version:parseInt(i[1]||"")};if("Chrome"===e[1]){if(null!=(i=t.match(/\bOPR\/(\d+)/)))return{name:"Opera",version:parseInt(i[1])};if(null!=(i=t.match(/\bEdge\/(\d+)/)))return{name:"Edge",version:parseInt(i[1])}}return e=e[2]?[e[1],e[2]]:[navigator.appName,navigator.appVersion,"-?"],(i=t.match(/version\/(\d+)/i))&&e.splice(1,1,i[1]),{name:e[0],version:parseInt(e[1])}}();r.isEdge=/edge/i.test(navigator.userAgent),r.isChrome=/chrome|CriOS/i.test(navigator.userAgent)&&!r.isEdge,r.isSafari=/safari/i.test(navigator.userAgent)&&!r.isChrome&&!r.isEdge,r.isFirefox=/firefox/i.test(navigator.userAgent),r.isLegacyIE=!!window.ActiveXObject,r.isIE=r.isLegacyIE||/trident.*rv:1\d/i.test(navigator.userAgent),r.isIE11=/trident.*rv:11/i.test(navigator.userAgent),r.isChromecast=r.isChrome&&/CrKey/i.test(navigator.userAgent),r.isMobile=/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone|IEMobile|Mobile Safari|Opera Mini/i.test(navigator.userAgent),r.isiOS=/iPad|iPhone|iPod/i.test(navigator.userAgent),r.isAndroid=/Android/i.test(navigator.userAgent),r.isWindowsPhone=/Windows Phone/i.test(navigator.userAgent),r.isWin8App=/MSAppHost/i.test(navigator.userAgent),r.isWiiU=/WiiU/i.test(navigator.userAgent),r.isPS4=/PlayStation 4/i.test(navigator.userAgent),r.hasLocalstorage=function(){try{return localStorage.setItem("clappr","clappr"),localStorage.removeItem("clappr"),!0}catch(t){return!1}}(),r.hasFlash=function(){try{return!!new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(t){return!(!navigator.mimeTypes||void 0===navigator.mimeTypes["application/x-shockwave-flash"]||!navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)}}(),r.name=n.name,r.version=n.version,e.default=r,t.exports=e.default},function(t,e,i){var r=i(91),n=i(40);t.exports=function(t){return r(n(t))}},function(t,e){var i=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(t,e,i){var r=i(23),n=i(63),a=i(47),o=Object.defineProperty;e.f=i(20)?Object.defineProperty:function(t,e,i){if(r(t),e=a(e,!0),r(i),n)try{return o(t,e,i)}catch(t){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(t[e]=i.value),t}},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(4),p=r(h),g=function(t){function e(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r._options=i,r.uniqueId=(0,f.uniqueId)("o"),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"options",get:function(){return this._options}}]),e}(p.default);e.default=g,t.exports=e.default},function(t,e){var i={}.hasOwnProperty;t.exports=function(t,e){return i.call(t,e)}},function(t,e,i){var r=i(15),n=i(11),a=i(46),o=i(22),s=function(t,e,i){var l,u,d,c=t&s.F,f=t&s.G,h=t&s.S,p=t&s.P,g=t&s.B,y=t&s.W,v=f?n:n[e]||(n[e]={}),m=v.prototype,b=f?r:h?r[e]:(r[e]||{}).prototype;f&&(i=e);for(l in i)(u=!c&&b&&void 0!==b[l])&&l in v||(d=u?b[l]:i[l],v[l]=f&&"function"!=typeof b[l]?i[l]:g&&u?a(d,r):y&&b[l]==d?function(t){var e=function(e,i,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,i)}return new t(e,i,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(d):p&&"function"==typeof d?a(Function.call,d):d,p&&((v.virtual||(v.virtual={}))[l]=d,t&s.R&&m&&!m[l]&&o(m,l,d)))};s.F=1,s.G=2,s.S=4,s.P=8,s.B=16,s.W=32,s.U=64,s.R=128,t.exports=s},function(t,e,i){t.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(6),h=r(f),p=i(5),g=i(17),y=r(g),v=/^(\S+)\s*(.*)$/,m=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.cid=(0,p.uniqueId)("c"),r._ensureElement(),r.delegateEvents(),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"tagName",get:function(){return"div"}},{key:"events",get:function(){return{}}},{key:"attributes",get:function(){return{}}}]),e.prototype.$=function(t){return this.$el.find(t)},e.prototype.render=function(){return this},e.prototype.remove=function(){return this.$el.remove(),this.stopListening(),this.undelegateEvents(),this},e.prototype.setElement=function(t,e){return this.$el&&this.undelegateEvents(),this.$el=t instanceof h.default?t:(0,h.default)(t),this.el=this.$el[0],!1!==e&&this.delegateEvents(),this},e.prototype.delegateEvents=function(t){if(!t&&!(t=this.events))return this;this.undelegateEvents();for(var e in t){var i=t[e];if(i&&i.constructor!==Function&&(i=this[t[e]]),i){var r=e.match(v),n=r[1],a=r[2];n+=".delegateEvents"+this.cid,""===a?this.$el.on(n,i.bind(this)):this.$el.on(n,a,i.bind(this))}}return this},e.prototype.undelegateEvents=function(){return this.$el.off(".delegateEvents"+this.cid),this},e.prototype._ensureElement=function(){if(this.el)this.setElement(this.el,!1);else{var t=h.default.extend({},this.attributes);this.id&&(t.id=this.id),this.className&&(t.class=this.className);var e=p.DomRecycler.create(this.tagName).attr(t);this.setElement(e,!1)}},e}(y.default);e.default=m,t.exports=e.default},function(t,e,i){var r=i(16),n=i(28);t.exports=i(20)?function(t,e,i){return r.f(t,e,n(1,i))}:function(t,e,i){return t[e]=i,t}},function(t,e,i){var r=i(26);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(4),s=r(o),l=new s.default,u=function t(){(0,a.default)(this,t)};e.default=u,u.on=function(t,e,i){l.on(t,e,i)},u.once=function(t,e,i){l.once(t,e,i)},u.off=function(t,e,i){l.off(t,e,i)},u.trigger=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];l.trigger.apply(l,[t].concat(i))},u.stopListening=function(t,e,i){l.stopListening(t,e,i)},t.exports=e.default},function(t,e,i){var r=i(60),n=i(45);t.exports=Object.keys||function(t){return r(t,n)}},function(t,e){t.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},function(t,e){t.exports=function(t){try{return!!t()}catch(t){return!0}}},function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},function(t,e){t.exports={}},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(2),u=r(l),d=i(5),c=i(17),f=r(c),h=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i.options));return r.core=i,r.enabled=!0,r.bindEvents(),r}return(0,u.default)(e,t),e.prototype.bindEvents=function(){},e.prototype.enable=function(){this.enabled||(this.bindEvents(),this.enabled=!0)},e.prototype.disable=function(){this.enabled&&(this.stopListening(),this.enabled=!1)},e.prototype.getExternalInterface=function(){return{}},e.prototype.destroy=function(){this.stopListening()},e}(f.default);e.default=h,h.extend=function(t){return(0,d.extend)(h,t)},h.type="core",t.exports=e.default},function(t,e,i){t.exports={default:i(89),__esModule:!0}},function(t,e){var i=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++i+r).toString(36))}},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}e.__esModule=!0;var n=i(95),a=r(n),o=i(106),s=r(o),l="function"==typeof s.default&&"symbol"==typeof a.default?function(t){return typeof t}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":typeof t};e.default="function"==typeof s.default&&"symbol"===l(a.default)?function(t){return void 0===t?"undefined":l(t)}:function(t){return t&&"function"==typeof s.default&&t.constructor===s.default&&t!==s.default.prototype?"symbol":void 0===t?"undefined":l(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(0),n=function(t){return t&&t.__esModule?t:{default:t}}(r),a=function t(){(0,n.default)(this,t),this.options={},this.playbackPlugins=[],this.currentSize={width:0,height:0}};a._players={},a.getInstance=function(t){return a._players[t]||(a._players[t]=new a)},e.default=a,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(152),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(2),u=r(l),d=i(5),c=i(21),f=r(c),h=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i.options));return r.container=i,r.enabled=!0,r.bindEvents(),r}return(0,u.default)(e,t),e.prototype.enable=function(){this.enabled||(this.bindEvents(),this.$el.show(),this.enabled=!0)},e.prototype.disable=function(){this.stopListening(),this.$el.hide(),this.enabled=!1},e.prototype.bindEvents=function(){},e.prototype.destroy=function(){this.remove()},e}(f.default);e.default=h,h.extend=function(t){return(0,d.extend)(h,t)},h.type="container",t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(2),u=r(l),d=i(17),c=r(d),f=i(5),h=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i.options));return r.container=i,r.enabled=!0,r.bindEvents(),r}return(0,u.default)(e,t),e.prototype.enable=function(){this.enabled||(this.bindEvents(),this.enabled=!0)},e.prototype.disable=function(){this.enabled&&(this.stopListening(),this.enabled=!1)},e.prototype.bindEvents=function(){},e.prototype.destroy=function(){this.stopListening()},e}(c.default);e.default=h,h.extend=function(t){return(0,f.extend)(h,t)},h.type="container",t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(2),u=r(l),d=i(5),c=i(21),f=r(c),h=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i.options));return r.core=i,r.enabled=!0,r.bindEvents(),r.render(),r}return(0,u.default)(e,t),e.prototype.bindEvents=function(){},e.prototype.getExternalInterface=function(){return{}},e.prototype.enable=function(){this.enabled||(this.bindEvents(),this.$el.show(),this.enabled=!0)},e.prototype.disable=function(){this.stopListening(),this.$el.hide(),this.enabled=!1},e.prototype.destroy=function(){this.remove()},e.prototype.render=function(){return this},e}(f.default);e.default=h,h.extend=function(t){return(0,d.extend)(h,t)},h.type="core",t.exports=e.default},function(t,e,i){var r=i(40);t.exports=function(t){return Object(r(t))}},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on  "+t);return t}},function(t,e){var i={}.toString;t.exports=function(t){return i.call(t).slice(8,-1)}},function(t,e){var i=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:i)(t)}},function(t,e,i){var r=i(44)("keys"),n=i(32);t.exports=function(t){return r[t]||(r[t]=n(t))}},function(t,e,i){var r=i(15),n=r["__core-js_shared__"]||(r["__core-js_shared__"]={});t.exports=function(t){return n[t]||(n[t]={})}},function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(t,e,i){var r=i(94);t.exports=function(t,e,i){if(r(t),void 0===e)return t;switch(i){case 1:return function(i){return t.call(e,i)};case 2:return function(i,r){return t.call(e,i,r)};case 3:return function(i,r,n){return t.call(e,i,r,n)}}return function(){return t.apply(e,arguments)}}},function(t,e,i){var r=i(26);t.exports=function(t,e){if(!r(t))return t;var i,n;if(e&&"function"==typeof(i=t.toString)&&!r(n=i.call(t)))return n;if("function"==typeof(i=t.valueOf)&&!r(n=i.call(t)))return n;if(!e&&"function"==typeof(i=t.toString)&&!r(n=i.call(t)))return n;throw TypeError("Can't convert object to primitive value")}},function(t,e){t.exports=!0},function(t,e,i){var r=i(23),n=i(99),a=i(45),o=i(43)("IE_PROTO"),s=function(){},l=function(){var t,e=i(64)("iframe"),r=a.length;for(e.style.display="none",i(100).appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("<script>document.F=Object<\/script>"),t.close(),l=t.F;r--;)delete l.prototype[a[r]];return l()};t.exports=Object.create||function(t,e){var i;return null!==t?(s.prototype=r(t),i=new s,s.prototype=null,i[o]=t):i=l(),void 0===e?i:n(i,e)}},function(t,e,i){var r=i(16).f,n=i(18),a=i(12)("toStringTag");t.exports=function(t,e,i){t&&!n(t=i?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},function(t,e,i){e.f=i(12)},function(t,e,i){var r=i(15),n=i(11),a=i(48),o=i(51),s=i(16).f;t.exports=function(t){var e=n.Symbol||(n.Symbol=a?{}:r.Symbol||{});"_"==t.charAt(0)||t in e||s(e,t,{value:o.f(t)})}},function(t,e){e.f={}.propertyIsEnumerable},function(t,e,i){var r=i(53),n=i(28),a=i(14),o=i(47),s=i(18),l=i(63),u=Object.getOwnPropertyDescriptor;e.f=i(20)?u:function(t,e){if(t=a(t),e=o(e,!0),l)try{return u(t,e)}catch(t){}if(s(t,e))return n(!r.f.call(t,e),t[e])}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(129),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(130),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default={Kibo:n.default},t.exports=e.default},function(t,e){function i(){throw new Error("setTimeout has not been defined")}function r(){throw new Error("clearTimeout has not been defined")}function n(t){if(d===setTimeout)return setTimeout(t,0);if((d===i||!d)&&setTimeout)return d=setTimeout,setTimeout(t,0);try{return d(t,0)}catch(e){try{return d.call(null,t,0)}catch(e){return d.call(this,t,0)}}}function a(t){if(c===clearTimeout)return clearTimeout(t);if((c===r||!c)&&clearTimeout)return c=clearTimeout,clearTimeout(t);try{return c(t)}catch(e){try{return c.call(null,t)}catch(e){return c.call(this,t)}}}function o(){g&&h&&(g=!1,h.length?p=h.concat(p):y=-1,p.length&&s())}function s(){if(!g){var t=n(o);g=!0;for(var e=p.length;e;){for(h=p,p=[];++y<e;)h&&h[y].run();y=-1,e=p.length}h=null,g=!1,a(t)}}function l(t,e){this.fun=t,this.array=e}function u(){}var d,c,f=t.exports={};!function(){try{d="function"==typeof setTimeout?setTimeout:i}catch(t){d=i}try{c="function"==typeof clearTimeout?clearTimeout:r}catch(t){c=r}}();var h,p=[],g=!1,y=-1;f.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)e[i-1]=arguments[i];p.push(new l(t,e)),1!==p.length||g||n(s)},l.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=u,f.addListener=u,f.once=u,f.off=u,f.removeListener=u,f.removeAllListeners=u,f.emit=u,f.binding=function(t){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(t){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#010101" d="M1.425.35L14.575 8l-13.15 7.65V.35z"></path></svg>'},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=i(164),t.exports=e.default},function(t,e,i){var r=i(18),n=i(14),a=i(92)(!1),o=i(43)("IE_PROTO");t.exports=function(t,e){var i,s=n(t),l=0,u=[];for(i in s)i!=o&&r(s,i)&&u.push(i);for(;e.length>l;)r(s,i=e[l++])&&(~a(u,i)||u.push(i));return u}},function(t,e,i){var r=i(42),n=Math.min;t.exports=function(t){return t>0?n(r(t),9007199254740991):0}},function(t,e,i){var r=i(19),n=i(11),a=i(27);t.exports=function(t,e){var i=(n.Object||{})[t]||Object[t],o={};o[t]=e(i),r(r.S+r.F*a(function(){i(1)}),"Object",o)}},function(t,e,i){t.exports=!i(20)&&!i(27)(function(){return 7!=Object.defineProperty(i(64)("div"),"a",{get:function(){return 7}}).a})},function(t,e,i){var r=i(26),n=i(15).document,a=r(n)&&r(n.createElement);t.exports=function(t){return a?n.createElement(t):{}}},function(t,e,i){"use strict";var r=i(97)(!0);i(66)(String,"String",function(t){this._t=String(t),this._i=0},function(){var t,e=this._t,i=this._i;return i>=e.length?{value:void 0,done:!0}:(t=r(e,i),this._i+=t.length,{value:t,done:!1})})},function(t,e,i){"use strict";var r=i(48),n=i(19),a=i(67),o=i(22),s=i(18),l=i(29),u=i(98),d=i(50),c=i(101),f=i(12)("iterator"),h=!([].keys&&"next"in[].keys()),p=function(){return this};t.exports=function(t,e,i,g,y,v,m){u(i,e,g);var b,_,E,T=function(t){if(!h&&t in L)return L[t];switch(t){case"keys":case"values":return function(){return new i(this,t)}}return function(){return new i(this,t)}},k=e+" Iterator",A="values"==y,S=!1,L=t.prototype,R=L[f]||L["@@iterator"]||y&&L[y],w=R||T(y),C=y?A?T("entries"):w:void 0,O="Array"==e?L.entries||R:R;if(O&&(E=c(O.call(new t)))!==Object.prototype&&(d(E,k,!0),r||s(E,f)||o(E,f,p)),A&&R&&"values"!==R.name&&(S=!0,w=function(){return R.call(this)}),r&&!m||!h&&!S&&L[f]||o(L,f,w),l[e]=w,l[k]=p,y)if(b={values:A?w:T("values"),keys:v?w:T("keys"),entries:C},m)for(_ in b)_ in L||a(L,_,b[_]);else n(n.P+n.F*(h||S),e,b);return b}},function(t,e,i){t.exports=i(22)},function(t,e){e.f=Object.getOwnPropertySymbols},function(t,e,i){var r=i(60),n=i(45).concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,n)}},function(t,e,i){t.exports={default:i(117),__esModule:!0}},function(t,e,i){t.exports={default:i(123),__esModule:!0}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(133),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(136),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(138),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e){t.exports="<%=baseUrl%>/a8c874b93b3d848f39a71260c57e3863.cur"},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" fill="#010101" d="M1.712 14.76H6.43V1.24H1.71v13.52zm7.86-13.52v13.52h4.716V1.24H9.573z"></path></svg>'},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(151),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){t.exports={default:i(153),__esModule:!0}},function(t,e,i){"use strict";e.__esModule=!0;var r=i(78),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=function(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return(0,n.default)(t)}},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(163),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(168),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(169),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(172),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(174),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(176),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(189),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(88),a=r(n),o=i(5),s=r(o),l=i(4),u=r(l),d=i(9),c=r(d),f=i(37),h=r(f),p=i(30),g=r(p),y=i(38),v=r(y),m=i(36),b=r(m),_=i(17),E=r(_),T=i(21),k=r(T),A=i(13),S=r(A),L=i(73),R=r(L),w=i(72),C=r(w),O=i(77),D=r(O),P=i(24),I=r(P),x=i(74),N=r(x),M=i(34),F=r(M),B=i(59),U=r(B),G=i(80),j=r(G),V=i(82),K=r(V),Y=i(83),H=r(Y),$=i(81),z=r($),W=i(35),q=r(W),X=i(84),Z=r(X),J=i(85),Q=r(J),tt=i(86),et=r(tt),it=i(55),rt=r(it),nt=i(7),at=r(nt),ot=i(56),st=r(ot),lt=i(8),ut=r(lt),dt=i(6),ct=r(dt);e.default={Player:a.default,Mediator:I.default,Events:u.default,Browser:S.default,PlayerInfo:F.default,MediaControl:N.default,ContainerPlugin:h.default,UIContainerPlugin:b.default,CorePlugin:g.default,UICorePlugin:v.default,Playback:c.default,Container:R.default,Core:C.default,Loader:D.default,BaseObject:E.default,UIObject:k.default,Utils:s.default,BaseFlashPlayback:U.default,Flash:j.default,FlasHLS:K.default,HLS:H.default,HTML5Audio:z.default,HTML5Video:q.default,HTMLImg:Z.default,NoOp:Q.default,Poster:et.default,Log:rt.default,Styler:at.default,Vendor:st.default,version:"0.2.74",template:ut.default,$:ct.default},t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),a=r(n),o=i(0),s=r(o),l=i(1),u=r(l),d=i(3),c=r(d),f=i(2),h=r(f),p=i(5),g=i(17),y=r(g),v=i(4),m=r(v),b=i(13),_=r(b),E=i(131),T=r(E),k=i(77),A=r(k),S=i(34),L=r(S),R=i(6),w=r(R),C=(0,p.currentScriptUrl)().replace(/\/[^\/]+$/,""),O=function(t){function e(i){(0,s.default)(this,e);var r=(0,u.default)(this,t.call(this,i)),n={playerId:(0,p.uniqueId)(""),persistConfig:!0,width:640,height:360,baseUrl:C,allowUserInteraction:_.default.isMobile};return r._options=w.default.extend(n,i),r.options.sources=r._normalizeSources(i),r.options.chromeless||(r.options.allowUserInteraction=!0),r.options.allowUserInteraction||(r.options.disableKeyboardShortcuts=!0),r._registerOptionEventListeners(),r._coreFactory=new T.default(r),r.playerInfo=L.default.getInstance(r.options.playerId),r.playerInfo.currentSize={width:i.width,height:i.height},r.playerInfo.options=r.options,r.options.parentId?r.setParentId(r.options.parentId):r.options.parent&&r.attachTo(r.options.parent),r}return(0,h.default)(e,t),(0,c.default)(e,[{key:"loader",set:function(t){this._loader=t},get:function(){return this._loader||(this._loader=new A.default(this.options.plugins||{},this.options.playerId)),this._loader}},{key:"ended",get:function(){return this.core.mediaControl.container.ended}},{key:"buffering",get:function(){return this.core.mediaControl.container.buffering}},{key:"isReady",get:function(){return!!this._ready}},{key:"eventsMapping",get:function(){return{onReady:m.default.PLAYER_READY,onResize:m.default.PLAYER_RESIZE,onPlay:m.default.PLAYER_PLAY,onPause:m.default.PLAYER_PAUSE,onStop:m.default.PLAYER_STOP,onEnded:m.default.PLAYER_ENDED,onSeek:m.default.PLAYER_SEEK,onError:m.default.PLAYER_ERROR,onTimeUpdate:m.default.PLAYER_TIMEUPDATE,onVolumeUpdate:m.default.PLAYER_VOLUMEUPDATE,onSubtitleAvailable:m.default.PLAYER_SUBTITLE_AVAILABLE}}}]),e.prototype.setParentId=function(t){var e=document.querySelector(t);return e&&this.attachTo(e),this},e.prototype.attachTo=function(t){return this.options.parentElement=t,this.core=this._coreFactory.create(),this._addEventListeners(),this},e.prototype._addEventListeners=function(){return this.core.isReady?this._onReady():this.listenToOnce(this.core,m.default.CORE_READY,this._onReady),this.listenTo(this.core.mediaControl,m.default.MEDIACONTROL_CONTAINERCHANGED,this._containerChanged),this.listenTo(this.core,m.default.CORE_FULLSCREEN,this._onFullscreenChange),this},e.prototype._addContainerEventListeners=function(){var t=this.core.mediaControl.container;return t&&(this.listenTo(t,m.default.CONTAINER_PLAY,this._onPlay),this.listenTo(t,m.default.CONTAINER_PAUSE,this._onPause),this.listenTo(t,m.default.CONTAINER_STOP,this._onStop),this.listenTo(t,m.default.CONTAINER_ENDED,this._onEnded),this.listenTo(t,m.default.CONTAINER_SEEK,this._onSeek),this.listenTo(t,m.default.CONTAINER_ERROR,this._onError),this.listenTo(t,m.default.CONTAINER_TIMEUPDATE,this._onTimeUpdate),this.listenTo(t,m.default.CONTAINER_VOLUME,this._onVolumeUpdate),this.listenTo(t,m.default.CONTAINER_SUBTITLE_AVAILABLE,this._onSubtitleAvailable)),this},e.prototype._registerOptionEventListeners=function(){var t=this,e=this.options.events||{};return(0,a.default)(e).forEach(function(i){var r=t.eventsMapping[i];if(r){var n=e[i];n="function"==typeof n&&n,n&&t.on(r,n)}}),this},e.prototype._containerChanged=function(){this.stopListening(),this._addEventListeners()},e.prototype._onReady=function(){this._ready=!0,this._addContainerEventListeners(),this.trigger(m.default.PLAYER_READY)},e.prototype._onFullscreenChange=function(t){this.trigger(m.default.PLAYER_FULLSCREEN,t)},e.prototype._onVolumeUpdate=function(t){this.trigger(m.default.PLAYER_VOLUMEUPDATE,t)},e.prototype._onSubtitleAvailable=function(){this.trigger(m.default.PLAYER_SUBTITLE_AVAILABLE)},e.prototype._onPlay=function(){this.trigger(m.default.PLAYER_PLAY)},e.prototype._onPause=function(){this.trigger(m.default.PLAYER_PAUSE)},e.prototype._onStop=function(){this.trigger(m.default.PLAYER_STOP,this.getCurrentTime())},e.prototype._onEnded=function(){this.trigger(m.default.PLAYER_ENDED)},e.prototype._onSeek=function(t){this.trigger(m.default.PLAYER_SEEK,t)},e.prototype._onTimeUpdate=function(t){this.trigger(m.default.PLAYER_TIMEUPDATE,t)},e.prototype._onError=function(t){this.trigger(m.default.PLAYER_ERROR,t)},e.prototype._normalizeSources=function(t){var e=t.sources||(void 0!==t.source?[t.source]:[]);return 0===e.length?[{source:"",mimeType:""}]:e},e.prototype.resize=function(t){return this.core.resize(t),this},e.prototype.load=function(t,e,i){return void 0!==i&&this.configure({autoPlay:!!i}),this.core.load(t,e),this},e.prototype.destroy=function(){return this.core.destroy(),this},e.prototype.consent=function(){return this.core.getCurrentPlayback().consent(),this},e.prototype.play=function(){return this.core.mediaControl.container.play(),this},e.prototype.pause=function(){return this.core.mediaControl.container.pause(),this},e.prototype.stop=function(){return this.core.mediaControl.container.stop(),this},e.prototype.seek=function(t){return this.core.mediaControl.container.seek(t),this},e.prototype.seekPercentage=function(t){return this.core.mediaControl.container.seekPercentage(t),this},e.prototype.setVolume=function(t){return this.core&&this.core.mediaControl&&this.core.mediaControl.setVolume(t),this},e.prototype.getVolume=function(){return this.core&&this.core.mediaControl?this.core.mediaControl.volume:0},e.prototype.mute=function(){return this._mutedVolume=this.getVolume(),this.setVolume(0),this},e.prototype.unmute=function(){return this.setVolume("number"==typeof this._mutedVolume?this._mutedVolume:100),this._mutedVolume=null,this},e.prototype.isPlaying=function(){return this.core.mediaControl.container.isPlaying()},e.prototype.isDvrEnabled=function(){return this.core.mediaControl.container.isDvrEnabled()},e.prototype.isDvrInUse=function(){return this.core.mediaControl.container.isDvrInUse()},e.prototype.configure=function(t){return this.core.configure(t),this},e.prototype.getPlugin=function(t){return this.core.plugins.concat(this.core.mediaControl.container.plugins).filter(function(e){return e.name===t})[0]},e.prototype.getCurrentTime=function(){return this.core.mediaControl.container.getCurrentTime()},e.prototype.getStartTimeOffset=function(){return this.core.mediaControl.container.getStartTimeOffset()},e.prototype.getDuration=function(){return this.core.mediaControl.container.getDuration()},e}(y.default);e.default=O,t.exports=e.default},function(t,e,i){i(90),t.exports=i(11).Object.keys},function(t,e,i){var r=i(39),n=i(25);i(62)("keys",function(){return function(t){return n(r(t))}})},function(t,e,i){var r=i(41);t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},function(t,e,i){var r=i(14),n=i(61),a=i(93);t.exports=function(t){return function(e,i,o){var s,l=r(e),u=n(l.length),d=a(o,u);if(t&&i!=i){for(;u>d;)if((s=l[d++])!=s)return!0}else for(;u>d;d++)if((t||d in l)&&l[d]===i)return t||d||0;return!t&&-1}}},function(t,e,i){var r=i(42),n=Math.max,a=Math.min;t.exports=function(t,e){return t=r(t),t<0?n(t+e,0):a(t,e)}},function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},function(t,e,i){t.exports={default:i(96),__esModule:!0}},function(t,e,i){i(65),i(102),t.exports=i(51).f("iterator")},function(t,e,i){var r=i(42),n=i(40);t.exports=function(t){return function(e,i){var a,o,s=String(n(e)),l=r(i),u=s.length;return l<0||l>=u?t?"":void 0:(a=s.charCodeAt(l),a<55296||a>56319||l+1===u||(o=s.charCodeAt(l+1))<56320||o>57343?t?s.charAt(l):a:t?s.slice(l,l+2):o-56320+(a-55296<<10)+65536)}}},function(t,e,i){"use strict";var r=i(49),n=i(28),a=i(50),o={};i(22)(o,i(12)("iterator"),function(){return this}),t.exports=function(t,e,i){t.prototype=r(o,{next:n(1,i)}),a(t,e+" Iterator")}},function(t,e,i){var r=i(16),n=i(23),a=i(25);t.exports=i(20)?Object.defineProperties:function(t,e){n(t);for(var i,o=a(e),s=o.length,l=0;s>l;)r.f(t,i=o[l++],e[i]);return t}},function(t,e,i){t.exports=i(15).document&&document.documentElement},function(t,e,i){var r=i(18),n=i(39),a=i(43)("IE_PROTO"),o=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=n(t),r(t,a)?t[a]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?o:null}},function(t,e,i){i(103);for(var r=i(15),n=i(22),a=i(29),o=i(12)("toStringTag"),s=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],l=0;l<5;l++){var u=s[l],d=r[u],c=d&&d.prototype;c&&!c[o]&&n(c,o,u),a[u]=a.Array}},function(t,e,i){"use strict";var r=i(104),n=i(105),a=i(29),o=i(14);t.exports=i(66)(Array,"Array",function(t,e){this._t=o(t),this._i=0,this._k=e},function(){var t=this._t,e=this._k,i=this._i++;return!t||i>=t.length?(this._t=void 0,n(1)):"keys"==e?n(0,i):"values"==e?n(0,t[i]):n(0,[i,t[i]])},"values"),a.Arguments=a.Array,r("keys"),r("values"),r("entries")},function(t,e){t.exports=function(){}},function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},function(t,e,i){t.exports={default:i(107),__esModule:!0}},function(t,e,i){i(108),i(114),i(115),i(116),t.exports=i(11).Symbol},function(t,e,i){"use strict";var r=i(15),n=i(18),a=i(20),o=i(19),s=i(67),l=i(109).KEY,u=i(27),d=i(44),c=i(50),f=i(32),h=i(12),p=i(51),g=i(52),y=i(110),v=i(111),m=i(112),b=i(23),_=i(14),E=i(47),T=i(28),k=i(49),A=i(113),S=i(54),L=i(16),R=i(25),w=S.f,C=L.f,O=A.f,D=r.Symbol,P=r.JSON,I=P&&P.stringify,x=h("_hidden"),N=h("toPrimitive"),M={}.propertyIsEnumerable,F=d("symbol-registry"),B=d("symbols"),U=d("op-symbols"),G=Object.prototype,j="function"==typeof D,V=r.QObject,K=!V||!V.prototype||!V.prototype.findChild,Y=a&&u(function(){return 7!=k(C({},"a",{get:function(){return C(this,"a",{value:7}).a}})).a})?function(t,e,i){var r=w(G,e);r&&delete G[e],C(t,e,i),r&&t!==G&&C(G,e,r)}:C,H=function(t){var e=B[t]=k(D.prototype);return e._k=t,e},$=j&&"symbol"==typeof D.iterator?function(t){return"symbol"==typeof t}:function(t){return t instanceof D},z=function(t,e,i){return t===G&&z(U,e,i),b(t),e=E(e,!0),b(i),n(B,e)?(i.enumerable?(n(t,x)&&t[x][e]&&(t[x][e]=!1),i=k(i,{enumerable:T(0,!1)})):(n(t,x)||C(t,x,T(1,{})),t[x][e]=!0),Y(t,e,i)):C(t,e,i)},W=function(t,e){b(t);for(var i,r=v(e=_(e)),n=0,a=r.length;a>n;)z(t,i=r[n++],e[i]);return t},q=function(t,e){return void 0===e?k(t):W(k(t),e)},X=function(t){var e=M.call(this,t=E(t,!0));return!(this===G&&n(B,t)&&!n(U,t))&&(!(e||!n(this,t)||!n(B,t)||n(this,x)&&this[x][t])||e)},Z=function(t,e){if(t=_(t),e=E(e,!0),t!==G||!n(B,e)||n(U,e)){var i=w(t,e);return!i||!n(B,e)||n(t,x)&&t[x][e]||(i.enumerable=!0),i}},J=function(t){for(var e,i=O(_(t)),r=[],a=0;i.length>a;)n(B,e=i[a++])||e==x||e==l||r.push(e);return r},Q=function(t){for(var e,i=t===G,r=O(i?U:_(t)),a=[],o=0;r.length>o;)!n(B,e=r[o++])||i&&!n(G,e)||a.push(B[e]);return a};j||(D=function(){if(this instanceof D)throw TypeError("Symbol is not a constructor!");var t=f(arguments.length>0?arguments[0]:void 0),e=function(i){this===G&&e.call(U,i),n(this,x)&&n(this[x],t)&&(this[x][t]=!1),Y(this,t,T(1,i))};return a&&K&&Y(G,t,{configurable:!0,set:e}),H(t)},s(D.prototype,"toString",function(){return this._k}),S.f=Z,L.f=z,i(69).f=A.f=J,i(53).f=X,i(68).f=Q,a&&!i(48)&&s(G,"propertyIsEnumerable",X,!0),p.f=function(t){return H(h(t))}),o(o.G+o.W+o.F*!j,{Symbol:D});for(var tt="hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables".split(","),et=0;tt.length>et;)h(tt[et++]);for(var tt=R(h.store),et=0;tt.length>et;)g(tt[et++]);o(o.S+o.F*!j,"Symbol",{for:function(t){return n(F,t+="")?F[t]:F[t]=D(t)},keyFor:function(t){if($(t))return y(F,t);throw TypeError(t+" is not a symbol!")},useSetter:function(){K=!0},useSimple:function(){K=!1}}),o(o.S+o.F*!j,"Object",{create:q,defineProperty:z,defineProperties:W,getOwnPropertyDescriptor:Z,getOwnPropertyNames:J,getOwnPropertySymbols:Q}),P&&o(o.S+o.F*(!j||u(function(){var t=D();return"[null]"!=I([t])||"{}"!=I({a:t})||"{}"!=I(Object(t))})),"JSON",{stringify:function(t){if(void 0!==t&&!$(t)){for(var e,i,r=[t],n=1;arguments.length>n;)r.push(arguments[n++]);return e=r[1],"function"==typeof e&&(i=e),!i&&m(e)||(e=function(t,e){if(i&&(e=i.call(this,t,e)),!$(e))return e}),r[1]=e,I.apply(P,r)}}}),D.prototype[N]||i(22)(D.prototype,N,D.prototype.valueOf),c(D,"Symbol"),c(Math,"Math",!0),c(r.JSON,"JSON",!0)},function(t,e,i){var r=i(32)("meta"),n=i(26),a=i(18),o=i(16).f,s=0,l=Object.isExtensible||function(){return!0},u=!i(27)(function(){return l(Object.preventExtensions({}))}),d=function(t){o(t,r,{value:{i:"O"+ ++s,w:{}}})},c=function(t,e){if(!n(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!a(t,r)){if(!l(t))return"F";if(!e)return"E";d(t)}return t[r].i},f=function(t,e){if(!a(t,r)){if(!l(t))return!0;if(!e)return!1;d(t)}return t[r].w},h=function(t){return u&&p.NEED&&l(t)&&!a(t,r)&&d(t),t},p=t.exports={KEY:r,NEED:!1,fastKey:c,getWeak:f,onFreeze:h}},function(t,e,i){var r=i(25),n=i(14);t.exports=function(t,e){for(var i,a=n(t),o=r(a),s=o.length,l=0;s>l;)if(a[i=o[l++]]===e)return i}},function(t,e,i){var r=i(25),n=i(68),a=i(53);t.exports=function(t){var e=r(t),i=n.f;if(i)for(var o,s=i(t),l=a.f,u=0;s.length>u;)l.call(t,o=s[u++])&&e.push(o);return e}},function(t,e,i){var r=i(41);t.exports=Array.isArray||function(t){return"Array"==r(t)}},function(t,e,i){var r=i(14),n=i(69).f,a={}.toString,o="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return n(t)}catch(t){return o.slice()}};t.exports.f=function(t){return o&&"[object Window]"==a.call(t)?s(t):n(r(t))}},function(t,e){},function(t,e,i){i(52)("asyncIterator")},function(t,e,i){i(52)("observable")},function(t,e,i){i(118);var r=i(11).Object;t.exports=function(t,e,i){return r.defineProperty(t,e,i)}},function(t,e,i){var r=i(19);r(r.S+r.F*!i(20),"Object",{defineProperty:i(16).f})},function(t,e,i){t.exports={default:i(120),__esModule:!0}},function(t,e,i){i(121),t.exports=i(11).Object.setPrototypeOf},function(t,e,i){var r=i(19);r(r.S,"Object",{setPrototypeOf:i(122).set})},function(t,e,i){var r=i(26),n=i(23),a=function(t,e){if(n(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};t.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(t,e,r){try{r=i(46)(Function.call,i(54).f(Object.prototype,"__proto__").set,2),r(t,[]),e=!(t instanceof Array)}catch(t){e=!0}return function(t,i){return a(t,i),e?t.__proto__=i:r(t,i),t}}({},!1):void 0),check:a}},function(t,e,i){i(124);var r=i(11).Object;t.exports=function(t,e){return r.create(t,e)}},function(t,e,i){var r=i(19);r(r.S,"Object",{create:i(49)})},function(t,e,i){t.exports={default:i(126),__esModule:!0}},function(t,e,i){i(127);var r=i(11).Object;t.exports=function(t,e){return r.getOwnPropertyDescriptor(t,e)}},function(t,e,i){var r=i(14),n=i(54).f;i(62)("getOwnPropertyDescriptor",function(){return function(t,e){return n(r(t),e)}})},function(t,e,i){"use strict";Array.prototype.find||Object.defineProperty(Array.prototype,"find",{value:function(t){if(null==this)throw new TypeError('"this" is null or not defined');var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError("predicate must be a function");for(var r=arguments[1],n=0;n<i;){var a=e[n];if(t.call(r,a,n,e))return a;n++}}})},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(0),n=function(t){return t&&t.__esModule?t:{default:t}}(r),a=i(56),o="font-weight: bold; font-size: 13px;",s="color: #ff8000;"+o,l="color: #ff0000;"+o,u=1,d=3,c=["color: #0000ff;font-weight: bold; font-size: 13px;","color: #006600;font-weight: bold; font-size: 13px;",s,l,l],f=["debug","info","warn","error","disabled"],h=function(){function t(){var e=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:u,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:d;(0,n.default)(this,t),this.kibo=new a.Kibo,this.kibo.down(["ctrl shift d"],function(){return e.onOff()}),this.BLACKLIST=["timeupdate","playback:timeupdate","playback:progress","container:hover","container:timeupdate","container:progress"],this.level=i,this.offLevel=r}return t.prototype.debug=function(t){this.log(t,0,Array.prototype.slice.call(arguments,1))},t.prototype.info=function(t){this.log(t,u,Array.prototype.slice.call(arguments,1))},t.prototype.warn=function(t){this.log(t,2,Array.prototype.slice.call(arguments,1))},t.prototype.error=function(t){this.log(t,3,Array.prototype.slice.call(arguments,1))},t.prototype.onOff=function(){this.level===this.offLevel?this.level=this.previousLevel:(this.previousLevel=this.level,this.level=this.offLevel),window.console&&window.console.log&&window.console.log("%c[Clappr.Log] set log level to "+f[this.level],s)},t.prototype.level=function(t){this.level=t},t.prototype.log=function(t,e,i){if(!(this.BLACKLIST.indexOf(i[0])>=0||e<this.level)){i||(i=t,t=null);var r=c[e],n="";t&&(n="["+t+"]"),window.console&&window.console.log&&window.console.log.apply(console,["%c["+f[e]+"]"+n,r].concat(i))}},t}();e.default=h,h.LEVEL_DEBUG=0,h.LEVEL_INFO=u,h.LEVEL_WARN=2,h.LEVEL_ERROR=3,h.getInstance=function(){return void 0===this._instance&&(this._instance=new this,this._instance.previousLevel=this._instance.level,this._instance.level=this._instance.offLevel),this._instance},h.setLevel=function(t){this.getInstance().level=t},h.debug=function(){this.getInstance().debug.apply(this.getInstance(),arguments)},h.info=function(){this.getInstance().info.apply(this.getInstance(),arguments)},h.warn=function(){this.getInstance().warn.apply(this.getInstance(),arguments)},h.error=function(){this.getInstance().error.apply(this.getInstance(),arguments)},t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=function(t){this.element=t||window.document,this.initialize()};r.KEY_NAMES_BY_CODE={8:"backspace",9:"tab",13:"enter",16:"shift",17:"ctrl",18:"alt",20:"caps_lock",27:"esc",32:"space",37:"left",38:"up",39:"right",40:"down",48:"0",49:"1",50:"2",51:"3",52:"4",53:"5",54:"6",55:"7",56:"8",57:"9",65:"a",66:"b",67:"c",68:"d",69:"e",70:"f",71:"g",72:"h",73:"i",74:"j",75:"k",76:"l",77:"m",78:"n",79:"o",80:"p",81:"q",82:"r",83:"s",84:"t",85:"u",86:"v",87:"w",88:"x",89:"y",90:"z",112:"f1",113:"f2",114:"f3",115:"f4",116:"f5",117:"f6",118:"f7",119:"f8",120:"f9",121:"f10",122:"f11",123:"f12"},r.KEY_CODES_BY_NAME={},function(){for(var t in r.KEY_NAMES_BY_CODE)Object.prototype.hasOwnProperty.call(r.KEY_NAMES_BY_CODE,t)&&(r.KEY_CODES_BY_NAME[r.KEY_NAMES_BY_CODE[t]]=+t)}(),r.MODIFIERS=["shift","ctrl","alt"],r.registerEvent=function(){return document.addEventListener?function(t,e,i){t.addEventListener(e,i,!1)}:document.attachEvent?function(t,e,i){t.attachEvent("on"+e,i)}:void 0}(),r.unregisterEvent=function(){return document.removeEventListener?function(t,e,i){t.removeEventListener(e,i,!1)}:document.detachEvent?function(t,e,i){t.detachEvent("on"+e,i)}:void 0}(),r.stringContains=function(t,e){return-1!==t.indexOf(e)},r.neatString=function(t){return t.replace(/^\s+|\s+$/g,"").replace(/\s+/g," ")},r.capitalize=function(t){return t.toLowerCase().replace(/^./,function(t){return t.toUpperCase()})},r.isString=function(t){return r.stringContains(Object.prototype.toString.call(t),"String")},r.arrayIncludes=function(){return Array.prototype.indexOf?function(t,e){return-1!==t.indexOf(e)}:function(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return!0;return!1}}(),r.extractModifiers=function(t){var e,i;for(e=[],i=0;i<r.MODIFIERS.length;i++)r.stringContains(t,r.MODIFIERS[i])&&e.push(r.MODIFIERS[i]);return e},r.extractKey=function(t){var e,i;for(e=r.neatString(t).split(" "),i=0;i<e.length;i++)if(!r.arrayIncludes(r.MODIFIERS,e[i]))return e[i]},r.modifiersAndKey=function(t){var e,i;return r.stringContains(t,"any")?r.neatString(t).split(" ").slice(0,2).join(" "):(e=r.extractModifiers(t),i=r.extractKey(t),i&&!r.arrayIncludes(r.MODIFIERS,i)&&e.push(i),e.join(" "))},r.keyName=function(t){return r.KEY_NAMES_BY_CODE[t+""]},r.keyCode=function(t){return+r.KEY_CODES_BY_NAME[t]},r.prototype.initialize=function(){var t,e=this;for(this.lastKeyCode=-1,this.lastModifiers={},t=0;t<r.MODIFIERS.length;t++)this.lastModifiers[r.MODIFIERS[t]]=!1;this.keysDown={any:[]},this.keysUp={any:[]},this.downHandler=this.handler("down"),this.upHandler=this.handler("up"),r.registerEvent(this.element,"keydown",this.downHandler),r.registerEvent(this.element,"keyup",this.upHandler),r.registerEvent(window,"unload",function t(){r.unregisterEvent(e.element,"keydown",e.downHandler),r.unregisterEvent(e.element,"keyup",e.upHandler),r.unregisterEvent(window,"unload",t)})},r.prototype.handler=function(t){var e=this;return function(i){var n,a,o;for(i=i||window.event,e.lastKeyCode=i.keyCode,n=0;n<r.MODIFIERS.length;n++)e.lastModifiers[r.MODIFIERS[n]]=i[r.MODIFIERS[n]+"Key"];for(r.arrayIncludes(r.MODIFIERS,r.keyName(e.lastKeyCode))&&(e.lastModifiers[r.keyName(e.lastKeyCode)]=!0),a=e["keys"+r.capitalize(t)],n=0;n<a.any.length;n++)!1===a.any[n](i)&&i.preventDefault&&i.preventDefault();if(o=e.lastModifiersAndKey(),a[o])for(n=0;n<a[o].length;n++)!1===a[o][n](i)&&i.preventDefault&&i.preventDefault()}},r.prototype.registerKeys=function(t,e,i){var n,a,o=this["keys"+r.capitalize(t)];for(r.isString(e)&&(e=[e]),n=0;n<e.length;n++)a=e[n],a=r.modifiersAndKey(a+""),o[a]?o[a].push(i):o[a]=[i];return this},r.prototype.unregisterKeys=function(t,e,i){var n,a,o,s=this["keys"+r.capitalize(t)];for(r.isString(e)&&(e=[e]),n=0;n<e.length;n++)if(o=e[n],o=r.modifiersAndKey(o+""),null===i)delete s[o];else if(s[o])for(a=0;a<s[o].length;a++)if(String(s[o][a])===String(i)){s[o].splice(a,1);break}return this},r.prototype.off=function(t){return this.unregisterKeys("down",t,null)},r.prototype.delegate=function(t,e,i){return null!==i||void 0!==i?this.registerKeys(t,e,i):this.unregisterKeys(t,e,i)},r.prototype.down=function(t,e){return this.delegate("down",t,e)},r.prototype.up=function(t,e){return this.delegate("up",t,e)},r.prototype.lastKey=function(t){return t?this.lastModifiers[t]:r.keyName(this.lastKeyCode)},r.prototype.lastModifiersAndKey=function(){var t,e;for(t=[],e=0;e<r.MODIFIERS.length;e++)this.lastKey(r.MODIFIERS[e])&&t.push(r.MODIFIERS[e]);return r.arrayIncludes(t,this.lastKey())||t.push(this.lastKey()),t.join(" ")},e.default=r,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(132),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(17),h=r(f),p=i(72),g=r(p),y=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this));return r.player=i,r._options=i.options,r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"loader",get:function(){return this.player.loader}}]),e.prototype.create=function(){return this.options.loader=this.loader,this.core=new g.default(this.options),this.addCorePlugins(),this.core.createContainers(this.options),this.core},e.prototype.addCorePlugins=function(){var t=this;return this.loader.corePlugins.forEach(function(e){var i=new e(t.core);t.core.addPlugin(i),t.setupExternalInterface(i)}),this.core},e.prototype.setupExternalInterface=function(t){var e=t.getExternalInterface();for(var i in e)this.player[i]=e[i].bind(t)},e}(h.default);e.default=y,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(4),p=r(h),g=i(7),y=r(g),v=i(21),m=r(v),b=i(13),_=r(b),E=i(134),T=r(E),k=i(74),A=r(k),S=i(24),L=r(S),R=i(34),w=r(R),C=i(6),O=r(C),D=i(149),P=r(D),I=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.configureDomRecycler(),r.playerInfo=w.default.getInstance(i.playerId),r.firstResize=!0,r.plugins=[],r.containers=[],r.setupMediaControl(null),r._boundFullscreenHandler=function(){return r.handleFullscreenChange()},(0,O.default)(document).bind("fullscreenchange",r._boundFullscreenHandler),(0,O.default)(document).bind("MSFullscreenChange",r._boundFullscreenHandler),(0,O.default)(document).bind("mozfullscreenchange",r._boundFullscreenHandler),_.default.isMobile&&(0,O.default)(window).bind("resize",function(t){r.handleWindowResize(t)}),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"events",get:function(){return{webkitfullscreenchange:"handleFullscreenChange",mousemove:"showMediaControl",mouseleave:"hideMediaControl"}}},{key:"attributes",get:function(){return{"data-player":"",tabindex:9999}}},{key:"isReady",get:function(){return!!this.ready}},{key:"i18n",get:function(){return this.getPlugin("strings")||{t:function(t){return t}}}}]),e.prototype.configureDomRecycler=function(){var t=!!(this.options&&this.options.playback&&this.options.playback.recycleVideo);f.DomRecycler.configure({recycleVideo:t})},e.prototype.createContainers=function(t){var e=this;this.defer=O.default.Deferred(),this.defer.promise(this),this.containerFactory=new T.default(t,t.loader,this.i18n),this.containerFactory.createContainers().then(function(t){return e.setupContainers(t)}).then(function(t){return e.resolveOnContainersReady(t)})},e.prototype.updateSize=function(){f.Fullscreen.isFullscreen()?this.setFullscreen():this.setPlayerSize()},e.prototype.setFullscreen=function(){_.default.isiOS||(this.$el.addClass("fullscreen"),this.$el.removeAttr("style"),this.playerInfo.previousSize={width:this.options.width,height:this.options.height},this.playerInfo.currentSize={width:(0,O.default)(window).width(),height:(0,O.default)(window).height()})},e.prototype.setPlayerSize=function(){this.$el.removeClass("fullscreen"),this.playerInfo.currentSize=this.playerInfo.previousSize,this.playerInfo.previousSize={width:(0,O.default)(window).width(),height:(0,O.default)(window).height()},this.resize(this.playerInfo.currentSize)},e.prototype.resize=function(t){(0,f.isNumber)(t.height)||(0,f.isNumber)(t.width)?(this.el.style.height=t.height+"px",this.el.style.width=t.width+"px"):(this.el.style.height=""+t.height,this.el.style.width=""+t.width),this.playerInfo.previousSize={width:this.options.width,height:this.options.height},this.options.width=t.width,this.options.height=t.height,this.playerInfo.currentSize=t,this.triggerResize(this.playerInfo.currentSize)},e.prototype.enableResizeObserver=function(){var t=this,e=function(){t.playerInfo.computedSize.width==t.el.clientWidth&&t.playerInfo.computedSize.height==t.el.clientHeight||(t.playerInfo.computedSize={width:t.el.clientWidth,height:t.el.clientHeight},t.triggerResize(t.playerInfo.computedSize))};this.resizeObserverInterval=setInterval(e,500)},e.prototype.triggerResize=function(t){(this.firstResize||this.oldHeight!==t.height||this.oldWidth!==t.width)&&(L.default.trigger(this.options.playerId+":"+p.default.PLAYER_RESIZE,t),this.oldHeight=t.height,this.oldWidth=t.width,this.firstResize=!1)},e.prototype.disableResizeObserver=function(){this.resizeObserverInterval&&clearInterval(this.resizeObserverInterval)},e.prototype.resolveOnContainersReady=function(t){var e=this;O.default.when.apply(O.default,t).done(function(){e.defer.resolve(e),e.ready=!0,e.trigger(p.default.CORE_READY)})},e.prototype.addPlugin=function(t){this.plugins.push(t)},e.prototype.hasPlugin=function(t){return!!this.getPlugin(t)},e.prototype.getPlugin=function(t){return this.plugins.filter(function(e){return e.name===t})[0]},e.prototype.load=function(t,e){var i=this;this.options.mimeType=e,t=t&&t.constructor===Array?t:[t],this.containers.forEach(function(t){return t.destroy()}),this.mediaControl.container=null,this.containerFactory.options=O.default.extend(this.options,{sources:t}),this.containerFactory.createContainers().then(function(t){i.setupContainers(t)})},e.prototype.destroy=function(){this.disableResizeObserver(),this.containers.forEach(function(t){return t.destroy()}),this.plugins.forEach(function(t){return t.destroy()}),this.$el.remove(),this.mediaControl.destroy(),(0,O.default)(document).unbind("fullscreenchange",this._boundFullscreenHandler),(0,O.default)(document).unbind("MSFullscreenChange",this._boundFullscreenHandler),(0,O.default)(document).unbind("mozfullscreenchange",this._boundFullscreenHandler)},e.prototype.handleFullscreenChange=function(){this.trigger(p.default.CORE_FULLSCREEN,f.Fullscreen.isFullscreen()),this.updateSize(),this.mediaControl.show()},e.prototype.handleWindowResize=function(t){var e=(0,O.default)(window).width()>(0,O.default)(window).height()?"landscape":"portrait";this._screenOrientation!==e&&(this._screenOrientation=e,this.trigger(p.default.CORE_SCREEN_ORIENTATION_CHANGED,{event:t,orientation:this._screenOrientation}))},e.prototype.setMediaControlContainer=function(t){this.mediaControl.setContainer(t),this.mediaControl.render()},e.prototype.disableMediaControl=function(){this.mediaControl.disable(),this.$el.removeClass("nocursor")},e.prototype.enableMediaControl=function(){this.mediaControl.enable()},e.prototype.removeContainer=function(t){this.stopListening(t),this.containers=this.containers.filter(function(e){return e!==t})},e.prototype.appendContainer=function(t){this.listenTo(t,p.default.CONTAINER_DESTROYED,this.removeContainer),this.containers.push(t)},e.prototype.setupContainers=function(t){return t.map(this.appendContainer.bind(this)),this.trigger(p.default.CORE_CONTAINERS_CREATED),this.renderContainers(),this.setupMediaControl(this.getCurrentContainer()),this.render(),this.$el.appendTo(this.options.parentElement),this.containers},e.prototype.renderContainers=function(){var t=this;this.containers.map(function(e){return t.el.appendChild(e.render().el)})},e.prototype.createContainer=function(t,e){var i=this.containerFactory.createContainer(t,e);return this.appendContainer(i),this.el.appendChild(i.render().el),i},e.prototype.setupMediaControl=function(t){this.mediaControl?this.mediaControl.setContainer(t):(this.mediaControl=this.createMediaControl(O.default.extend({container:t,focusElement:this.el},this.options)),this.listenTo(this.mediaControl,p.default.MEDIACONTROL_FULLSCREEN,this.toggleFullscreen),this.listenTo(this.mediaControl,p.default.MEDIACONTROL_SHOW,this.onMediaControlShow.bind(this,!0)),this.listenTo(this.mediaControl,p.default.MEDIACONTROL_HIDE,this.onMediaControlShow.bind(this,!1)))},e.prototype.createMediaControl=function(t){return t.mediacontrol&&t.mediacontrol.external?new t.mediacontrol.external(t).render():new A.default(t).render()},e.prototype.getCurrentContainer=function(){return this.mediaControl&&this.mediaControl.container?this.mediaControl.container:this.containers[0]},e.prototype.getCurrentPlayback=function(){var t=this.getCurrentContainer();return t&&t.playback},e.prototype.getPlaybackType=function(){var t=this.getCurrentContainer();return t&&t.getPlaybackType()},e.prototype.toggleFullscreen=function(){f.Fullscreen.isFullscreen()?(f.Fullscreen.cancelFullscreen(),_.default.isiOS||this.$el.removeClass("fullscreen nocursor")):(f.Fullscreen.requestFullscreen(this.el),_.default.isiOS||this.$el.addClass("fullscreen")),this.mediaControl.show()},e.prototype.showMediaControl=function(t){this.mediaControl.show(t)},e.prototype.hideMediaControl=function(){this.mediaControl.hide(this.options.hideMediaControlDelay)},e.prototype.onMediaControlShow=function(t){this.getCurrentContainer().trigger(t?p.default.CONTAINER_MEDIACONTROL_SHOW:p.default.CONTAINER_MEDIACONTROL_HIDE),t?this.$el.removeClass("nocursor"):f.Fullscreen.isFullscreen()&&this.$el.addClass("nocursor")},e.prototype.configure=function(t){var e=this;this._options=O.default.extend(this._options,t),this.configureDomRecycler();var i=t.source||t.sources;i?this.load(i,t.mimeType||this.options.mimeType):(this.trigger(p.default.CORE_OPTIONS_CHANGE),this.containers.forEach(function(t){t.configure(e.options)}))},e.prototype.render=function(){this.$style&&this.$style.remove(),this.$style=y.default.getStyleFor(P.default,{baseUrl:this.options.baseUrl}),this.$el.append(this.$style),this.$el.append(this.mediaControl.render().el),this.options.width=this.options.width||this.$el.width(),this.options.height=this.options.height||this.$el.height();var t={width:this.options.width,height:this.options.height};return this.playerInfo.previousSize=this.playerInfo.currentSize=this.playerInfo.computedSize=t,this.updateSize(),this.previousSize={width:this.$el.width(),height:this.$el.height()},this.enableResizeObserver(),this},e}(m.default);e.default=I,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(135),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(33),a=r(n),o=i(0),s=r(o),l=i(1),u=r(l),d=i(3),c=r(d),f=i(2),h=r(f),p=i(17),g=r(p),y=i(4),v=r(y),m=i(73),b=r(m),_=i(6),E=r(_),T=function(t){function e(i,r,n){(0,s.default)(this,e);var a=(0,u.default)(this,t.call(this,i));return a._i18n=n,a.loader=r,a}return(0,h.default)(e,t),(0,c.default)(e,[{key:"options",get:function(){return this._options},set:function(t){this._options=t}}]),e.prototype.createContainers=function(){var t=this;return E.default.Deferred(function(e){e.resolve(t.options.sources.map(function(e){return t.createContainer(e)}))})},e.prototype.findPlaybackPlugin=function(t,e){return this.loader.playbackPlugins.filter(function(i){return i.canPlay(t,e)})[0]},e.prototype.createContainer=function(t){var e=null,i=this.options.mimeType;"object"===(void 0===t?"undefined":(0,a.default)(t))?(e=t.source.toString(),t.mimeType&&(i=t.mimeType)):e=t.toString(),e.match(/^\/\//)&&(e=window.location.protocol+e);var r=E.default.extend({},this.options,{src:e,mimeType:i}),n=this.findPlaybackPlugin(e,i),o=new n(r,this._i18n);r=E.default.extend({},r,{playback:o});var s=new b.default(r,this._i18n),l=E.default.Deferred();return l.promise(s),this.addContainerPlugins(s),this.listenToOnce(s,v.default.CONTAINER_READY,function(){return l.resolve(s)}),s},e.prototype.addContainerPlugins=function(t){this.loader.containerPlugins.forEach(function(e){t.addPlugin(new e(t))})},e}(g.default);e.default=T,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(4),h=r(f),p=i(21),g=r(p),y=i(7),v=r(y),m=i(137),b=r(m),_=i(6),E=r(_),T=function(t){function e(i,r){(0,a.default)(this,e);var n=(0,s.default)(this,t.call(this,i));return n._i18n=r,n.currentTime=0,n.volume=100,n.playback=i.playback,n.settings=E.default.extend({},n.playback.settings),n.isReady=!1,n.mediaControlDisabled=!1,n.plugins=[n.playback],n.bindEvents(),n}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"Container"}},{key:"attributes",get:function(){return{class:"container","data-container":""}}},{key:"events",get:function(){return{click:"clicked",dblclick:"dblClicked",doubleTap:"dblClicked",contextmenu:"onContextMenu",mouseenter:"mouseEnter",mouseleave:"mouseLeave"}}},{key:"ended",get:function(){return this.playback.ended}},{key:"buffering",get:function(){return this.playback.buffering}},{key:"i18n",get:function(){return this._i18n}},{key:"hasClosedCaptionsTracks",get:function(){return this.playback.hasClosedCaptionsTracks}},{key:"closedCaptionsTracks",get:function(){return this.playback.closedCaptionsTracks}},{key:"closedCaptionsTrackId",get:function(){return this.playback.closedCaptionsTrackId},set:function(t){this.playback.closedCaptionsTrackId=t}}]),e.prototype.bindEvents=function(){this.listenTo(this.playback,h.default.PLAYBACK_PROGRESS,this.progress),this.listenTo(this.playback,h.default.PLAYBACK_TIMEUPDATE,this.timeUpdated),this.listenTo(this.playback,h.default.PLAYBACK_READY,this.ready),this.listenTo(this.playback,h.default.PLAYBACK_BUFFERING,this.onBuffering),this.listenTo(this.playback,h.default.PLAYBACK_BUFFERFULL,this.bufferfull),this.listenTo(this.playback,h.default.PLAYBACK_SETTINGSUPDATE,this.settingsUpdate),this.listenTo(this.playback,h.default.PLAYBACK_LOADEDMETADATA,this.loadedMetadata),this.listenTo(this.playback,h.default.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinitionUpdate),this.listenTo(this.playback,h.default.PLAYBACK_BITRATE,this.updateBitrate),this.listenTo(this.playback,h.default.PLAYBACK_PLAYBACKSTATE,this.playbackStateChanged),this.listenTo(this.playback,h.default.PLAYBACK_DVR,this.playbackDvrStateChanged),this.listenTo(this.playback,h.default.PLAYBACK_MEDIACONTROL_DISABLE,this.disableMediaControl),this.listenTo(this.playback,h.default.PLAYBACK_MEDIACONTROL_ENABLE,this.enableMediaControl),this.listenTo(this.playback,h.default.PLAYBACK_SEEKED,this.onSeeked),this.listenTo(this.playback,h.default.PLAYBACK_ENDED,this.onEnded),this.listenTo(this.playback,h.default.PLAYBACK_PLAY,this.playing),this.listenTo(this.playback,h.default.PLAYBACK_PAUSE,this.paused),this.listenTo(this.playback,h.default.PLAYBACK_STOP,this.stopped),this.listenTo(this.playback,h.default.PLAYBACK_ERROR,this.error),this.listenTo(this.playback,h.default.PLAYBACK_SUBTITLE_AVAILABLE,this.subtitleAvailable),this.listenTo(this.playback,h.default.PLAYBACK_SUBTITLE_CHANGED,this.subtitleChanged)},e.prototype.subtitleAvailable=function(){this.trigger(h.default.CONTAINER_SUBTITLE_AVAILABLE)},e.prototype.subtitleChanged=function(t){this.trigger(h.default.CONTAINER_SUBTITLE_CHANGED,t)},e.prototype.playbackStateChanged=function(t){this.trigger(h.default.CONTAINER_PLAYBACKSTATE,t)},e.prototype.playbackDvrStateChanged=function(t){this.settings=this.playback.settings,this.dvrInUse=t,this.trigger(h.default.CONTAINER_PLAYBACKDVRSTATECHANGED,t)},e.prototype.updateBitrate=function(t){this.trigger(h.default.CONTAINER_BITRATE,t)},e.prototype.statsReport=function(t){this.trigger(h.default.CONTAINER_STATS_REPORT,t)},e.prototype.getPlaybackType=function(){return this.playback.getPlaybackType()},e.prototype.isDvrEnabled=function(){return!!this.playback.dvrEnabled},e.prototype.isDvrInUse=function(){return!!this.dvrInUse},e.prototype.destroy=function(){this.trigger(h.default.CONTAINER_DESTROYED,this,this.name),this.stopListening(),this.plugins.forEach(function(t){return t.destroy()}),this.$el.remove()},e.prototype.setStyle=function(t){this.$el.css(t)},e.prototype.animate=function(t,e){return this.$el.animate(t,e).promise()},e.prototype.ready=function(){this.isReady=!0,this.trigger(h.default.CONTAINER_READY,this.name)},e.prototype.isPlaying=function(){return this.playback.isPlaying()},e.prototype.getStartTimeOffset=function(){return this.playback.getStartTimeOffset()},e.prototype.getCurrentTime=function(){return this.currentTime},e.prototype.getDuration=function(){return this.playback.getDuration()},e.prototype.error=function(t){this.isReady||this.ready(),this.trigger(h.default.CONTAINER_ERROR,{error:t,container:this},this.name)},e.prototype.loadedMetadata=function(t){this.trigger(h.default.CONTAINER_LOADEDMETADATA,t)},e.prototype.timeUpdated=function(t){this.currentTime=t.current,this.trigger(h.default.CONTAINER_TIMEUPDATE,t,this.name)},e.prototype.progress=function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];this.trigger.apply(this,[h.default.CONTAINER_PROGRESS].concat(e,[this.name]))},e.prototype.playing=function(){this.trigger(h.default.CONTAINER_PLAY,this.name)},e.prototype.paused=function(){this.trigger(h.default.CONTAINER_PAUSE,this.name)},e.prototype.play=function(){this.playback.play()},e.prototype.stop=function(){this.playback.stop(),this.currentTime=0},e.prototype.pause=function(){this.playback.pause()},e.prototype.onEnded=function(){this.trigger(h.default.CONTAINER_ENDED,this,this.name),this.currentTime=0},e.prototype.stopped=function(){this.trigger(h.default.CONTAINER_STOP)},e.prototype.clicked=function(){this.options.chromeless&&!this.options.allowUserInteraction||this.trigger(h.default.CONTAINER_CLICK,this,this.name)},e.prototype.dblClicked=function(){this.options.chromeless&&!this.options.allowUserInteraction||this.trigger(h.default.CONTAINER_DBLCLICK,this,this.name)},e.prototype.onContextMenu=function(t){this.options.chromeless&&!this.options.allowUserInteraction||this.trigger(h.default.CONTAINER_CONTEXTMENU,t,this.name)},e.prototype.seek=function(t){this.trigger(h.default.CONTAINER_SEEK,t,this.name),this.playback.seek(t)},e.prototype.onSeeked=function(){this.trigger(h.default.CONTAINER_SEEKED,this.name)},e.prototype.seekPercentage=function(t){var e=this.getDuration();if(t>=0&&t<=100){var i=e*(t/100);this.seek(i)}},e.prototype.setVolume=function(t){this.volume=parseInt(t,10),this.trigger(h.default.CONTAINER_VOLUME,t,this.name),this.playback.volume(t)},e.prototype.fullscreen=function(){this.trigger(h.default.CONTAINER_FULLSCREEN,this.name)},e.prototype.onBuffering=function(){this.trigger(h.default.CONTAINER_STATE_BUFFERING,this.name)},e.prototype.bufferfull=function(){this.trigger(h.default.CONTAINER_STATE_BUFFERFULL,this.name)},e.prototype.addPlugin=function(t){this.plugins.push(t)},e.prototype.hasPlugin=function(t){return!!this.getPlugin(t)},e.prototype.getPlugin=function(t){return this.plugins.filter(function(e){return e.name===t})[0]},e.prototype.mouseEnter=function(){this.options.chromeless&&!this.options.allowUserInteraction||this.trigger(h.default.CONTAINER_MOUSE_ENTER)},e.prototype.mouseLeave=function(){this.options.chromeless&&!this.options.allowUserInteraction||this.trigger(h.default.CONTAINER_MOUSE_LEAVE)},e.prototype.settingsUpdate=function(){this.settings=this.playback.settings,this.trigger(h.default.CONTAINER_SETTINGSUPDATE)},e.prototype.highDefinitionUpdate=function(t){this.trigger(h.default.CONTAINER_HIGHDEFINITIONUPDATE,t)},e.prototype.isHighDefinitionInUse=function(){return this.playback.isHighDefinitionInUse()},e.prototype.disableMediaControl=function(){this.mediaControlDisabled||(this.mediaControlDisabled=!0,this.trigger(h.default.CONTAINER_MEDIACONTROL_DISABLE))},e.prototype.enableMediaControl=function(){this.mediaControlDisabled&&(this.mediaControlDisabled=!1,this.trigger(h.default.CONTAINER_MEDIACONTROL_ENABLE))},e.prototype.updateStyle=function(){!this.options.chromeless||this.options.allowUserInteraction?this.$el.removeClass("chromeless"):this.$el.addClass("chromeless")},e.prototype.configure=function(t){this._options=E.default.extend(this._options,t),this.updateStyle(),this.trigger(h.default.CONTAINER_OPTIONS_CHANGE)},e.prototype.render=function(){var t=v.default.getStyleFor(b.default);return this.$el.append(t),this.$el.append(this.playback.render().el),this.updateStyle(),this},e}(g.default);e.default=T,t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".container[data-container]{position:absolute;background-color:#000;height:100%;width:100%}.container[data-container] .chromeless{cursor:default}[data-player]:not(.nocursor) .container[data-container]:not(.chromeless).pointer-enabled{cursor:pointer}",""])},function(t,e,i){"use strict";(function(r){function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var a=i(139),o=n(a),s=i(0),l=n(s),u=i(1),d=n(u),c=i(3),f=n(c),h=i(2),p=n(h),g=i(5),y=i(56),v=i(4),m=n(v),b=i(7),_=n(b),E=i(21),T=n(E),k=i(13),A=n(k),S=i(24),L=n(S),R=i(8),w=n(R),C=i(9),O=n(C),D=i(6),P=n(D),I=i(141),x=n(I),N=i(142),M=n(N),F=i(58),B=n(F),U=i(76),G=n(U),j=i(143),V=n(j),K=i(144),Y=n(K),H=i(145),$=n(H),z=i(146),W=n(z),q=i(147),X=n(q),Z=i(148),J=n(Z),Q=function(t){function e(i){(0,l.default)(this,e);var r=(0,d.default)(this,t.call(this,i));r.persistConfig=r.options.persistConfig,r.container=i.container,r.currentPositionValue=null,r.currentDurationValue=null;var n=r.persistConfig?g.Config.restore("volume"):100;return r.setVolume(r.options.mute?0:n),r.keepVisible=!1,r.fullScreenOnVideoTagSupported=null,r.addEventListeners(),r.settings={left:["play","stop","pause"],right:["volume"],default:["position","seekbar","duration"]},r.container?P.default.isEmptyObject(r.container.settings)||(r.settings=P.default.extend({},r.container.settings)):r.settings={},r.userDisabled=!1,(r.container&&r.container.mediaControlDisabled||r.options.chromeless)&&r.disable(),r.stopDragHandler=function(t){return r.stopDrag(t)},r.updateDragHandler=function(t){return r.updateDrag(t)},(0,P.default)(document).bind("mouseup",r.stopDragHandler),(0,P.default)(document).bind("mousemove",r.updateDragHandler),r}return(0,p.default)(e,t),(0,f.default)(e,[{key:"name",get:function(){return"MediaControl"}},{key:"disabled",get:function(){return this.userDisabled||this.container&&this.container.getPlaybackType()===O.default.NO_OP}},{key:"attributes",get:function(){return{class:"media-control","data-media-control":""}}},{key:"events",get:function(){return{"click [data-play]":"play","click [data-pause]":"pause","click [data-playpause]":"togglePlayPause","click [data-stop]":"stop","click [data-playstop]":"togglePlayStop","click [data-fullscreen]":"toggleFullscreen","click .bar-container[data-seekbar]":"seek","click .bar-container[data-volume]":"onVolumeClick","click .drawer-icon[data-volume]":"toggleMute","mouseenter .drawer-container[data-volume]":"showVolumeBar","mouseleave .drawer-container[data-volume]":"hideVolumeBar","mousedown .bar-container[data-volume]":"startVolumeDrag","mousemove .bar-container[data-volume]":"mousemoveOnVolumeBar","mousedown .bar-scrubber[data-seekbar]":"startSeekDrag","mousemove .bar-container[data-seekbar]":"mousemoveOnSeekBar","mouseleave .bar-container[data-seekbar]":"mouseleaveOnSeekBar","mouseenter .media-control-layer[data-controls]":"setUserKeepVisible","mouseleave .media-control-layer[data-controls]":"resetUserKeepVisible"}}},{key:"template",get:function(){return(0,w.default)(M.default)}},{key:"stylesheet",get:function(){return _.default.getStyleFor(x.default,{baseUrl:this.options.baseUrl})}},{key:"volume",get:function(){return this.container&&this.container.isReady?this.container.volume:this.intendedVolume}},{key:"muted",get:function(){return 0===this.volume}}]),e.prototype.addEventListeners=function(){this.container&&(L.default.on(this.options.playerId+":"+m.default.PLAYER_RESIZE,this.playerResize,this),this.listenTo(this.container,m.default.CONTAINER_PLAY,this.changeTogglePlay),this.listenTo(this.container,m.default.CONTAINER_PAUSE,this.changeTogglePlay),this.listenTo(this.container,m.default.CONTAINER_STOP,this.changeTogglePlay),this.listenTo(this.container,m.default.CONTAINER_DBLCLICK,this.toggleFullscreen),this.listenTo(this.container,m.default.CONTAINER_TIMEUPDATE,this.onTimeUpdate),this.listenTo(this.container,m.default.CONTAINER_PROGRESS,this.updateProgressBar),this.listenTo(this.container,m.default.CONTAINER_SETTINGSUPDATE,this.settingsUpdate),this.listenTo(this.container,m.default.CONTAINER_PLAYBACKDVRSTATECHANGED,this.settingsUpdate),this.listenTo(this.container,m.default.CONTAINER_HIGHDEFINITIONUPDATE,this.highDefinitionUpdate),this.listenTo(this.container,m.default.CONTAINER_MEDIACONTROL_DISABLE,this.disable),this.listenTo(this.container,m.default.CONTAINER_MEDIACONTROL_ENABLE,this.enable),this.listenTo(this.container,m.default.CONTAINER_ENDED,this.ended),this.listenTo(this.container,m.default.CONTAINER_VOLUME,this.onVolumeChanged),"video"===this.container.playback.el.nodeName.toLowerCase()&&this.listenToOnce(this.container,m.default.CONTAINER_LOADEDMETADATA,this.onLoadedMetadataOnVideoTag))},e.prototype.disable=function(){this.userDisabled=!0,this.hide(),this.$el.hide()},e.prototype.enable=function(){this.options.chromeless||(this.userDisabled=!1,this.show())},e.prototype.play=function(){this.container.play()},e.prototype.pause=function(){this.container.pause()},e.prototype.stop=function(){this.container.stop()},e.prototype.onVolumeChanged=function(){this.updateVolumeUI()},e.prototype.onLoadedMetadataOnVideoTag=function(){var t=this.container.playback.el;!g.Fullscreen.fullscreenEnabled()&&t.webkitSupportsFullscreen&&(this.fullScreenOnVideoTagSupported=!0,this.settingsUpdate())},e.prototype.updateVolumeUI=function(){if(this.rendered){this.$volumeBarContainer.find(".bar-fill-2").css({});var t=this.$volumeBarContainer.width(),e=this.$volumeBarBackground.width(),i=(t-e)/2,r=e*this.volume/100+i;this.$volumeBarFill.css({width:this.volume+"%"}),this.$volumeBarScrubber.css({left:r}),this.$volumeBarContainer.find(".segmented-bar-element").removeClass("fill");var n=Math.ceil(this.volume/10);this.$volumeBarContainer.find(".segmented-bar-element").slice(0,n).addClass("fill"),this.$volumeIcon.html(""),this.$volumeIcon.removeClass("muted"),this.muted?(this.$volumeIcon.append($.default),this.$volumeIcon.addClass("muted")):this.$volumeIcon.append(Y.default),this.applyButtonStyle(this.$volumeIcon)}},e.prototype.changeTogglePlay=function(){this.$playPauseToggle.html(""),this.$playStopToggle.html(""),this.container&&this.container.isPlaying()?(this.$playPauseToggle.append(G.default),this.$playStopToggle.append(V.default),this.trigger(m.default.MEDIACONTROL_PLAYING)):(this.$playPauseToggle.append(B.default),this.$playStopToggle.append(B.default),this.trigger(m.default.MEDIACONTROL_NOTPLAYING),A.default.isMobile&&this.show()),this.applyButtonStyle(this.$playPauseToggle),this.applyButtonStyle(this.$playStopToggle)},e.prototype.mousemoveOnSeekBar=function(t){if(this.settings.seekEnabled){var e=t.pageX-this.$seekBarContainer.offset().left-this.$seekBarHover.width()/2;this.$seekBarHover.css({left:e})}this.trigger(m.default.MEDIACONTROL_MOUSEMOVE_SEEKBAR,t)},e.prototype.mouseleaveOnSeekBar=function(t){this.trigger(m.default.MEDIACONTROL_MOUSELEAVE_SEEKBAR,t)},e.prototype.onVolumeClick=function(t){this.setVolume(this.getVolumeFromUIEvent(t))},e.prototype.mousemoveOnVolumeBar=function(t){this.draggingVolumeBar&&this.setVolume(this.getVolumeFromUIEvent(t))},e.prototype.playerResize=function(t){this.$fullscreenToggle.html(""),g.Fullscreen.isFullscreen()?this.$fullscreenToggle.append(X.default):this.$fullscreenToggle.append(W.default),this.applyButtonStyle(this.$fullscreenToggle),this.$el.removeClass("w320"),(t.width<=320||this.options.hideVolumeBar)&&this.$el.addClass("w320")},e.prototype.togglePlayPause=function(){return this.container.isPlaying()?this.container.pause():this.container.play(),!1},e.prototype.togglePlayStop=function(){this.container.isPlaying()?this.container.stop():this.container.play()},e.prototype.startSeekDrag=function(t){this.settings.seekEnabled&&(this.draggingSeekBar=!0,this.$el.addClass("dragging"),this.$seekBarLoaded.addClass("media-control-notransition"),this.$seekBarPosition.addClass("media-control-notransition"),this.$seekBarScrubber.addClass("media-control-notransition"),t&&t.preventDefault())},e.prototype.startVolumeDrag=function(t){this.draggingVolumeBar=!0,this.$el.addClass("dragging"),t&&t.preventDefault()},e.prototype.stopDrag=function(t){this.draggingSeekBar&&this.seek(t),this.$el.removeClass("dragging"),this.$seekBarLoaded.removeClass("media-control-notransition"),this.$seekBarPosition.removeClass("media-control-notransition"),this.$seekBarScrubber.removeClass("media-control-notransition dragging"),this.draggingSeekBar=!1,this.draggingVolumeBar=!1},e.prototype.updateDrag=function(t){if(this.draggingSeekBar){t.preventDefault();var e=t.pageX-this.$seekBarContainer.offset().left,i=e/this.$seekBarContainer.width()*100;i=Math.min(100,Math.max(i,0)),this.setSeekPercentage(i)}else this.draggingVolumeBar&&(t.preventDefault(),this.setVolume(this.getVolumeFromUIEvent(t)))},e.prototype.getVolumeFromUIEvent=function(t){return(t.pageX-this.$volumeBarContainer.offset().left)/this.$volumeBarContainer.width()*100},e.prototype.toggleMute=function(){this.setVolume(this.muted?100:0)},e.prototype.setVolume=function(t){var e=this;t=Math.min(100,Math.max(t,0)),this.intendedVolume=t,this.persistConfig&&g.Config.persist("volume",t);var i=function(){e.container.isReady?e.container.setVolume(t):e.listenToOnce(e.container,m.default.CONTAINER_READY,function(){e.container.setVolume(t)})};this.container?i():this.listenToOnce(this,m.default.MEDIACONTROL_CONTAINERCHANGED,function(){i()})},e.prototype.toggleFullscreen=function(){this.trigger(m.default.MEDIACONTROL_FULLSCREEN,this.name),this.container.fullscreen(),this.resetUserKeepVisible()},e.prototype.setContainer=function(t){this.container&&(this.stopListening(this.container),this.fullScreenOnVideoTagSupported=null),L.default.off(this.options.playerId+":"+m.default.PLAYER_RESIZE,this.playerResize,this),this.container=t,this.setVolume(this.intendedVolume),this.changeTogglePlay(),this.addEventListeners(),this.settingsUpdate(),this.container.trigger(m.default.CONTAINER_PLAYBACKDVRSTATECHANGED,this.container.isDvrInUse()),this.container.mediaControlDisabled&&this.disable(),this.trigger(m.default.MEDIACONTROL_CONTAINERCHANGED)},e.prototype.showVolumeBar=function(){this.hideVolumeId&&clearTimeout(this.hideVolumeId),this.$volumeBarContainer.removeClass("volume-bar-hide")},e.prototype.hideVolumeBar=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:400;this.$volumeBarContainer&&(this.draggingVolumeBar?this.hideVolumeId=setTimeout(function(){return t.hideVolumeBar()},e):(this.hideVolumeId&&clearTimeout(this.hideVolumeId),this.hideVolumeId=setTimeout(function(){return t.$volumeBarContainer.addClass("volume-bar-hide")},e)))},e.prototype.ended=function(){this.changeTogglePlay()},e.prototype.updateProgressBar=function(t){var e=t.start/t.total*100,i=t.current/t.total*100;this.$seekBarLoaded.css({left:e+"%",width:i-e+"%"})},e.prototype.onTimeUpdate=function(t){if(!this.draggingSeekBar){var e=t.current<0?t.total:t.current;this.currentPositionValue=e,this.currentDurationValue=t.total,this.renderSeekBar()}},e.prototype.renderSeekBar=function(){if(null!==this.currentPositionValue&&null!==this.currentDurationValue){this.currentSeekBarPercentage=100,(this.container.getPlaybackType()!==O.default.LIVE||this.container.isDvrInUse())&&(this.currentSeekBarPercentage=this.currentPositionValue/this.currentDurationValue*100),this.setSeekPercentage(this.currentSeekBarPercentage);var t=(0,g.formatTime)(this.currentPositionValue),e=(0,g.formatTime)(this.currentDurationValue);t!==this.displayedPosition&&(this.$position.text(t),this.displayedPosition=t),e!==this.displayedDuration&&(this.$duration.text(e),this.displayedDuration=e)}},e.prototype.seek=function(t){if(this.settings.seekEnabled){var e=t.pageX-this.$seekBarContainer.offset().left,i=e/this.$seekBarContainer.width()*100;return i=Math.min(100,Math.max(i,0)),this.container.seekPercentage(i),this.setSeekPercentage(i),!1}},e.prototype.setKeepVisible=function(){this.keepVisible=!0},e.prototype.resetKeepVisible=function(){this.keepVisible=!1},e.prototype.setUserKeepVisible=function(){this.userKeepVisible=!0},e.prototype.resetUserKeepVisible=function(){this.userKeepVisible=!1},e.prototype.isVisible=function(){return!this.$el.hasClass("media-control-hide")},e.prototype.show=function(t){var e=this;if(!this.disabled){(!t||t.clientX!==this.lastMouseX&&t.clientY!==this.lastMouseY||navigator.userAgent.match(/firefox/i))&&(clearTimeout(this.hideId),this.$el.show(),this.trigger(m.default.MEDIACONTROL_SHOW,this.name),this.$el.removeClass("media-control-hide"),this.hideId=setTimeout(function(){return e.hide()},2e3),t&&(this.lastMouseX=t.clientX,this.lastMouseY=t.clientY))}},e.prototype.hide=function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;if(this.isVisible()&&(!A.default.isMobile||this.container.isPlaying())){var i=e||2e3;clearTimeout(this.hideId),(this.disabled||!1!==this.options.hideMediaControl)&&(!this.disabled&&(e||this.userKeepVisible||this.keepVisible||this.draggingSeekBar||this.draggingVolumeBar)?this.hideId=setTimeout(function(){return t.hide()},i):(this.trigger(m.default.MEDIACONTROL_HIDE,this.name),this.$el.addClass("media-control-hide"),this.hideVolumeBar(0)))}},e.prototype.settingsUpdate=function(){var t=this.getSettings();!t||this.fullScreenOnVideoTagSupported||g.Fullscreen.fullscreenEnabled()||(t.default&&(0,g.removeArrayItem)(t.default,"fullscreen"),t.left&&(0,g.removeArrayItem)(t.left,"fullscreen"),t.right&&(0,g.removeArrayItem)(t.right,"fullscreen")),(0,o.default)(this.settings)!==(0,o.default)(t)&&(this.settings=t,this.render())},e.prototype.getSettings=function(){return P.default.extend(!0,{},this.container.settings)},e.prototype.highDefinitionUpdate=function(t){var e=t?"addClass":"removeClass";this.$hdIndicator[e]("enabled")},e.prototype.createCachedElements=function(){var t=this.$el.find(".media-control-layer");this.$duration=t.find(".media-control-indicator[data-duration]"),this.$fullscreenToggle=t.find("button.media-control-button[data-fullscreen]"),this.$playPauseToggle=t.find("button.media-control-button[data-playpause]"),this.$playStopToggle=t.find("button.media-control-button[data-playstop]"),this.$position=t.find(".media-control-indicator[data-position]"),this.$seekBarContainer=t.find(".bar-container[data-seekbar]"),this.$seekBarHover=t.find(".bar-hover[data-seekbar]"),this.$seekBarLoaded=t.find(".bar-fill-1[data-seekbar]"),this.$seekBarPosition=t.find(".bar-fill-2[data-seekbar]"),this.$seekBarScrubber=t.find(".bar-scrubber[data-seekbar]"),this.$volumeBarContainer=t.find(".bar-container[data-volume]"),this.$volumeContainer=t.find(".drawer-container[data-volume]"),this.$volumeIcon=t.find(".drawer-icon[data-volume]"),this.$volumeBarBackground=this.$el.find(".bar-background[data-volume]"),this.$volumeBarFill=this.$el.find(".bar-fill-1[data-volume]"),this.$volumeBarScrubber=this.$el.find(".bar-scrubber[data-volume]"),this.$hdIndicator=this.$el.find("button.media-control-button[data-hd-indicator]"),this.resetIndicators(),this.initializeIcons()},e.prototype.resetIndicators=function(){this.displayedPosition=this.$position.text(),this.displayedDuration=this.$duration.text()},e.prototype.initializeIcons=function(){var t=this.$el.find(".media-control-layer");t.find("button.media-control-button[data-play]").append(B.default),t.find("button.media-control-button[data-pause]").append(G.default),t.find("button.media-control-button[data-stop]").append(V.default),this.$playPauseToggle.append(B.default),this.$playStopToggle.append(B.default),this.$volumeIcon.append(Y.default),this.$fullscreenToggle.append(W.default),this.$hdIndicator.append(J.default)},e.prototype.setSeekPercentage=function(t){t=Math.max(Math.min(t,100),0),this.displayedSeekBarPercentage!==t&&(this.displayedSeekBarPercentage=t,this.$seekBarPosition.removeClass("media-control-notransition"),this.$seekBarScrubber.removeClass("media-control-notransition"),this.$seekBarPosition.css({width:t+"%"}),this.$seekBarScrubber.css({left:t+"%"}))},e.prototype.seekRelative=function(t){if(this.settings.seekEnabled){var e=this.container.getCurrentTime(),i=this.container.getDuration(),r=Math.min(Math.max(e+t,0),i);r=Math.min(100*r/i,100),this.container.seekPercentage(r)}},e.prototype.bindKeyAndShow=function(t,e){var i=this;this.kibo.down(t,function(){return i.show(),e()})},e.prototype.bindKeyEvents=function(){var t=this;this.unbindKeyEvents(),this.kibo=new y.Kibo(this.options.focusElement),this.bindKeyAndShow("space",function(){return t.togglePlayPause()}),this.bindKeyAndShow("left",function(){return t.seekRelative(-5)}),this.bindKeyAndShow("right",function(){return t.seekRelative(5)}),this.bindKeyAndShow("shift left",function(){return t.seekRelative(-10)}),this.bindKeyAndShow("shift right",function(){return t.seekRelative(10)}),this.bindKeyAndShow("shift ctrl left",function(){return t.seekRelative(-15)}),this.bindKeyAndShow("shift ctrl right",function(){return t.seekRelative(15)}),["1","2","3","4","5","6","7","8","9","0"].forEach(function(e){t.bindKeyAndShow(e,function(){return t.settings.seekEnabled&&t.container.seekPercentage(10*e)})})},e.prototype.unbindKeyEvents=function(){this.kibo&&(this.kibo.off("space"),this.kibo.off("left"),this.kibo.off("right"),this.kibo.off("shift left"),this.kibo.off("shift right"),this.kibo.off("shift ctrl left"),this.kibo.off("shift ctrl right"),this.kibo.off(["1","2","3","4","5","6","7","8","9","0"]))},e.prototype.parseColors=function(){if(this.options.mediacontrol){this.buttonsColor=this.options.mediacontrol.buttons;var t=this.options.mediacontrol.seekbar;this.$el.find(".bar-fill-2[data-seekbar]").css("background-color",t),this.$el.find(".media-control-icon svg path").css("fill",this.buttonsColor),this.$el.find(".segmented-bar-element[data-volume]").css("boxShadow","inset 2px 0 0 "+this.buttonsColor)}},e.prototype.applyButtonStyle=function(t){this.buttonsColor&&t&&(0,P.default)(t).find("svg path").css("fill",this.buttonsColor)},e.prototype.destroy=function(){this.remove(),(0,P.default)(document).unbind("mouseup",this.stopDragHandler),(0,P.default)(document).unbind("mousemove",this.updateDragHandler),this.unbindKeyEvents()},e.prototype.render=function(){var t=this;this.$el.html(this.template({settings:this.settings})),this.$el.append(this.stylesheet),this.createCachedElements(),this.$playPauseToggle.addClass("paused"),this.$playStopToggle.addClass("stopped"),this.changeTogglePlay(),this.hideId=setTimeout(function(){return t.hide()},1e3),this.disabled&&this.hide(),A.default.isSafari&&A.default.isMobile&&(A.default.version<10?this.$volumeContainer.css("display","none"):this.$volumeBarContainer.css("display","none")),this.$seekBarPosition.addClass("media-control-notransition"),this.$seekBarScrubber.addClass("media-control-notransition");var e=0;return this.displayedSeekBarPercentage&&(e=this.displayedSeekBarPercentage),this.displayedSeekBarPercentage=null,this.setSeekPercentage(e),r.nextTick(function(){t.settings.seekEnabled||t.$seekBarContainer.addClass("seek-disabled"),A.default.isMobile||t.options.disableKeyboardShortcuts||t.bindKeyEvents(),t.playerResize({width:t.options.width,height:t.options.height}),t.hideVolumeBar(0)}),this.parseColors(),this.highDefinitionUpdate(),this.rendered=!0,this.updateVolumeUI(),this.trigger(m.default.MEDIACONTROL_RENDERED),this},e}(T.default);e.default=Q,Q.extend=function(t){return(0,g.extend)(Q,t)},t.exports=e.default}).call(e,i(57))},function(t,e,i){t.exports={default:i(140),__esModule:!0}},function(t,e,i){var r=i(11),n=r.JSON||(r.JSON={stringify:JSON.stringify});t.exports=function(t){return n.stringify.apply(n,arguments)}},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".media-control-notransition{-webkit-transition:none!important;-moz-transition:none!important;transition:none!important}.media-control[data-media-control]{position:absolute;width:100%;height:100%;z-index:9999;pointer-events:none}.media-control[data-media-control].dragging{pointer-events:auto;cursor:-webkit-grabbing!important;cursor:grabbing!important;cursor:url("+i(75)+"),move}.media-control[data-media-control].dragging *{cursor:-webkit-grabbing!important;cursor:grabbing!important;cursor:url("+i(75)+'),move}.media-control[data-media-control] .media-control-background[data-background]{position:absolute;height:40%;width:100%;bottom:0;background:-webkit-linear-gradient(transparent,rgba(0,0,0,.9));background:linear-gradient(transparent,rgba(0,0,0,.9));-webkit-transition:opacity .6s ease-out;-moz-transition:opacity .6s ease-out;transition:opacity .6s ease-out}.media-control[data-media-control] .media-control-icon{line-height:0;letter-spacing:0;speak:none;color:#fff;opacity:.5;vertical-align:middle;text-align:left;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;transition:all .1s ease}.media-control[data-media-control] .media-control-icon:hover{color:#fff;opacity:.75;text-shadow:hsla(0,0%,100%,.8) 0 0 5px}.media-control[data-media-control].media-control-hide .media-control-background[data-background]{opacity:0}.media-control[data-media-control].media-control-hide .media-control-layer[data-controls]{bottom:-50px}.media-control[data-media-control].media-control-hide .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar]{opacity:0}.media-control[data-media-control] .media-control-layer[data-controls]{position:absolute;bottom:7px;width:100%;height:32px;font-size:0;vertical-align:middle;pointer-events:auto;-webkit-transition:bottom .4s ease-out;-moz-transition:bottom .4s ease-out;transition:bottom .4s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-left-panel[data-media-control]{position:absolute;top:0;left:4px;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-center-panel[data-media-control]{height:100%;text-align:center;line-height:32px}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-right-panel[data-media-control]{position:absolute;top:0;right:4px;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button{background-color:transparent;border:0;margin:0 6px;padding:0;cursor:pointer;display:inline-block;width:32px;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg{width:100%;height:22px}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button svg path{fill:#fff}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button:focus{outline:none}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-pause],.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-play],.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-stop]{float:left;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-fullscreen]{float:right;background-color:transparent;border:0;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator]{background-color:transparent;border:0;cursor:default;display:none;float:right;height:100%}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled{display:block;opacity:1}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-hd-indicator].enabled:hover{opacity:1;text-shadow:none}.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playpause],.media-control[data-media-control] .media-control-layer[data-controls] button.media-control-button[data-playstop]{float:left}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration],.media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position]{display:inline-block;font-size:10px;color:#fff;cursor:default;line-height:32px;position:relative}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-position]{margin:0 6px 0 7px}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration]{color:hsla(0,0%,100%,.5);margin-right:6px}.media-control[data-media-control] .media-control-layer[data-controls] .media-control-indicator[data-duration]:before{content:"|";margin-right:7px}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar]{position:absolute;top:-20px;left:0;display:inline-block;vertical-align:middle;width:100%;height:25px;cursor:pointer}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar]{width:100%;height:1px;position:relative;top:12px;background-color:#666}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-1[data-seekbar]{position:absolute;top:0;left:0;width:0;height:100%;background-color:#c2c2c2;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar]{position:absolute;top:0;left:0;width:0;height:100%;background-color:#005aff;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-hover[data-seekbar]{opacity:0;position:absolute;top:-3px;width:5px;height:7px;background-color:hsla(0,0%,100%,.5);-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;transition:opacity .1s ease}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar]:hover .bar-background[data-seekbar] .bar-hover[data-seekbar]{opacity:1}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled{cursor:default}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar].seek-disabled:hover .bar-background[data-seekbar] .bar-hover[data-seekbar]{opacity:0}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar]{position:absolute;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%);top:2px;left:0;width:20px;height:20px;opacity:1;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-scrubber[data-seekbar] .bar-scrubber-icon[data-seekbar]{position:absolute;left:6px;top:6px;width:8px;height:8px;border-radius:10px;box-shadow:0 0 0 6px hsla(0,0%,100%,.2);background-color:#fff}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume]{float:right;display:inline-block;height:32px;cursor:pointer;margin:0 6px;box-sizing:border-box}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume]{float:left;bottom:0}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume]{background-color:transparent;border:0;box-sizing:content-box;width:32px;height:32px;opacity:.5}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume]:hover{opacity:.75}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg{height:24px;position:relative;top:3px}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume] svg path{fill:#fff}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .drawer-icon-container[data-volume] .drawer-icon[data-volume].muted svg{margin-left:2px}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume]{float:left;position:relative;overflow:hidden;top:6px;width:42px;height:18px;padding:3px 0;-webkit-transition:width .2s ease-out;-moz-transition:width .2s ease-out;transition:width .2s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume]{height:1px;position:relative;top:7px;margin:0 3px;background-color:#666}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-1[data-volume]{position:absolute;top:0;left:0;width:0;height:100%;background-color:#c2c2c2;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-fill-2[data-volume]{position:absolute;top:0;left:0;width:0;height:100%;background-color:#005aff;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-background[data-volume] .bar-hover[data-volume]{opacity:0;position:absolute;top:-3px;width:5px;height:7px;background-color:hsla(0,0%,100%,.5);-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;transition:opacity .1s ease}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume]{position:absolute;-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);-ms-transform:translateX(-50%);-o-transform:translateX(-50%);transform:translateX(-50%);top:0;left:0;width:20px;height:20px;opacity:1;-webkit-transition:all .1s ease-out;-moz-transition:all .1s ease-out;transition:all .1s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .bar-scrubber[data-volume] .bar-scrubber-icon[data-volume]{position:absolute;left:6px;top:6px;width:8px;height:8px;border-radius:10px;box-shadow:0 0 0 6px hsla(0,0%,100%,.2);background-color:#fff}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]{float:left;width:4px;padding-left:2px;height:12px;opacity:.5;box-shadow:inset 2px 0 0 #fff;-webkit-transition:-webkit-transform .2s ease-out;-moz-transition:-moz-transform .2s ease-out;transition:transform .2s ease-out}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume].fill{box-shadow:inset 2px 0 0 #fff;opacity:1}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:first-of-type{padding-left:0}.media-control[data-media-control] .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume] .segmented-bar-element[data-volume]:hover{-webkit-transform:scaleY(1.5);-moz-transform:scaleY(1.5);-ms-transform:scaleY(1.5);-o-transform:scaleY(1.5);transform:scaleY(1.5)}.media-control[data-media-control].w320 .media-control-layer[data-controls] .drawer-container[data-volume] .bar-container[data-volume].volume-bar-hide{width:0;height:12px;top:9px;padding:0}',""])},function(t,e){t.exports='<div class="media-control-background" data-background></div>\n<div class="media-control-layer" data-controls>\n  <%  var renderBar = function(name) { %>\n      <div class="bar-container" data-<%= name %>>\n        <div class="bar-background" data-<%= name %>>\n          <div class="bar-fill-1" data-<%= name %>></div>\n          <div class="bar-fill-2" data-<%= name %>></div>\n          <div class="bar-hover" data-<%= name %>></div>\n        </div>\n        <div class="bar-scrubber" data-<%= name %>>\n          <div class="bar-scrubber-icon" data-<%= name %>></div>\n        </div>\n      </div>\n  <%  }; %>\n  <%  var renderSegmentedBar = function(name, segments) {\n      segments = segments || 10; %>\n    <div class="bar-container" data-<%= name %>>\n    <% for (var i = 0; i < segments; i++) { %>\n      <div class="segmented-bar-element" data-<%= name %>></div>\n    <% } %>\n    </div>\n  <% }; %>\n  <% var renderDrawer = function(name, renderContent) { %>\n      <div class="drawer-container" data-<%= name %>>\n        <div class="drawer-icon-container" data-<%= name %>>\n          <div class="drawer-icon media-control-icon" data-<%= name %>></div>\n          <span class="drawer-text" data-<%= name %>></span>\n        </div>\n        <% renderContent(name); %>\n      </div>\n  <% }; %>\n  <% var renderIndicator = function(name) { %>\n      <div class="media-control-indicator" data-<%= name %>></div>\n  <% }; %>\n  <% var renderButton = function(name) { %>\n    <button type="button" class="media-control-button media-control-icon" data-<%= name %> aria-label="<%= name %>"></button>\n  <% }; %>\n  <%  var templates = {\n        bar: renderBar,\n        segmentedBar: renderSegmentedBar,\n      };\n      var render = function(settingsList) {\n        settingsList.forEach(function(setting) {\n          if(setting === "seekbar") {\n            renderBar(setting);\n          } else if (setting === "volume") {\n            renderDrawer(setting, settings.volumeBarTemplate ? templates[settings.volumeBarTemplate] : function(name) { return renderSegmentedBar(name); });\n          } else if (setting === "duration" || setting === "position") {\n            renderIndicator(setting);\n          } else {\n            renderButton(setting);\n          }\n        });\n      }; %>\n  <% if (settings.default && settings.default.length) { %>\n  <div class="media-control-center-panel" data-media-control>\n    <% render(settings.default); %>\n  </div>\n  <% } %>\n  <% if (settings.left && settings.left.length) { %>\n  <div class="media-control-left-panel" data-media-control>\n    <% render(settings.left); %>\n  </div>\n  <% } %>\n  <% if (settings.right && settings.right.length) { %>\n  <div class="media-control-right-panel" data-media-control>\n    <% render(settings.right); %>\n  </div>\n  <% } %>\n</div>\n'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" fill="#010101" d="M1.712 1.24h12.6v13.52h-12.6z"></path></svg>'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" fill="#010101" d="M11.5 11h-.002v1.502L7.798 10H4.5V6h3.297l3.7-2.502V4.5h.003V11zM11 4.49L7.953 6.5H5v3h2.953L11 11.51V4.49z"></path></svg>'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" fill="#010101" d="M9.75 11.51L6.7 9.5H3.75v-3H6.7L9.75 4.49v.664l.497.498V3.498L6.547 6H3.248v4h3.296l3.7 2.502v-2.154l-.497.5v.662zm3-5.165L12.404 6l-1.655 1.653L9.093 6l-.346.345L10.402 8 8.747 9.654l.346.347 1.655-1.653L12.403 10l.348-.346L11.097 8l1.655-1.655z"></path></svg>'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#010101" d="M7.156 8L4 11.156V8.5H3V13h4.5v-1H4.844L8 8.844 7.156 8zM8.5 3v1h2.657L8 7.157 8.846 8 12 4.844V7.5h1V3H8.5z"></path></svg>'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#010101" d="M13.5 3.344l-.844-.844L9.5 5.656V3h-1v4.5H13v-1h-2.656L13.5 3.344zM3 9.5h2.656L2.5 12.656l.844.844L6.5 10.344V13h1V8.5H3v1z"></path></svg>'},function(t,e){t.exports='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="#010101" d="M5.375 7.062H2.637V4.26H.502v7.488h2.135V8.9h2.738v2.848h2.133V4.26H5.375v2.802zm5.97-2.81h-2.84v7.496h2.798c2.65 0 4.195-1.607 4.195-3.77v-.022c0-2.162-1.523-3.704-4.154-3.704zm2.06 3.758c0 1.21-.81 1.896-2.03 1.896h-.83V6.093h.83c1.22 0 2.03.696 2.03 1.896v.02z"></path></svg>'},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,'@font-face{font-family:Roboto;font-style:normal;font-weight:400;src:local("Roboto"),local("Roboto-Regular"),url('+i(150)+') format("truetype")}[data-player]{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);position:relative;margin:0;padding:0;border:0;font-style:normal;font-weight:400;text-align:center;overflow:hidden;font-size:100%;font-family:Roboto,Open Sans,Arial,sans-serif;text-shadow:0 0 0;box-sizing:border-box}[data-player] a,[data-player] abbr,[data-player] acronym,[data-player] address,[data-player] applet,[data-player] article,[data-player] aside,[data-player] audio,[data-player] b,[data-player] big,[data-player] blockquote,[data-player] canvas,[data-player] caption,[data-player] center,[data-player] cite,[data-player] code,[data-player] dd,[data-player] del,[data-player] details,[data-player] dfn,[data-player] div,[data-player] dl,[data-player] dt,[data-player] em,[data-player] embed,[data-player] fieldset,[data-player] figcaption,[data-player] figure,[data-player] footer,[data-player] form,[data-player] h1,[data-player] h2,[data-player] h3,[data-player] h4,[data-player] h5,[data-player] h6,[data-player] header,[data-player] hgroup,[data-player] i,[data-player] iframe,[data-player] img,[data-player] ins,[data-player] kbd,[data-player] label,[data-player] legend,[data-player] li,[data-player] mark,[data-player] menu,[data-player] nav,[data-player] object,[data-player] ol,[data-player] output,[data-player] p,[data-player] pre,[data-player] q,[data-player] ruby,[data-player] s,[data-player] samp,[data-player] section,[data-player] small,[data-player] span,[data-player] strike,[data-player] strong,[data-player] sub,[data-player] summary,[data-player] sup,[data-player] table,[data-player] tbody,[data-player] td,[data-player] tfoot,[data-player] th,[data-player] thead,[data-player] time,[data-player] tr,[data-player] tt,[data-player] u,[data-player] ul,[data-player] var,[data-player] video{margin:0;padding:0;border:0;font:inherit;font-size:100%;vertical-align:baseline}[data-player] table{border-collapse:collapse;border-spacing:0}[data-player] caption,[data-player] td,[data-player] th{text-align:left;font-weight:400;vertical-align:middle}[data-player] blockquote,[data-player] q{quotes:none}[data-player] blockquote:after,[data-player] blockquote:before,[data-player] q:after,[data-player] q:before{content:"";content:none}[data-player] a img{border:none}[data-player]:focus{outline:0}[data-player] *{max-width:none;box-sizing:inherit;float:none}[data-player] div{display:block}[data-player].fullscreen{width:100%!important;height:100%!important;top:0;left:0}[data-player].nocursor{cursor:none}.clappr-style{display:none!important}',""])},function(t,e){t.exports="<%=baseUrl%>/38861cba61c66739c1452c3a71e39852.ttf"},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(71),a=r(n),o=i(0),s=r(o),l=i(1),u=r(l),d=i(2),c=r(d),f=i(17),h=r(f),p=i(34),g=r(p),y=i(35),v=r(y),m=i(80),b=r(m),_=i(81),E=r(_),T=i(82),k=r(T),A=i(83),S=r(A),L=i(84),R=r(L),w=i(85),C=r(w),O=i(179),D=r(O),P=i(183),I=r(P),x=i(185),N=r(x),M=i(86),F=r(M),B=i(192),U=r(B),G=i(194),j=r(G),V=i(196),K=r(V),Y=i(200),H=r(Y),$=i(205),z=r($),W=i(207),q=r(W),X=i(211),Z=r(X),J=i(212),Q=r(J),tt=i(213),et=r(tt),it=function(t){function e(i,r){(0,s.default)(this,e);var n=(0,u.default)(this,t.call(this));return n.playerId=r,n.playbackPlugins=[S.default,v.default,E.default,b.default,k.default,R.default,C.default],n.containerPlugins=[D.default,N.default,F.default,I.default,U.default,j.default],n.corePlugins=[K.default,H.default,z.default,q.default,Z.default,Q.default,et.default],i&&(Array.isArray(i)||n.validateExternalPluginsType(i),n.addExternalPlugins(i)),n}return(0,c.default)(e,t),e.prototype.groupPluginsByType=function(t){return Array.isArray(t)&&(t=t.reduce(function(t,e){return t[e.type]||(t[e.type]=[]),t[e.type].push(e),t},{})),t},e.prototype.removeDups=function(t){var e=function(t,e){return t[e.prototype.name]&&delete t[e.prototype.name],t[e.prototype.name]=e,t},i=t.reduceRight(e,(0,a.default)(null)),r=[];for(var n in i)r.unshift(i[n]);return r},e.prototype.addExternalPlugins=function(t){t=this.groupPluginsByType(t),t.playback&&(this.playbackPlugins=this.removeDups(t.playback.concat(this.playbackPlugins))),t.container&&(this.containerPlugins=this.removeDups(t.container.concat(this.containerPlugins))),t.core&&(this.corePlugins=this.removeDups(t.core.concat(this.corePlugins))),g.default.getInstance(this.playerId).playbackPlugins=this.playbackPlugins},e.prototype.validateExternalPluginsType=function(t){["playback","container","core"].forEach(function(e){(t[e]||[]).forEach(function(t){var i="external "+t.type+" plugin on "+e+" array";if(t.type!==e)throw new ReferenceError(i)})})},e}(h.default);e.default=it,t.exports=e.default},function(t,e,i){"use strict";(function(r){function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var a=i(78),o=n(a),s=i(0),l=n(s),u=i(1),d=n(u),c=i(3),f=n(c),h=i(2),p=n(h),g=i(79),y=n(g),v=i(31),m=n(v),b=i(5),_=i(9),E=n(_),T=i(7),k=n(T),A=i(13),S=n(A),L=i(4),R=n(L),w=i(161),C=n(w),O=i(6),D=n(O),P=i(8),I=n(P),x=i(162),N=n(x),M={mp4:["avc1.42E01E","avc1.58A01E","avc1.4D401E","avc1.64001E","mp4v.20.8","mp4v.20.240","mp4a.40.2"].map(function(t){return'video/mp4; codecs="'+t+', mp4a.40.2"'}),ogg:['video/ogg; codecs="theora, vorbis"','video/ogg; codecs="dirac"','video/ogg; codecs="theora, speex"'],"3gpp":['video/3gpp; codecs="mp4v.20.8, samr"'],webm:['video/webm; codecs="vp8, vorbis"'],mkv:['video/x-matroska; codecs="theora, vorbis"'],m3u8:["application/x-mpegurl"]};M.ogv=M.ogg,M["3gp"]=M["3gpp"];var F={wav:["audio/wav"],mp3:["audio/mp3",'audio/mpeg;codecs="mp3"'],aac:['audio/mp4;codecs="mp4a.40.5"'],oga:["audio/ogg"]},B=(0,m.default)(F).reduce(function(t,e){return[].concat((0,y.default)(t),(0,y.default)(F[e]))},[]),U=function(t){function e(){(0,l.default)(this,e);for(var i=arguments.length,n=Array(i),a=0;a<i;a++)n[a]=arguments[a];var o=(0,d.default)(this,t.call.apply(t,[this].concat(n)));o._destroyed=!1,o._loadStarted=!1,o._isBuffering=!1,o._playheadMoving=!1,o._playheadMovingTimer=null,o._stopped=!1,o._ccTrackId=-1,o._setupSrc(o.options.src),o.options.playback||(o.options.playback=o.options||{}),o.options.playback.disableContextMenu=o.options.playback.disableContextMenu||o.options.disableVideoTagContextMenu;var s=o.options.playback,u=s.preload||(S.default.isSafari?"auto":o.options.preload),c=void 0;return o.options.poster&&("string"==typeof o.options.poster?c=o.options.poster:"string"==typeof o.options.poster.url&&(c=o.options.poster.url)),D.default.extend(o.el,{loop:o.options.loop,poster:c,preload:u||"metadata",controls:(s.controls||o.options.useVideoTagDefaultControls)&&"controls",crossOrigin:s.crossOrigin,"x-webkit-playsinline":s.playInline}),s.playInline&&o.$el.attr({playsinline:"playsinline"}),s.crossOrigin&&o.$el.attr({crossorigin:s.crossOrigin}),o.settings={default:["seekbar"]},o.settings.left=["playpause","position","duration"],o.settings.right=["fullscreen","volume","hd-indicator"],s.externalTracks&&o._setupExternalTracks(s.externalTracks),o.options.autoPlay&&r.nextTick(function(){return!o._destroyed&&o.play()}),o}return(0,p.default)(e,t),(0,f.default)(e,[{key:"name",get:function(){return"html5_video"}},{key:"tagName",get:function(){return this.isAudioOnly?"audio":"video"}},{key:"isAudioOnly",get:function(){var t=this.options.src,i=e._mimeTypesForUrl(t,F,this.options.mimeType);return this.options.playback&&this.options.playback.audioOnly||this.options.audioOnly||B.indexOf(i[0])>=0}},{key:"attributes",get:function(){return{"data-html5-video":""}}},{key:"events",get:function(){return{canplay:"_onCanPlay",canplaythrough:"_handleBufferingEvents",durationchange:"_onDurationChange",ended:"_onEnded",error:"_onError",loadeddata:"_onLoadedData",loadedmetadata:"_onLoadedMetadata",pause:"_onPause",playing:"_onPlaying",progress:"_onProgress",seeking:"_handleBufferingEvents",seeked:"_onSeeked",stalled:"_handleBufferingEvents",timeupdate:"_onTimeUpdate",waiting:"_onWaiting"}}},{key:"ended",get:function(){return this.el.ended}},{key:"buffering",get:function(){return this._isBuffering}}]),e.prototype._setupExternalTracks=function(t){this._externalTracks=t.map(function(t){return{kind:t.kind||"subtitles",label:t.label,lang:t.lang,src:t.src}})},e.prototype._setupSrc=function(t){this.el.src!==t&&(this._ccIsSetup=!1,this.el.src=t,this._src=this.el.src)},e.prototype._onLoadedMetadata=function(t){this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_LOADEDMETADATA,{duration:t.target.duration,data:t}),this._updateSettings();var e=void 0===this._options.autoSeekFromUrl||this._options.autoSeekFromUrl;this.getPlaybackType()!==E.default.LIVE&&e&&this._checkInitialSeek()},e.prototype._onDurationChange=function(){this._updateSettings(),this._onTimeUpdate(),this._onProgress()},e.prototype._updateSettings=function(){this.getPlaybackType()===E.default.VOD||this.getPlaybackType()===E.default.AOD?this.settings.left=["playpause","position","duration"]:this.settings.left=["playstop"],this.settings.seekEnabled=this.isSeekEnabled(),this.trigger(R.default.PLAYBACK_SETTINGSUPDATE)},e.prototype.isSeekEnabled=function(){return isFinite(this.getDuration())},e.prototype.getPlaybackType=function(){var t="audio"===this.tagName?E.default.AOD:E.default.VOD;return[0,void 0,1/0].indexOf(this.el.duration)>=0?E.default.LIVE:t},e.prototype.isHighDefinitionInUse=function(){return!1},e.prototype.consent=function(){!this.isPlaying()&&this.el.load()},e.prototype.play=function(){this.trigger(R.default.PLAYBACK_PLAY_INTENT),this._stopped=!1,this._setupSrc(this._src),this._handleBufferingEvents();var t=this.el.play();t&&t.catch&&t.catch(function(){})},e.prototype.pause=function(){this.el.pause()},e.prototype.stop=function(){this.pause(),this._stopped=!0,this.el.removeAttribute("src"),this._stopPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_STOP)},e.prototype.volume=function(t){0===t?(this.$el.attr({muted:"true"}),this.el.muted=!0):(this.$el.attr({muted:null}),this.el.muted=!1),this.el.volume=t/100},e.prototype.mute=function(){this.el.volume=0},e.prototype.unmute=function(){this.el.volume=1},e.prototype.isMuted=function(){return!!this.el.volume},e.prototype.isPlaying=function(){return!this.el.paused&&!this.el.ended},e.prototype._startPlayheadMovingChecks=function(){null===this._playheadMovingTimer&&(this._playheadMovingTimeOnCheck=null,this._determineIfPlayheadMoving(),this._playheadMovingTimer=setInterval(this._determineIfPlayheadMoving.bind(this),500))},e.prototype._stopPlayheadMovingChecks=function(){null!==this._playheadMovingTimer&&(clearInterval(this._playheadMovingTimer),this._playheadMovingTimer=null,this._playheadMoving=!1)},e.prototype._determineIfPlayheadMoving=function(){var t=this._playheadMovingTimeOnCheck,e=this.el.currentTime;this._playheadMoving=t!==e,this._playheadMovingTimeOnCheck=e,this._handleBufferingEvents()},e.prototype._onWaiting=function(){this._loadStarted=!0,this._handleBufferingEvents()},e.prototype._onLoadedData=function(){this._loadStarted=!0,this._handleBufferingEvents()},e.prototype._onCanPlay=function(){this._handleBufferingEvents()},e.prototype._onPlaying=function(){this._checkForClosedCaptions(),this._startPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_PLAY)},e.prototype._onPause=function(){this._stopPlayheadMovingChecks(),this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_PAUSE)},e.prototype._onSeeked=function(){this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_SEEKED)},e.prototype._onEnded=function(){this._handleBufferingEvents(),this.trigger(R.default.PLAYBACK_ENDED,this.name)},e.prototype._handleBufferingEvents=function(){var t=!this.el.ended&&!this.el.paused,e=this._loadStarted&&!this.el.ended&&!this._stopped&&(t&&!this._playheadMoving||this.el.readyState<this.el.HAVE_FUTURE_DATA);this._isBuffering!==e&&(this._isBuffering=e,e?this.trigger(R.default.PLAYBACK_BUFFERING,this.name):this.trigger(R.default.PLAYBACK_BUFFERFULL,this.name))},e.prototype._onError=function(){this.trigger(R.default.PLAYBACK_ERROR,this.el.error,this.name)},e.prototype.destroy=function(){this._destroyed=!0,this.handleTextTrackChange&&this.el.textTracks.removeEventListener("change",this.handleTextTrackChange),this.$el.remove(),this.el.src="",this._src=null,b.DomRecycler.garbage(this.$el)},e.prototype.seek=function(t){this.el.currentTime=t},e.prototype.seekPercentage=function(t){var e=this.el.duration*(t/100);this.seek(e)},e.prototype._checkInitialSeek=function(){var t=(0,b.seekStringToSeconds)();0!==t&&this.seek(t)},e.prototype.getCurrentTime=function(){return this.el.currentTime},e.prototype.getDuration=function(){return this.el.duration},e.prototype._onTimeUpdate=function(){this.getPlaybackType()===E.default.LIVE?this.trigger(R.default.PLAYBACK_TIMEUPDATE,{current:1,total:1},this.name):this.trigger(R.default.PLAYBACK_TIMEUPDATE,{current:this.el.currentTime,total:this.el.duration},this.name)},e.prototype._onProgress=function(){if(this.el.buffered.length){for(var t=[],e=0,i=0;i<this.el.buffered.length;i++)t=[].concat((0,y.default)(t),[{start:this.el.buffered.start(i),end:this.el.buffered.end(i)}]),this.el.currentTime>=t[i].start&&this.el.currentTime<=t[i].end&&(e=i);var r={start:t[e].start,current:t[e].end,total:this.el.duration};this.trigger(R.default.PLAYBACK_PROGRESS,r,t)}},e.prototype._typeFor=function(t){var i=e._mimeTypesForUrl(t,M,this.options.mimeType);return 0==i.length&&(i=e._mimeTypesForUrl(t,F,this.options.mimeType)),(i[0]||"").split(";")[0]},e.prototype._ready=function(){this._isReadyState||(this._isReadyState=!0,this.trigger(R.default.PLAYBACK_READY,this.name))},e.prototype._checkForClosedCaptions=function(){if(this.isHTML5Video&&!this._ccIsSetup){if(this.hasClosedCaptionsTracks){this.trigger(R.default.PLAYBACK_SUBTITLE_AVAILABLE);var t=this.closedCaptionsTrackId;this.closedCaptionsTrackId=t,this.handleTextTrackChange=this._handleTextTrackChange.bind(this),this.el.textTracks.addEventListener("change",this.handleTextTrackChange)}this._ccIsSetup=!0}},e.prototype._handleTextTrackChange=function(){var t=this.closedCaptionsTracks,e=t.find(function(t){return"showing"===t.track.mode})||{id:-1};this._ccTrackId!==e.id&&(this._ccTrackId=e.id,this.trigger(R.default.PLAYBACK_SUBTITLE_CHANGED,{id:e.id}))},e.prototype.render=function(){var t=k.default.getStyleFor(C.default);return this.options.playback.disableContextMenu&&this.$el.on("contextmenu",function(){return!1}),this._externalTracks&&this._externalTracks.length>0&&this.$el.html(this.template({tracks:this._externalTracks})),this.$el.append(t),this._ready(),this},(0,f.default)(e,[{key:"isReady",get:function(){return this._isReadyState}},{key:"isHTML5Video",get:function(){return this.name===e.prototype.name}},{key:"closedCaptionsTracks",get:function(){var t=0,e=function(){return t++};return(this.el.textTracks?(0,o.default)(this.el.textTracks):[]).filter(function(t){return"subtitles"===t.kind||"captions"===t.kind}).map(function(t){return{id:e(),name:t.label,track:t}})}},{key:"closedCaptionsTrackId",get:function(){return this._ccTrackId},set:function(t){if((0,b.isNumber)(t)){var e=this.closedCaptionsTracks,i=void 0;if(-1!==t){if(!(i=e.find(function(e){return e.id===t})))return;if("showing"===i.track.mode)return}e.filter(function(t){return"hidden"!==t.track.mode}).forEach(function(t){return t.track.mode="hidden"}),i&&(i.track.mode="showing"),this._ccTrackId=t,this.trigger(R.default.PLAYBACK_SUBTITLE_CHANGED,{id:t})}}},{key:"template",get:function(){return(0,I.default)(N.default)}}]),e}(E.default);e.default=U,U._mimeTypesForUrl=function(t,e,i){var r=(t.split("?")[0].match(/.*\.(.*)$/)||[])[1],n=i||r&&e[r.toLowerCase()]||[];return n.constructor===Array?n:[n]},U._canPlay=function(t,e,i,r){var n=U._mimeTypesForUrl(i,e,r),a=document.createElement(t);return!!n.filter(function(t){return!!a.canPlayType(t).replace(/no/,"")})[0]},U.canPlay=function(t,e){return U._canPlay("audio",F,t,e)||U._canPlay("video",M,t,e)},t.exports=e.default}).call(e,i(57))},function(t,e,i){i(65),i(154),t.exports=i(11).Array.from},function(t,e,i){"use strict";var r=i(46),n=i(19),a=i(39),o=i(155),s=i(156),l=i(61),u=i(157),d=i(158);n(n.S+n.F*!i(160)(function(t){Array.from(t)}),"Array",{from:function(t){var e,i,n,c,f=a(t),h="function"==typeof this?this:Array,p=arguments.length,g=p>1?arguments[1]:void 0,y=void 0!==g,v=0,m=d(f);if(y&&(g=r(g,p>2?arguments[2]:void 0,2)),void 0==m||h==Array&&s(m))for(e=l(f.length),i=new h(e);e>v;v++)u(i,v,y?g(f[v],v):f[v]);else for(c=m.call(f),i=new h;!(n=c.next()).done;v++)u(i,v,y?o(c,g,[n.value,v],!0):n.value);return i.length=v,i}})},function(t,e,i){var r=i(23);t.exports=function(t,e,i,n){try{return n?e(r(i)[0],i[1]):e(i)}catch(e){var a=t.return;throw void 0!==a&&r(a.call(t)),e}}},function(t,e,i){var r=i(29),n=i(12)("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||a[n]===t)}},function(t,e,i){"use strict";var r=i(16),n=i(28);t.exports=function(t,e,i){e in t?r.f(t,e,n(0,i)):t[e]=i}},function(t,e,i){var r=i(159),n=i(12)("iterator"),a=i(29);t.exports=i(11).getIteratorMethod=function(t){if(void 0!=t)return t[n]||t["@@iterator"]||a[r(t)]}},function(t,e,i){var r=i(41),n=i(12)("toStringTag"),a="Arguments"==r(function(){return arguments}()),o=function(t,e){try{return t[e]}catch(t){}};t.exports=function(t){var e,i,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(i=o(e=Object(t),n))?i:a?r(e):"Object"==(s=r(e))&&"function"==typeof e.callee?"Arguments":s}},function(t,e,i){var r=i(12)("iterator"),n=!1;try{var a=[7][r]();a.return=function(){n=!0},Array.from(a,function(){throw 2})}catch(t){}t.exports=function(t,e){if(!e&&!n)return!1;var i=!1;try{var a=[7],o=a[r]();o.next=function(){return{done:i=!0}},a[r]=function(){return o},t(a)}catch(t){}return i}},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,"[data-html5-video]{position:absolute;height:100%;width:100%;display:block}",""])},function(t,e){t.exports='<% for (var i = 0; i < tracks.length; i++) { %>\n  <track data-html5-video-track="<%= i %>" kind="<%= tracks[i].kind %>" label="<%= tracks[i].label %>" srclang="<%= tracks[i].lang %>" src="<%= tracks[i].src %>" />\n<% }; %>\n'},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(59),p=r(h),g=i(13),y=r(g),v=i(24),m=r(v),b=i(8),_=r(b),E=i(6),T=r(E),k=i(4),A=r(k),S=i(9),L=r(S),R=i(167),w=r(R),C=function(t){function e(){(0,a.default)(this,e);for(var i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];var o=(0,s.default)(this,t.call.apply(t,[this].concat(r)));return o._src=o.options.src,o._baseUrl=o.options.baseUrl,o._autoPlay=o.options.autoPlay,o.settings={default:["seekbar"]},o.settings.left=["playpause","position","duration"],o.settings.right=["fullscreen","volume"],o.settings.seekEnabled=!0,o._isReadyState=!1,o._addListeners(),o}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"flash"}},{key:"swfPath",get:function(){return(0,_.default)(w.default)({baseUrl:this._baseUrl})}},{key:"ended",get:function(){return"ENDED"===this._currentState}},{key:"buffering",get:function(){return!!this._bufferingState&&"ENDED"!==this._currentState}}]),e.prototype._bootstrap=function(){var t=this;this.el.playerPlay?(this.el.width="100%",this.el.height="100%","PLAYING"===this._currentState?this._firstPlay():(this._currentState="IDLE",this._autoPlay&&this.play()),(0,T.default)('<div style="position: absolute; top: 0; left: 0; width: 100%; height: 100%" />').insertAfter(this.$el),this.getDuration()>0?this._metadataLoaded():m.default.once(this.uniqueId+":timeupdate",this._metadataLoaded,this)):(this._attempts=this._attempts||0,++this._attempts<=60?setTimeout(function(){return t._bootstrap()},50):this.trigger(A.default.PLAYBACK_ERROR,{message:"Max number of attempts reached"},this.name))},e.prototype._metadataLoaded=function(){this._isReadyState=!0,this.trigger(A.default.PLAYBACK_READY,this.name),this.trigger(A.default.PLAYBACK_SETTINGSUPDATE,this.name)},e.prototype.getPlaybackType=function(){return L.default.VOD},e.prototype.isHighDefinitionInUse=function(){return!1},e.prototype._updateTime=function(){this.trigger(A.default.PLAYBACK_TIMEUPDATE,{current:this.el.getPosition(),total:this.el.getDuration()},this.name)},e.prototype._addListeners=function(){m.default.on(this.uniqueId+":progress",this._progress,this),m.default.on(this.uniqueId+":timeupdate",this._updateTime,this),m.default.on(this.uniqueId+":statechanged",this._checkState,this),m.default.on(this.uniqueId+":flashready",this._bootstrap,this)},e.prototype.stopListening=function(){t.prototype.stopListening.call(this),m.default.off(this.uniqueId+":progress"),m.default.off(this.uniqueId+":timeupdate"),m.default.off(this.uniqueId+":statechanged"),m.default.off(this.uniqueId+":flashready")},e.prototype._checkState=function(){this._isIdle||"PAUSED"===this._currentState||("PLAYING_BUFFERING"!==this._currentState&&"PLAYING_BUFFERING"===this.el.getState()?(this._bufferingState=!0,this.trigger(A.default.PLAYBACK_BUFFERING,this.name),this._currentState="PLAYING_BUFFERING"):"PLAYING"===this.el.getState()?(this._bufferingState=!1,this.trigger(A.default.PLAYBACK_BUFFERFULL,this.name),this._currentState="PLAYING"):"IDLE"===this.el.getState()?this._currentState="IDLE":"ENDED"===this.el.getState()&&(this.trigger(A.default.PLAYBACK_ENDED,this.name),this.trigger(A.default.PLAYBACK_TIMEUPDATE,{current:0,total:this.el.getDuration()},this.name),this._currentState="ENDED",this._isIdle=!0))},e.prototype._progress=function(){"IDLE"!==this._currentState&&"ENDED"!==this._currentState&&this.trigger(A.default.PLAYBACK_PROGRESS,{start:0,current:this.el.getBytesLoaded(),total:this.el.getBytesTotal()})},e.prototype._firstPlay=function(){var t=this;this.el.playerPlay?(this._isIdle=!1,this.el.playerPlay(this._src),this.listenToOnce(this,A.default.PLAYBACK_BUFFERFULL,function(){return t._checkInitialSeek()}),this._currentState="PLAYING"):this.listenToOnce(this,A.default.PLAYBACK_READY,this._firstPlay)},e.prototype._checkInitialSeek=function(){var t=(0,f.seekStringToSeconds)(window.location.href);0!==t&&this.seekSeconds(t)},e.prototype.play=function(){this.trigger(A.default.PLAYBACK_PLAY_INTENT),"PAUSED"===this._currentState||"PLAYING_BUFFERING"===this._currentState?(this._currentState="PLAYING",this.el.playerResume(),this.trigger(A.default.PLAYBACK_PLAY,this.name)):"PLAYING"!==this._currentState&&(this._firstPlay(),this.trigger(A.default.PLAYBACK_PLAY,this.name))},e.prototype.volume=function(t){var e=this;this.isReady?this.el.playerVolume(t):this.listenToOnce(this,A.default.PLAYBACK_BUFFERFULL,function(){return e.volume(t)})},e.prototype.pause=function(){this._currentState="PAUSED",this.el.playerPause(),this.trigger(A.default.PLAYBACK_PAUSE,this.name)},e.prototype.stop=function(){this.el.playerStop(),this.trigger(A.default.PLAYBACK_STOP),this.trigger(A.default.PLAYBACK_TIMEUPDATE,{current:0,total:0},this.name)},e.prototype.isPlaying=function(){return!!(this.isReady&&this._currentState.indexOf("PLAYING")>-1)},e.prototype.getDuration=function(){return this.el.getDuration()},e.prototype.seekPercentage=function(t){var e=this;if(this.el.getDuration()>0){var i=this.el.getDuration()*(t/100);this.seek(i)}else this.listenToOnce(this,A.default.PLAYBACK_BUFFERFULL,function(){return e.seekPercentage(t)})},e.prototype.seek=function(t){var e=this;this.isReady&&this.el.playerSeek?(this.el.playerSeek(t),this.trigger(A.default.PLAYBACK_TIMEUPDATE,{current:t,total:this.el.getDuration()},this.name),"PAUSED"===this._currentState&&this.el.playerPause()):this.listenToOnce(this,A.default.PLAYBACK_BUFFERFULL,function(){return e.seek(t)})},e.prototype.destroy=function(){clearInterval(this.bootstrapId),t.prototype.stopListening.call(this),this.$el.remove()},(0,u.default)(e,[{key:"isReady",get:function(){return this._isReadyState}}]),e}(p.default);e.default=C,C.canPlay=function(t){if(y.default.hasFlash&&t&&t.constructor===String){var e=t.split("?")[0].match(/.*\.(.*)$/)||[];return e.length>1&&!y.default.isMobile&&e[1].toLowerCase().match(/^(mp4|mov|f4v|3gpp|3gp)$/)}return!1},t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(3),s=r(o),l=i(1),u=r(l),d=i(2),c=r(d),f=i(9),h=r(f),p=i(7),g=r(p),y=i(8),v=r(y),m=i(13),b=r(m),_=i(165),E=r(_),T=i(166),k=r(T),A=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,t.apply(this,arguments))}return(0,c.default)(e,t),e.prototype.setElement=function(t){this.$el=t,this.el=t[0]},e.prototype.render=function(){return this.$el.attr("data",this.swfPath),this.$el.html(this.template({cid:this.cid,swfPath:this.swfPath,baseUrl:this.baseUrl,playbackId:this.uniqueId,wmode:this.wmode,callbackName:"window.Clappr.flashlsCallbacks."+this.cid})),b.default.isIE&&(this.$("embed").remove(),b.default.isLegacyIE&&this.$el.attr("classid","clsid:d27cdb6e-ae6d-11cf-96b8-444553540000")),this.el.id=this.cid,this.$el.append(g.default.getStyleFor(k.default)),this},(0,s.default)(e,[{key:"tagName",get:function(){return"object"}},{key:"swfPath",get:function(){return""}},{key:"wmode",get:function(){return"transparent"}},{key:"template",get:function(){return(0,v.default)(E.default)}},{key:"attributes",get:function(){var t="application/x-shockwave-flash";return b.default.isLegacyIE&&(t=""),{class:"clappr-flash-playback",type:t,width:"100%",height:"100%",data:this.swfPath,"data-flash-playback":this.name}}}]),e}(h.default);e.default=A,t.exports=e.default},function(t,e){t.exports='<param name="movie" value="<%= swfPath %>">\n<param name="quality" value="autohigh">\n<param name="swliveconnect" value="true">\n<param name="allowScriptAccess" value="always">\n<param name="bgcolor" value="#000000">\n<param name="allowFullScreen" value="false">\n<param name="wmode" value="<%= wmode %>">\n<param name="tabindex" value="1">\n<param name="FlashVars" value="playbackId=<%= playbackId %>&callback=<%= callbackName %>">\n<embed\n  name="<%= cid %>"\n  type="application/x-shockwave-flash"\n  disabled="disabled"\n  tabindex="-1"\n  enablecontextmenu="false"\n  allowScriptAccess="always"\n  quality="autohigh"\n  pluginspage="http://www.macromedia.com/go/getflashplayer"\n  wmode="<%= wmode %>"\n  swliveconnect="true"\n  allowfullscreen="false"\n  bgcolor="#000000"\n  FlashVars="playbackId=<%= playbackId %>&callback=<%= callbackName %>"\n  data="<%= swfPath %>"\n  src="<%= swfPath %>"\n  width="100%"\n  height="100%">\n</embed>\n'},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".clappr-flash-playback[data-flash-playback]{display:block;position:absolute;top:0;left:0;height:100%;width:100%;pointer-events:none}",""])},function(t,e){t.exports="<%=baseUrl%>/4b76590b32dab62bc95c1b7951efae78.swf"},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(3),s=r(o),l=i(1),u=r(l),d=i(2),c=r(d),f=i(4),h=r(f),p=i(9),g=r(p),y=i(35),v=r(y),m=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,t.apply(this,arguments))}return(0,c.default)(e,t),e.prototype.updateSettings=function(){this.settings.left=["playpause","position","duration"],this.settings.seekEnabled=this.isSeekEnabled(),this.trigger(h.default.PLAYBACK_SETTINGSUPDATE)},e.prototype.getPlaybackType=function(){return g.default.AOD},(0,s.default)(e,[{key:"name",get:function(){return"html5_audio"}},{key:"tagName",get:function(){return"audio"}},{key:"isAudioOnly",get:function(){return!0}}]),e}(v.default);e.default=m,m.canPlay=function(t,e){var i={wav:["audio/wav"],mp3:["audio/mp3",'audio/mpeg;codecs="mp3"'],aac:['audio/mp4;codecs="mp4a.40.5"'],oga:["audio/ogg"]};return v.default._canPlay("audio",i,t,e)},t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(59),h=r(f),p=i(4),g=r(p),y=i(8),v=r(y),m=i(9),b=r(m),_=i(24),E=r(_),T=i(13),k=r(T),A=i(170),S=r(A),L=i(171),R=r(L),w=i(6),C=r(w),O=function(t){function e(){(0,a.default)(this,e);for(var i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];var o=(0,s.default)(this,t.call.apply(t,[this].concat(r)));return o._src=o.options.src,o._baseUrl=o.options.baseUrl,o._initHlsParameters(o.options),o.highDefinition=!1,o._autoPlay=o.options.autoPlay,o._loop=o.options.loop,o._defaultSettings={left:["playstop"],default:["seekbar"],right:["fullscreen","volume","hd-indicator"],seekEnabled:!1},o.settings=C.default.extend({},o._defaultSettings),o._playbackType=b.default.LIVE,o._hasEnded=!1,o._addListeners(),o}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"flashls"}},{key:"swfPath",get:function(){return(0,v.default)(R.default)({baseUrl:this._baseUrl})}},{key:"levels",get:function(){return this._levels||[]}},{key:"currentLevel",get:function(){return null===this._currentLevel||void 0===this._currentLevel?-1:this._currentLevel},set:function(t){this._currentLevel=t,this.trigger(g.default.PLAYBACK_LEVEL_SWITCH_START),this.el.playerSetCurrentLevel(t)}},{key:"ended",get:function(){return this._hasEnded}},{key:"buffering",get:function(){return!!this._bufferingState&&!this._hasEnded}}]),e.prototype._initHlsParameters=function(t){this._autoStartLoad=void 0===t.autoStartLoad||t.autoStartLoad,this._capLevelToStage=void 0!==t.capLevelToStage&&t.capLevelToStage,this._maxLevelCappingMode=void 0===t.maxLevelCappingMode?"downscale":t.maxLevelCappingMode,this._minBufferLength=void 0===t.minBufferLength?-1:t.minBufferLength,this._minBufferLengthCapping=void 0===t.minBufferLengthCapping?-1:t.minBufferLengthCapping,this._maxBufferLength=void 0===t.maxBufferLength?120:t.maxBufferLength,this._maxBackBufferLength=void 0===t.maxBackBufferLength?30:t.maxBackBufferLength,this._lowBufferLength=void 0===t.lowBufferLength?3:t.lowBufferLength,this._mediaTimePeriod=void 0===t.mediaTimePeriod?100:t.mediaTimePeriod,this._fpsDroppedMonitoringPeriod=void 0===t.fpsDroppedMonitoringPeriod?5e3:t.fpsDroppedMonitoringPeriod,this._fpsDroppedMonitoringThreshold=void 0===t.fpsDroppedMonitoringThreshold?.2:t.fpsDroppedMonitoringThreshold,this._capLevelonFPSDrop=void 0!==t.capLevelonFPSDrop&&t.capLevelonFPSDrop,this._smoothAutoSwitchonFPSDrop=void 0===t.smoothAutoSwitchonFPSDrop?this.capLevelonFPSDrop:t.smoothAutoSwitchonFPSDrop,this._switchDownOnLevelError=void 0===t.switchDownOnLevelError||t.switchDownOnLevelError,this._seekMode=void 0===t.seekMode?"ACCURATE":t.seekMode,this._keyLoadMaxRetry=void 0===t.keyLoadMaxRetry?3:t.keyLoadMaxRetry,this._keyLoadMaxRetryTimeout=void 0===t.keyLoadMaxRetryTimeout?64e3:t.keyLoadMaxRetryTimeout,this._fragmentLoadMaxRetry=void 0===t.fragmentLoadMaxRetry?3:t.fragmentLoadMaxRetry,this._fragmentLoadMaxRetryTimeout=void 0===t.fragmentLoadMaxRetryTimeout?4e3:t.fragmentLoadMaxRetryTimeout,this._fragmentLoadSkipAfterMaxRetry=void 0===t.fragmentLoadSkipAfterMaxRetry||t.fragmentLoadSkipAfterMaxRetry,this._maxSkippedFragments=void 0===t.maxSkippedFragments?5:t.maxSkippedFragments,this._flushLiveURLCache=void 0!==t.flushLiveURLCache&&t.flushLiveURLCache,this._initialLiveManifestSize=void 0===t.initialLiveManifestSize?1:t.initialLiveManifestSize,this._manifestLoadMaxRetry=void 0===t.manifestLoadMaxRetry?3:t.manifestLoadMaxRetry,this._manifestLoadMaxRetryTimeout=void 0===t.manifestLoadMaxRetryTimeout?64e3:t.manifestLoadMaxRetryTimeout,this._manifestRedundantLoadmaxRetry=void 0===t.manifestRedundantLoadmaxRetry?3:t.manifestRedundantLoadmaxRetry,this._startFromBitrate=void 0===t.startFromBitrate?-1:t.startFromBitrate,this._startFromLevel=void 0===t.startFromLevel?-1:t.startFromLevel,this._autoStartMaxDuration=void 0===t.autoStartMaxDuration?-1:t.autoStartMaxDuration,this._seekFromLevel=void 0===t.seekFromLevel?-1:t.seekFromLevel,this._useHardwareVideoDecoder=void 0!==t.useHardwareVideoDecoder&&t.useHardwareVideoDecoder,this._hlsLogEnabled=void 0===t.hlsLogEnabled||t.hlsLogEnabled,this._logDebug=void 0!==t.logDebug&&t.logDebug,this._logDebug2=void 0!==t.logDebug2&&t.logDebug2,this._logWarn=void 0===t.logWarn||t.logWarn,this._logError=void 0===t.logError||t.logError,this._hlsMinimumDvrSize=void 0===t.hlsMinimumDvrSize?60:t.hlsMinimumDvrSize},e.prototype._addListeners=function(){var t=this;E.default.on(this.cid+":flashready",function(){return t._bootstrap()}),E.default.on(this.cid+":timeupdate",function(e){return t._updateTime(e)}),E.default.on(this.cid+":playbackstate",function(e){return t._setPlaybackState(e)}),E.default.on(this.cid+":levelchanged",function(e){return t._levelChanged(e)}),E.default.on(this.cid+":error",function(e,i,r){return t._flashPlaybackError(e,i,r)}),E.default.on(this.cid+":fragmentloaded",function(e){return t._onFragmentLoaded(e)}),E.default.on(this.cid+":levelendlist",function(e){return t._onLevelEndlist(e)})},e.prototype.stopListening=function(){t.prototype.stopListening.call(this),E.default.off(this.cid+":flashready"),E.default.off(this.cid+":timeupdate"),E.default.off(this.cid+":playbackstate"),E.default.off(this.cid+":levelchanged"),E.default.off(this.cid+":playbackerror"),E.default.off(this.cid+":fragmentloaded"),E.default.off(this.cid+":manifestloaded"),E.default.off(this.cid+":levelendlist")},e.prototype._bootstrap=function(){var t=this;this.el.playerLoad?(this.el.width="100%",this.el.height="100%",this._isReadyState=!0,this._srcLoaded=!1,this._currentState="IDLE",this._setFlashSettings(),this._updatePlaybackType(),(this._autoPlay||this._shouldPlayOnManifestLoaded)&&this.play(),this.trigger(g.default.PLAYBACK_READY,this.name)):(this._bootstrapAttempts=this._bootstrapAttempts||0,++this._bootstrapAttempts<=60?setTimeout(function(){return t._bootstrap()},50):this.trigger(g.default.PLAYBACK_ERROR,{message:"Max number of attempts reached"},this.name))},e.prototype._setFlashSettings=function(){this.el.playerSetAutoStartLoad(this._autoStartLoad),this.el.playerSetCapLevelToStage(this._capLevelToStage),this.el.playerSetMaxLevelCappingMode(this._maxLevelCappingMode),this.el.playerSetMinBufferLength(this._minBufferLength),this.el.playerSetMinBufferLengthCapping(this._minBufferLengthCapping),this.el.playerSetMaxBufferLength(this._maxBufferLength),this.el.playerSetMaxBackBufferLength(this._maxBackBufferLength),this.el.playerSetLowBufferLength(this._lowBufferLength),this.el.playerSetMediaTimePeriod(this._mediaTimePeriod),this.el.playerSetFpsDroppedMonitoringPeriod(this._fpsDroppedMonitoringPeriod),this.el.playerSetFpsDroppedMonitoringThreshold(this._fpsDroppedMonitoringThreshold),this.el.playerSetCapLevelonFPSDrop(this._capLevelonFPSDrop),this.el.playerSetSmoothAutoSwitchonFPSDrop(this._smoothAutoSwitchonFPSDrop),this.el.playerSetSwitchDownOnLevelError(this._switchDownOnLevelError),this.el.playerSetSeekMode(this._seekMode),this.el.playerSetKeyLoadMaxRetry(this._keyLoadMaxRetry),this.el.playerSetKeyLoadMaxRetryTimeout(this._keyLoadMaxRetryTimeout),this.el.playerSetFragmentLoadMaxRetry(this._fragmentLoadMaxRetry),this.el.playerSetFragmentLoadMaxRetryTimeout(this._fragmentLoadMaxRetryTimeout),this.el.playerSetFragmentLoadSkipAfterMaxRetry(this._fragmentLoadSkipAfterMaxRetry),this.el.playerSetMaxSkippedFragments(this._maxSkippedFragments),this.el.playerSetFlushLiveURLCache(this._flushLiveURLCache),this.el.playerSetInitialLiveManifestSize(this._initialLiveManifestSize),this.el.playerSetManifestLoadMaxRetry(this._manifestLoadMaxRetry),this.el.playerSetManifestLoadMaxRetryTimeout(this._manifestLoadMaxRetryTimeout),this.el.playerSetManifestRedundantLoadmaxRetry(this._manifestRedundantLoadmaxRetry),this.el.playerSetStartFromBitrate(this._startFromBitrate),this.el.playerSetStartFromLevel(this._startFromLevel),this.el.playerSetAutoStartMaxDuration(this._autoStartMaxDuration),this.el.playerSetSeekFromLevel(this._seekFromLevel),this.el.playerSetUseHardwareVideoDecoder(this._useHardwareVideoDecoder),this.el.playerSetLogInfo(this._hlsLogEnabled),this.el.playerSetLogDebug(this._logDebug),this.el.playerSetLogDebug2(this._logDebug2),this.el.playerSetLogWarn(this._logWarn),this.el.playerSetLogError(this._logError)},e.prototype.setAutoStartLoad=function(t){this._autoStartLoad=t,this.el.playerSetAutoStartLoad(this._autoStartLoad)},e.prototype.setCapLevelToStage=function(t){this._capLevelToStage=t,this.el.playerSetCapLevelToStage(this._capLevelToStage)},e.prototype.setMaxLevelCappingMode=function(t){this._maxLevelCappingMode=t,this.el.playerSetMaxLevelCappingMode(this._maxLevelCappingMode)},e.prototype.setSetMinBufferLength=function(t){this._minBufferLength=t,this.el.playerSetMinBufferLength(this._minBufferLength)},e.prototype.setMinBufferLengthCapping=function(t){this._minBufferLengthCapping=t,this.el.playerSetMinBufferLengthCapping(this._minBufferLengthCapping)},e.prototype.setMaxBufferLength=function(t){this._maxBufferLength=t,this.el.playerSetMaxBufferLength(this._maxBufferLength)},e.prototype.setMaxBackBufferLength=function(t){this._maxBackBufferLength=t,this.el.playerSetMaxBackBufferLength(this._maxBackBufferLength)},e.prototype.setLowBufferLength=function(t){this._lowBufferLength=t,this.el.playerSetLowBufferLength(this._lowBufferLength)},e.prototype.setMediaTimePeriod=function(t){this._mediaTimePeriod=t,this.el.playerSetMediaTimePeriod(this._mediaTimePeriod)},e.prototype.setFpsDroppedMonitoringPeriod=function(t){this._fpsDroppedMonitoringPeriod=t,this.el.playerSetFpsDroppedMonitoringPeriod(this._fpsDroppedMonitoringPeriod)},e.prototype.setFpsDroppedMonitoringThreshold=function(t){this._fpsDroppedMonitoringThreshold=t,this.el.playerSetFpsDroppedMonitoringThreshold(this._fpsDroppedMonitoringThreshold)},e.prototype.setCapLevelonFPSDrop=function(t){this._capLevelonFPSDrop=t,this.el.playerSetCapLevelonFPSDrop(this._capLevelonFPSDrop)},e.prototype.setSmoothAutoSwitchonFPSDrop=function(t){this._smoothAutoSwitchonFPSDrop=t,this.el.playerSetSmoothAutoSwitchonFPSDrop(this._smoothAutoSwitchonFPSDrop)},e.prototype.setSwitchDownOnLevelError=function(t){this._switchDownOnLevelError=t,this.el.playerSetSwitchDownOnLevelError(this._switchDownOnLevelError)},e.prototype.setSeekMode=function(t){this._seekMode=t,this.el.playerSetSeekMode(this._seekMode)},e.prototype.setKeyLoadMaxRetry=function(t){this._keyLoadMaxRetry=t,this.el.playerSetKeyLoadMaxRetry(this._keyLoadMaxRetry)},e.prototype.setKeyLoadMaxRetryTimeout=function(t){this._keyLoadMaxRetryTimeout=t,this.el.playerSetKeyLoadMaxRetryTimeout(this._keyLoadMaxRetryTimeout)},e.prototype.setFragmentLoadMaxRetry=function(t){this._fragmentLoadMaxRetry=t,this.el.playerSetFragmentLoadMaxRetry(this._fragmentLoadMaxRetry)},e.prototype.setFragmentLoadMaxRetryTimeout=function(t){this._fragmentLoadMaxRetryTimeout=t,this.el.playerSetFragmentLoadMaxRetryTimeout(this._fragmentLoadMaxRetryTimeout)},e.prototype.setFragmentLoadSkipAfterMaxRetry=function(t){this._fragmentLoadSkipAfterMaxRetry=t,this.el.playerSetFragmentLoadSkipAfterMaxRetry(this._fragmentLoadSkipAfterMaxRetry)},e.prototype.setMaxSkippedFragments=function(t){this._maxSkippedFragments=t,this.el.playerSetMaxSkippedFragments(this._maxSkippedFragments)},e.prototype.setFlushLiveURLCache=function(t){this._flushLiveURLCache=t,this.el.playerSetFlushLiveURLCache(this._flushLiveURLCache)},e.prototype.setInitialLiveManifestSize=function(t){this._initialLiveManifestSize=t,this.el.playerSetInitialLiveManifestSize(this._initialLiveManifestSize)},e.prototype.setManifestLoadMaxRetry=function(t){this._manifestLoadMaxRetry=t,this.el.playerSetManifestLoadMaxRetry(this._manifestLoadMaxRetry)},e.prototype.setManifestLoadMaxRetryTimeout=function(t){this._manifestLoadMaxRetryTimeout=t,this.el.playerSetManifestLoadMaxRetryTimeout(this._manifestLoadMaxRetryTimeout)},e.prototype.setManifestRedundantLoadmaxRetry=function(t){this._manifestRedundantLoadmaxRetry=t,this.el.playerSetManifestRedundantLoadmaxRetry(this._manifestRedundantLoadmaxRetry)},e.prototype.setStartFromBitrate=function(t){this._startFromBitrate=t,this.el.playerSetStartFromBitrate(this._startFromBitrate)},e.prototype.setStartFromLevel=function(t){this._startFromLevel=t,this.el.playerSetStartFromLevel(this._startFromLevel)},e.prototype.setAutoStartMaxDuration=function(t){this._autoStartMaxDuration=t,this.el.playerSetAutoStartMaxDuration(this._autoStartMaxDuration)},e.prototype.setSeekFromLevel=function(t){this._seekFromLevel=t,this.el.playerSetSeekFromLevel(this._seekFromLevel)},e.prototype.setUseHardwareVideoDecoder=function(t){this._useHardwareVideoDecoder=t,this.el.playerSetUseHardwareVideoDecoder(this._useHardwareVideoDecoder)},e.prototype.setSetLogInfo=function(t){this._hlsLogEnabled=t,this.el.playerSetLogInfo(this._hlsLogEnabled)},e.prototype.setLogDebug=function(t){this._logDebug=t,this.el.playerSetLogDebug(this._logDebug)},e.prototype.setLogDebug2=function(t){this._logDebug2=t,this.el.playerSetLogDebug2(this._logDebug2)},e.prototype.setLogWarn=function(t){this._logWarn=t,this.el.playerSetLogWarn(this._logWarn)},e.prototype.setLogError=function(t){this._logError=t,this.el.playerSetLogError(this._logError)},e.prototype._levelChanged=function(t){var e=this.el.getLevels()[t];e&&(this.highDefinition=e.height>=720||e.bitrate/1e3>=2e3,this.trigger(g.default.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinition),this._levels&&0!==this._levels.length||this._fillLevels(),this.trigger(g.default.PLAYBACK_BITRATE,{height:e.height,width:e.width,bandwidth:e.bitrate,bitrate:e.bitrate,level:t}),this.trigger(g.default.PLAYBACK_LEVEL_SWITCH_END))},e.prototype._updateTime=function(t){if("IDLE"!==this._currentState){var e=this._normalizeDuration(t.duration),i=Math.min(Math.max(t.position,0),e),r=this._dvrEnabled,n=this._playbackType===b.default.LIVE;this._dvrEnabled=n&&e>this._hlsMinimumDvrSize,100!==e&&void 0!==n&&(this._dvrEnabled!==r&&(this._updateSettings(),this.trigger(g.default.PLAYBACK_SETTINGSUPDATE,this.name)),!n||this._dvrEnabled&&this._dvrInUse||(i=e),this.trigger(g.default.PLAYBACK_TIMEUPDATE,{current:i,total:e},this.name))}},e.prototype.play=function(){this.trigger(g.default.PLAYBACK_PLAY_INTENT),"PAUSED"===this._currentState?this.el.playerResume():this._srcLoaded||"PLAYING"===this._currentState?this.el.playerPlay():this._firstPlay()},e.prototype.getPlaybackType=function(){return this._playbackType?this._playbackType:null},e.prototype.getCurrentTime=function(){return this.el.getPosition()},e.prototype.getCurrentLevelIndex=function(){return this._currentLevel},e.prototype.getCurrentLevel=function(){return this.levels[this.currentLevel]},e.prototype.getCurrentBitrate=function(){return this.levels[this.currentLevel].bitrate},e.prototype.setCurrentLevel=function(t){this.currentLevel=t},e.prototype.isHighDefinitionInUse=function(){return this.highDefinition},e.prototype.getLevels=function(){return this.levels},e.prototype._setPlaybackState=function(t){["PLAYING_BUFFERING","PAUSED_BUFFERING"].indexOf(t)>=0?(this._bufferingState=!0,this.trigger(g.default.PLAYBACK_BUFFERING,this.name),this._updateCurrentState(t)):["PLAYING","PAUSED"].indexOf(t)>=0?(["PLAYING_BUFFERING","PAUSED_BUFFERING","IDLE"].indexOf(this._currentState)>=0&&(this._bufferingState=!1,this.trigger(g.default.PLAYBACK_BUFFERFULL,this.name)),this._updateCurrentState(t)):"IDLE"===t&&(this._srcLoaded=!1,this._loop&&["PLAYING_BUFFERING","PLAYING"].indexOf(this._currentState)>=0?(this.play(),this.seek(0)):(this._updateCurrentState(t),this._hasEnded=!0,this.trigger(g.default.PLAYBACK_TIMEUPDATE,{current:0,total:this.getDuration()},this.name),this.trigger(g.default.PLAYBACK_ENDED,this.name)))},e.prototype._updateCurrentState=function(t){this._currentState=t,"IDLE"!==t&&(this._hasEnded=!1),this._updatePlaybackType(),"PLAYING"===t?this.trigger(g.default.PLAYBACK_PLAY,this.name):"PAUSED"===t&&this.trigger(g.default.PLAYBACK_PAUSE,this.name)},e.prototype._updatePlaybackType=function(){this._playbackType=this.el.getType(),this._playbackType&&(this._playbackType=this._playbackType.toLowerCase(),this._playbackType===b.default.VOD?this._startReportingProgress():this._stopReportingProgress()),this.trigger(g.default.PLAYBACK_PLAYBACKSTATE,{type:this._playbackType})},e.prototype._startReportingProgress=function(){this._reportingProgress||(this._reportingProgress=!0)},e.prototype._stopReportingProgress=function(){this._reportingProgress=!1},e.prototype._onFragmentLoaded=function(t){if(this.trigger(g.default.PLAYBACK_FRAGMENT_LOADED,t),this._reportingProgress&&this.getCurrentTime()){var e=this.getCurrentTime()+this.el.getbufferLength();this.trigger(g.default.PLAYBACK_PROGRESS,{start:this.getCurrentTime(),current:e,total:this.el.getDuration()})}},e.prototype._onLevelEndlist=function(){this._updatePlaybackType()},e.prototype._firstPlay=function(){var t=this;this._shouldPlayOnManifestLoaded=!0,this.el.playerLoad&&(E.default.once(this.cid+":manifestloaded",function(e,i){return t._manifestLoaded(e,i)}),this._setFlashSettings(),this.el.playerLoad(this._src),this._srcLoaded=!0)},e.prototype.volume=function(t){var e=this;this.isReady?this.el.playerVolume(t):this.listenToOnce(this,g.default.PLAYBACK_BUFFERFULL,function(){return e.volume(t)})},e.prototype.pause=function(){(this._playbackType!==b.default.LIVE||this._dvrEnabled)&&(this.el.playerPause(),this._playbackType===b.default.LIVE&&this._dvrEnabled&&this._updateDvr(!0))},e.prototype.stop=function(){this._srcLoaded=!1,this.el.playerStop(),this.trigger(g.default.PLAYBACK_STOP),this.trigger(g.default.PLAYBACK_TIMEUPDATE,{current:0,total:0},this.name)},e.prototype.isPlaying=function(){return!!this._currentState&&!!this._currentState.match(/playing/i)},e.prototype.getDuration=function(){return this._normalizeDuration(this.el.getDuration())},e.prototype._normalizeDuration=function(t){return this._playbackType===b.default.LIVE&&(t=Math.max(0,t-10)),t},e.prototype.seekPercentage=function(t){var e=this.el.getDuration(),i=0;t>0&&(i=e*t/100),this.seek(i)},e.prototype.seek=function(t){var e=this.getDuration();if(this._playbackType===b.default.LIVE){var i=e-t>3;this._updateDvr(i)}this.el.playerSeek(t),this.trigger(g.default.PLAYBACK_TIMEUPDATE,{current:t,total:e},this.name)},e.prototype._updateDvr=function(t){var e=!!this._dvrInUse;this._dvrInUse=t,this._dvrInUse!==e&&(this._updateSettings(),this.trigger(g.default.PLAYBACK_DVR,this._dvrInUse),this.trigger(g.default.PLAYBACK_STATS_ADD,{dvr:this._dvrInUse}))},e.prototype._flashPlaybackError=function(t,e,i){this.trigger(g.default.PLAYBACK_ERROR,{code:t,url:e,message:i}),this.trigger(g.default.PLAYBACK_STOP)},e.prototype._manifestLoaded=function(t,e){this._shouldPlayOnManifestLoaded&&(this._shouldPlayOnManifestLoaded=!1,this.el.playerPlay()),this._fillLevels(),this.trigger(g.default.PLAYBACK_LOADEDMETADATA,{duration:t,data:e})},e.prototype._fillLevels=function(){var t=this.el.getLevels(),e=t.length;this._levels=[];for(var i=0;i<e;i++)this._levels.push({id:i,label:t[i].height+"p",level:t[i]});this.trigger(g.default.PLAYBACK_LEVELS_AVAILABLE,this._levels)},e.prototype.destroy=function(){this.stopListening(),this.$el.remove()},e.prototype._updateSettings=function(){this.settings=C.default.extend({},this._defaultSettings),this._playbackType===b.default.VOD||this._dvrInUse?(this.settings.left=["playpause","position","duration"],this.settings.seekEnabled=!0):this._dvrEnabled?(this.settings.left=["playpause"],this.settings.seekEnabled=!0):this.settings.seekEnabled=!1},e.prototype._createCallbacks=function(){var t=this;window.Clappr||(window.Clappr={}),window.Clappr.flashlsCallbacks||(window.Clappr.flashlsCallbacks={}),this.flashlsEvents=new S.default(this.cid),window.Clappr.flashlsCallbacks[this.cid]=function(e,i){t.flashlsEvents[e].apply(t.flashlsEvents,i)}},e.prototype.render=function(){return t.prototype.render.call(this),this._createCallbacks(),this},(0,u.default)(e,[{key:"isReady",get:function(){return this._isReadyState}},{key:"dvrEnabled",get:function(){return!!this._dvrEnabled}}]),e}(h.default);e.default=O,O.canPlay=function(t,e){var i=t.split("?")[0].match(/.*\.(.*)$/)||[];return k.default.hasFlash&&(i.length>1&&"m3u8"===i[1].toLowerCase()||"application/x-mpegURL"===e||"application/vnd.apple.mpegurl"===e)},t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(24),s=r(o),l=function(){function t(e){(0,a.default)(this,t),this.instanceId=e}return t.prototype.ready=function(){s.default.trigger(this.instanceId+":flashready")},t.prototype.videoSize=function(t,e){s.default.trigger(this.instanceId+":videosizechanged",t,e)},t.prototype.complete=function(){s.default.trigger(this.instanceId+":complete")},t.prototype.error=function(t,e,i){s.default.trigger(this.instanceId+":error",t,e,i)},t.prototype.manifest=function(t,e){s.default.trigger(this.instanceId+":manifestloaded",t,e)},t.prototype.audioLevelLoaded=function(t){s.default.trigger(this.instanceId+":audiolevelloaded",t)},t.prototype.levelLoaded=function(t){s.default.trigger(this.instanceId+":levelloaded",t)},t.prototype.levelEndlist=function(t){s.default.trigger(this.instanceId+":levelendlist",t)},t.prototype.fragmentLoaded=function(t){s.default.trigger(this.instanceId+":fragmentloaded",t)},t.prototype.fragmentPlaying=function(t){s.default.trigger(this.instanceId+":fragmentplaying",t)},t.prototype.position=function(t){s.default.trigger(this.instanceId+":timeupdate",t)},t.prototype.state=function(t){s.default.trigger(this.instanceId+":playbackstate",t)},t.prototype.seekState=function(t){s.default.trigger(this.instanceId+":seekstate",t)},t.prototype.switch=function(t){s.default.trigger(this.instanceId+":levelchanged",t)},t.prototype.audioTracksListChange=function(t){s.default.trigger(this.instanceId+":audiotracklistchanged",t)},t.prototype.audioTrackChange=function(t){s.default.trigger(this.instanceId+":audiotrackchanged",t)},t}();e.default=l,t.exports=e.default},function(t,e){t.exports="<%=baseUrl%>/809981e5b09d5336c45d72d0869ada2a.swf"},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(79),a=r(n),o=i(0),s=r(o),l=i(1),u=r(l),d=i(3),c=r(d),f=i(2),h=r(f),p=i(35),g=r(p),y=i(173),v=r(y),m=i(4),b=r(m),_=i(9),E=r(_),T=i(5),k=i(55),A=r(k),S=function(t){function e(){(0,s.default)(this,e);for(var i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];var a=(0,u.default)(this,t.call.apply(t,[this].concat(r)));return a.options.playback||(a.options.playback=a.options),a._minDvrSize=void 0===a.options.hlsMinimumDvrSize?60:a.options.hlsMinimumDvrSize,a._extrapolatedWindowNumSegments=a.options.playback&&void 0!==a.options.playback.extrapolatedWindowNumSegments?a.options.playback.extrapolatedWindowNumSegments:2,a._playbackType=E.default.VOD,a._lastTimeUpdate=null,a._lastDuration=null,a._playableRegionStartTime=0,a._localStartTimeCorrelation=null,a._localEndTimeCorrelation=null,a._playableRegionDuration=0,a._durationExcludesAfterLiveSyncPoint=!1,a._segmentTargetDuration=null,a._playlistType=null,a._recoverAttemptsRemaining=a.options.hlsRecoverAttempts||16,a._startTimeUpdateTimer(),a}return(0,h.default)(e,t),(0,c.default)(e,[{key:"name",get:function(){return"hls"}},{key:"levels",get:function(){return this._levels||[]}},{key:"currentLevel",get:function(){return null===this._currentLevel||void 0===this._currentLevel?-1:this._currentLevel},set:function(t){this._currentLevel=t,this.trigger(b.default.PLAYBACK_LEVEL_SWITCH_START),this._hls.currentLevel=this._currentLevel}},{key:"_startTime",get:function(){return this._playbackType===E.default.LIVE&&"EVENT"!==this._playlistType?this._extrapolatedStartTime:this._playableRegionStartTime}},{key:"_now",get:function(){return(0,T.now)()}},{key:"_extrapolatedStartTime",get:function(){if(!this._localStartTimeCorrelation)return this._playableRegionStartTime;var t=this._localStartTimeCorrelation,e=this._now-t.local,i=(t.remote+e)/1e3;return Math.min(i,this._playableRegionStartTime+this._extrapolatedWindowDuration)}},{key:"_extrapolatedEndTime",get:function(){var t=this._playableRegionStartTime+this._playableRegionDuration;if(!this._localEndTimeCorrelation)return t;var e=this._localEndTimeCorrelation,i=this._now-e.local,r=(e.remote+i)/1e3;return Math.max(t-this._extrapolatedWindowDuration,Math.min(r,t))}},{key:"_duration",get:function(){return this._extrapolatedEndTime-this._startTime}},{key:"_extrapolatedWindowDuration",get:function(){return null===this._segmentTargetDuration?0:this._extrapolatedWindowNumSegments*this._segmentTargetDuration}}],[{key:"HLSJS",get:function(){return v.default}}]),e.prototype._setupHls=function(){var t=this;this._ccIsSetup=!1,this._ccTracksUpdated=!1,this._hls=new v.default(this.options.playback.hlsjsConfig||{}),this._hls.on(v.default.Events.MEDIA_ATTACHED,function(){return t._hls.loadSource(t.options.src)}),this._hls.on(v.default.Events.LEVEL_LOADED,function(e,i){return t._updatePlaybackType(e,i)}),this._hls.on(v.default.Events.LEVEL_UPDATED,function(e,i){return t._onLevelUpdated(e,i)}),this._hls.on(v.default.Events.LEVEL_SWITCH,function(e,i){return t._onLevelSwitch(e,i)}),this._hls.on(v.default.Events.FRAG_LOADED,function(e,i){return t._onFragmentLoaded(e,i)}),this._hls.on(v.default.Events.ERROR,function(e,i){return t._onHLSJSError(e,i)}),this._hls.on(v.default.Events.SUBTITLE_TRACK_LOADED,function(e,i){return t._onSubtitleLoaded(e,i)}),this._hls.on(v.default.Events.SUBTITLE_TRACKS_UPDATED,function(){return t._ccTracksUpdated=!0}),this._hls.attachMedia(this.el)},e.prototype._recover=function(t,e){this._recoveredDecodingError?this._recoveredAudioCodecError?(A.default.error("hlsjs: failed to recover"),this.trigger(b.default.PLAYBACK_ERROR,"hlsjs: could not recover from error, evt "+t+", data "+e+" ",this.name)):(this._recoveredAudioCodecError=!0,this._hls.swapAudioCodec(),this._hls.recoverMediaError()):(this._recoveredDecodingError=!0,this._hls.recoverMediaError())},e.prototype._setupSrc=function(t){},e.prototype._startTimeUpdateTimer=function(){var t=this;this._timeUpdateTimer=setInterval(function(){t._onDurationChange(),t._onTimeUpdate()},100)},e.prototype._stopTimeUpdateTimer=function(){clearInterval(this._timeUpdateTimer)},e.prototype.getDuration=function(){return this._duration},e.prototype.getCurrentTime=function(){return Math.max(0,this.el.currentTime-this._startTime)},e.prototype.getStartTimeOffset=function(){return this._startTime},e.prototype.seekPercentage=function(t){var e=this._duration;t>0&&(e=this._duration*(t/100)),this.seek(e)},e.prototype.seek=function(e){e<0&&(A.default.warn("Attempt to seek to a negative time. Resetting to live point. Use seekToLivePoint() to seek to the live point."),e=this.getDuration()),this.dvrEnabled&&this._updateDvr(e<this.getDuration()-3),e+=this._startTime,t.prototype.seek.call(this,e)},e.prototype.seekToLivePoint=function(){this.seek(this.getDuration())},e.prototype._updateDvr=function(t){this.trigger(b.default.PLAYBACK_DVR,t),this.trigger(b.default.PLAYBACK_STATS_ADD,{dvr:t})},e.prototype._updateSettings=function(){this._playbackType===E.default.VOD?this.settings.left=["playpause","position","duration"]:this.dvrEnabled?this.settings.left=["playpause"]:this.settings.left=["playstop"],this.settings.seekEnabled=this.isSeekEnabled(),this.trigger(b.default.PLAYBACK_SETTINGSUPDATE)},e.prototype._onHLSJSError=function(t,e){if(e.fatal)if(this._recoverAttemptsRemaining>0)switch(this._recoverAttemptsRemaining-=1,e.type){case v.default.ErrorTypes.NETWORK_ERROR:switch(e.details){case v.default.ErrorDetails.MANIFEST_LOAD_ERROR:case v.default.ErrorDetails.MANIFEST_LOAD_TIMEOUT:case v.default.ErrorDetails.MANIFEST_PARSING_ERROR:case v.default.ErrorDetails.LEVEL_LOAD_ERROR:case v.default.ErrorDetails.LEVEL_LOAD_TIMEOUT:A.default.error("hlsjs: unrecoverable network fatal error, evt "+t+", data "+e+" "),this.trigger(b.default.PLAYBACK_ERROR,{evt:t,data:e},this.name);break;default:A.default.warn("hlsjs: trying to recover from network error, evt "+t+", data "+e+" "),this._hls.startLoad()}break;case v.default.ErrorTypes.MEDIA_ERROR:A.default.warn("hlsjs: trying to recover from media error, evt "+t+", data "+e+" "),this._recover(t,e);break;default:A.default.error("hlsjs: trying to recover from error, evt "+t+", data "+e+" "),this.trigger(b.default.PLAYBACK_ERROR,"hlsjs: could not recover from error, evt "+t+", data "+e+" ",this.name)}else A.default.error("hlsjs: could not recover from error after maximum number of attempts, evt "+t+", data "+e+" "),this.trigger(b.default.PLAYBACK_ERROR,{evt:t,data:e},this.name);else A.default.warn("hlsjs: non-fatal error occurred, evt "+t+", data "+e+" ")},e.prototype._onTimeUpdate=function(){var t={current:this.getCurrentTime(),total:this.getDuration()};this._lastTimeUpdate&&t.current===this._lastTimeUpdate.current&&t.total===this._lastTimeUpdate.total||(this._lastTimeUpdate=t,this.trigger(b.default.PLAYBACK_TIMEUPDATE,t,this.name))},e.prototype._onDurationChange=function(){var e=this.getDuration();this._lastDuration!==e&&(this._lastDuration=e,t.prototype._onDurationChange.call(this))},e.prototype._onProgress=function(){if(this.el.buffered.length){for(var t=[],e=0,i=0;i<this.el.buffered.length;i++)t=[].concat((0,a.default)(t),[{start:Math.max(0,this.el.buffered.start(i)-this._playableRegionStartTime),end:Math.max(0,this.el.buffered.end(i)-this._playableRegionStartTime)}]),this.el.currentTime>=t[i].start&&this.el.currentTime<=t[i].end&&(e=i);var r={start:t[e].start,current:t[e].end,total:this.getDuration()};this.trigger(b.default.PLAYBACK_PROGRESS,r,t)}},e.prototype.play=function(){this._hls||this._setupHls(),t.prototype.play.call(this)},e.prototype.pause=function(){this._hls&&(t.prototype.pause.call(this),this.dvrEnabled&&this._updateDvr(!0))},e.prototype.stop=function(){this._hls&&(t.prototype.stop.call(this),this._hls.destroy(),delete this._hls)},e.prototype.destroy=function(){this._stopTimeUpdateTimer(),this._hls&&(this._hls.destroy(),delete this._hls),t.prototype.destroy.call(this)},e.prototype._updatePlaybackType=function(t,e){this._playbackType=e.details.live?E.default.LIVE:E.default.VOD,this._fillLevels(),this._onLevelUpdated(t,e),this._ccTracksUpdated&&this._playbackType===E.default.LIVE&&this.hasClosedCaptionsTracks&&this._onSubtitleLoaded()},e.prototype._fillLevels=function(){this._levels=this._hls.levels.map(function(t,e){return{id:e,level:t,label:t.bitrate/1e3+"Kbps"}}),this.trigger(b.default.PLAYBACK_LEVELS_AVAILABLE,this._levels)},e.prototype._onLevelUpdated=function(t,e){this._segmentTargetDuration=e.details.targetduration,this._playlistType=e.details.type||null;var i=!1,r=!1,n=e.details.fragments,a=this._playableRegionStartTime,o=this._playableRegionDuration;if(0!==n.length){if(this._playableRegionStartTime!==n[0].start&&(i=!0,this._playableRegionStartTime=n[0].start),i)if(this._localStartTimeCorrelation){var s=this._localStartTimeCorrelation,l=this._now-s.local,u=(s.remote+l)/1e3;u<n[0].start?this._localStartTimeCorrelation={local:this._now,remote:1e3*n[0].start}:u>a+this._extrapolatedWindowDuration&&(this._localStartTimeCorrelation={local:this._now,remote:1e3*Math.max(n[0].start,a+this._extrapolatedWindowDuration)})}else this._localStartTimeCorrelation={local:this._now,remote:1e3*(n[0].start+this._extrapolatedWindowDuration/2)};var d=e.details.totalduration;if(this._playbackType===E.default.LIVE){var c=e.details.targetduration,f=this.options.playback||{},h=f.liveSyncDurationCount||v.default.DefaultConfig.liveSyncDurationCount,p=c*h;p<=d?(d-=p,this._durationExcludesAfterLiveSyncPoint=!0):this._durationExcludesAfterLiveSyncPoint=!1}d!==this._playableRegionDuration&&(r=!0,this._playableRegionDuration=d);var g=n[0].start+d,y=a+o;if(g!==y)if(this._localEndTimeCorrelation){var m=this._localEndTimeCorrelation,b=this._now-m.local,_=(m.remote+b)/1e3;_>g?this._localEndTimeCorrelation={local:this._now,remote:1e3*g}:_<g-this._extrapolatedWindowDuration?this._localEndTimeCorrelation={local:this._now,remote:1e3*(g-this._extrapolatedWindowDuration)}:_>y&&(this._localEndTimeCorrelation={local:this._now,remote:1e3*y})}else this._localEndTimeCorrelation={local:this._now,remote:1e3*g};r&&this._onDurationChange(),i&&this._onProgress()}},e.prototype._onFragmentLoaded=function(t,e){this.trigger(b.default.PLAYBACK_FRAGMENT_LOADED,e)},e.prototype._onSubtitleLoaded=function(){if(!this._ccIsSetup){this.trigger(b.default.PLAYBACK_SUBTITLE_AVAILABLE);var t=this._playbackType===E.default.LIVE?-1:this.closedCaptionsTrackId;this.closedCaptionsTrackId=t,this._ccIsSetup=!0}},e.prototype._onLevelSwitch=function(t,e){this.levels.length||this._fillLevels(),this.trigger(b.default.PLAYBACK_LEVEL_SWITCH_END),this.trigger(b.default.PLAYBACK_LEVEL_SWITCH,e);var i=this._hls.levels[e.level];i&&(this.highDefinition=i.height>=720||i.bitrate/1e3>=2e3,this.trigger(b.default.PLAYBACK_HIGHDEFINITIONUPDATE,this.highDefinition),this.trigger(b.default.PLAYBACK_BITRATE,{height:i.height,width:i.width,bandwidth:i.bitrate,bitrate:i.bitrate,level:e.level}))},e.prototype.getPlaybackType=function(){return this._playbackType},e.prototype.isSeekEnabled=function(){return this._playbackType===E.default.VOD||this.dvrEnabled},(0,c.default)(e,[{key:"dvrEnabled",get:function(){return this._durationExcludesAfterLiveSyncPoint&&this._duration>=this._minDvrSize&&this.getPlaybackType()===E.default.LIVE}}]),e}(g.default);e.default=S,S.canPlay=function(t,e){var i=t.split("?")[0].match(/.*\.(.*)$/)||[],r=i.length>1&&"m3u8"===i[1].toLowerCase()||"application/x-mpegURL"===e||"application/vnd.apple.mpegurl"===e;return!(!v.default.isSupported()||!r)},t.exports=e.default},function(t,e,i){var r,r;!function(e){t.exports=e()}(function(){var t;return function t(e,i,n){function a(s,l){if(!i[s]){if(!e[s]){var u="function"==typeof r&&r;if(!l&&u)return r(s,!0);if(o)return o(s,!0);var d=new Error("Cannot find module '"+s+"'");throw d.code="MODULE_NOT_FOUND",d}var c=i[s]={exports:{}};e[s][0].call(c.exports,function(t){var i=e[s][1][t];return a(i||t)},c,c.exports,t,e,i,n)}return i[s].exports}for(var o="function"==typeof r&&r,s=0;s<n.length;s++)a(n[s]);return a}({1:[function(t,e,i){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function n(t){return"function"==typeof t}function a(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}e.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(t){if(!a(t)||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},r.prototype.emit=function(t){var e,i,r,a,l,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var d=new Error('Uncaught, unspecified "error" event. ('+e+")");throw d.context=e,d}if(i=this._events[t],s(i))return!1;if(n(i))switch(arguments.length){case 1:i.call(this);break;case 2:i.call(this,arguments[1]);break;case 3:i.call(this,arguments[1],arguments[2]);break;default:a=Array.prototype.slice.call(arguments,1),i.apply(this,a)}else if(o(i))for(a=Array.prototype.slice.call(arguments,1),u=i.slice(),r=u.length,l=0;l<r;l++)u[l].apply(this,a);return!0},r.prototype.addListener=function(t,e){var i;if(!n(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,n(e.listener)?e.listener:e),this._events[t]?o(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,o(this._events[t])&&!this._events[t].warned&&(i=s(this._maxListeners)?r.defaultMaxListeners:this._maxListeners)&&i>0&&this._events[t].length>i&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(t,e){function i(){this.removeListener(t,i),r||(r=!0,e.apply(this,arguments))}if(!n(e))throw TypeError("listener must be a function");var r=!1;return i.listener=e,this.on(t,i),this},r.prototype.removeListener=function(t,e){var i,r,a,s;if(!n(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=this._events[t],a=i.length,r=-1,i===e||n(i.listener)&&i.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(o(i)){for(s=a;s-- >0;)if(i[s]===e||i[s].listener&&i[s].listener===e){r=s;break}if(r<0)return this;1===i.length?(i.length=0,delete this._events[t]):i.splice(r,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},r.prototype.removeAllListeners=function(t){var e,i;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(i=this._events[t],n(i))this.removeListener(t,i);else if(i)for(;i.length;)this.removeListener(t,i[i.length-1]);return delete this._events[t],this},r.prototype.listeners=function(t){return this._events&&this._events[t]?n(this._events[t])?[this._events[t]]:this._events[t].slice():[]},r.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(n(e))return 1;if(e)return e.length}return 0},r.listenerCount=function(t,e){return t.listenerCount(e)}},{}],2:[function(e,i,r){!function(e){var n=/^((?:[^\/;?#]+:)?)(\/\/[^\/\;?#]*)?(.*?)??(;.*?)?(\?.*?)?(#.*?)?$/,a=/^([^\/;?#]*)(.*)$/,o=/(?:\/|^)\.(?=\/)/g,s=/(?:\/|^)\.\.\/(?!\.\.\/).*?(?=\/)/g,l={buildAbsoluteURL:function(t,e,i){if(i=i||{},t=t.trim(),!(e=e.trim())){if(!i.alwaysNormalize)return t;var r=this.parseURL(t);if(!o)throw new Error("Error trying to parse base URL.");return r.path=l.normalizePath(r.path),l.buildURLFromParts(r)}var n=this.parseURL(e);if(!n)throw new Error("Error trying to parse relative URL.");if(n.scheme)return i.alwaysNormalize?(n.path=l.normalizePath(n.path),l.buildURLFromParts(n)):e;var o=this.parseURL(t);if(!o)throw new Error("Error trying to parse base URL.");if(!o.netLoc&&o.path&&"/"!==o.path[0]){var s=a.exec(o.path);o.netLoc=s[1],o.path=s[2]}o.netLoc&&!o.path&&(o.path="/");var u={scheme:o.scheme,netLoc:n.netLoc,path:null,params:n.params,query:n.query,fragment:n.fragment};if(!n.netLoc&&(u.netLoc=o.netLoc,"/"!==n.path[0]))if(n.path){var d=o.path,c=d.substring(0,d.lastIndexOf("/")+1)+n.path;u.path=l.normalizePath(c)}else u.path=o.path,n.params||(u.params=o.params,n.query||(u.query=o.query));return null===u.path&&(u.path=i.alwaysNormalize?l.normalizePath(n.path):n.path),l.buildURLFromParts(u)},parseURL:function(t){var e=n.exec(t);return e?{scheme:e[1]||"",netLoc:e[2]||"",path:e[3]||"",params:e[4]||"",query:e[5]||"",fragment:e[6]||""}:null},normalizePath:function(t){for(t=t.split("").reverse().join("").replace(o,"");t.length!==(t=t.replace(s,"")).length;);return t.split("").reverse().join("")},buildURLFromParts:function(t){return t.scheme+t.netLoc+t.path+t.params+t.query+t.fragment}};"object"==typeof r&&"object"==typeof i?i.exports=l:"function"==typeof t&&t.amd?t([],function(){return l}):"object"==typeof r?r.URLToolkit=l:e.URLToolkit=l}(this)},{}],3:[function(t,e,i){var r=arguments[3],n=arguments[4],a=arguments[5],o=JSON.stringify;e.exports=function(t,e){function i(t){y[t]=!0;for(var e in n[t][1]){var r=n[t][1][e];y[r]||i(r)}}for(var s,l=Object.keys(a),u=0,d=l.length;u<d;u++){var c=l[u],f=a[c].exports;if(f===t||f&&f.default===t){s=c;break}}if(!s){s=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var h={},u=0,d=l.length;u<d;u++){var c=l[u];h[c]=c}n[s]=[Function(["require","module","exports"],"("+t+")(self)"),h]}var p=Math.floor(Math.pow(16,8)*Math.random()).toString(16),g={};g[s]=s,n[p]=[Function(["require"],"var f = require("+o(s)+");(f.default ? f.default : f)(self);"),g];var y={};i(p);var v="("+r+")({"+Object.keys(y).map(function(t){return o(t)+":["+n[t][0]+","+o(n[t][1])+"]"}).join(",")+"},{},["+o(p)+"])",m=window.URL||window.webkitURL||window.mozURL||window.msURL,b=new Blob([v],{type:"text/javascript"});if(e&&e.bare)return b;var _=m.createObjectURL(b),E=new Worker(_);return E.objectURL=_,E}},{}],4:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(i,"__esModule",{value:!0}),i.hlsDefaultConfig=void 0;var n=t(5),a=r(n),o=t(8),s=r(o),l=t(9),u=r(l),d=t(10),c=r(d),f=t(58),h=r(f),p=t(7),g=r(p),y=t(6),v=r(y),m=t(50),b=r(m),_=t(16),E=r(_),T=t(15),k=r(T),A=t(14),S=r(A);i.hlsDefaultConfig={autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,initialLiveManifestSize:1,maxBufferLength:30,maxBufferSize:6e7,maxBufferHole:.5,maxSeekHole:2,lowBufferWatchdogPeriod:.5,highBufferWatchdogPeriod:3,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxMaxBufferLength:600,enableWorker:!0,enableSoftwareAES:!0,manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,startLevel:void 0,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3,fragLoadingLoopThreshold:3,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:h.default,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,fetchSetup:void 0,abrController:a.default,bufferController:s.default,capLevelController:u.default,fpsController:c.default,audioStreamController:v.default,audioTrackController:g.default,subtitleStreamController:S.default,subtitleTrackController:k.default,timelineController:E.default,cueHandler:b.default,enableCEA708Captions:!0,enableWebVTT:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",stretchShortVideoTrack:!1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0}},{10:10,14:14,15:15,16:16,5:5,50:50,58:58,6:6,7:7,8:8,9:9}],5:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(37),h=r(f),p=t(33),g=t(53),y=t(51),v=r(y),m=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.FRAG_LOADING,u.default.FRAG_LOADED,u.default.FRAG_BUFFERED,u.default.ERROR));return i.lastLoadedFragLevel=0,i._nextAutoLevel=-1,i.hls=t,i.onCheck=i._abandonRulesCheck.bind(i),i}return o(e,t),s(e,[{key:"destroy",value:function(){this.clearTimer(),c.default.prototype.destroy.call(this)}},{key:"onFragLoading",value:function(t){var e=t.frag;if("main"===e.type){if(this.timer||(this.timer=setInterval(this.onCheck,100)),!this._bwEstimator){var i=this.hls,r=t.frag.level,n=i.levels[r].details.live,a=i.config,o=void 0,s=void 0;n?(o=a.abrEwmaFastLive,s=a.abrEwmaSlowLive):(o=a.abrEwmaFastVoD,s=a.abrEwmaSlowVoD),this._bwEstimator=new v.default(i,s,o,a.abrEwmaDefaultEstimate)}this.fragCurrent=e}}},{key:"_abandonRulesCheck",value:function(){var t=this.hls,e=t.media,i=this.fragCurrent,r=i.loader,n=t.minAutoLevel;if(!r||r.stats&&r.stats.aborted)return g.logger.warn("frag loader destroy or aborted, disarm abandonRules"),void this.clearTimer();var a=r.stats;if(e&&(!e.paused&&0!==e.playbackRate||!e.readyState)&&i.autoLevel&&i.level){var o=performance.now()-a.trequest,s=Math.abs(e.playbackRate);if(o>500*i.duration/s){var l=t.levels,d=Math.max(1,a.bw?a.bw/8:1e3*a.loaded/o),c=l[i.level],f=c.realBitrate?Math.max(c.realBitrate,c.bitrate):c.bitrate,p=a.total?a.total:Math.max(a.loaded,Math.round(i.duration*f/8)),y=e.currentTime,v=(p-a.loaded)/d,m=(h.default.bufferInfo(e,y,t.config.maxBufferHole).end-y)/s;if(m<2*i.duration/s&&v>m){var b=void 0,_=void 0;for(_=i.level-1;_>n;_--){var E=l[_].realBitrate?Math.max(l[_].realBitrate,l[_].bitrate):l[_].bitrate;if((b=i.duration*E/(6.4*d))<m)break}b<v&&(g.logger.warn("loading too slow, abort fragment loading and switch to level "+_+":fragLoadedDelay["+_+"]<fragLoadedDelay["+(i.level-1)+"];bufferStarvationDelay:"+b.toFixed(1)+"<"+v.toFixed(1)+":"+m.toFixed(1)),t.nextLoadLevel=_,this._bwEstimator.sample(o,a.loaded),r.abort(),this.clearTimer(),t.trigger(u.default.FRAG_LOAD_EMERGENCY_ABORTED,{frag:i,stats:a}))}}}}},{key:"onFragLoaded",value:function(t){var e=t.frag;if("main"===e.type&&!isNaN(e.sn)){if(this.clearTimer(),this.lastLoadedFragLevel=e.level,this._nextAutoLevel=-1,this.hls.config.abrMaxWithRealBitrate){var i=this.hls.levels[e.level],r=(i.loaded?i.loaded.bytes:0)+t.stats.loaded,n=(i.loaded?i.loaded.duration:0)+t.frag.duration;i.loaded={bytes:r,duration:n},i.realBitrate=Math.round(8*r/n)}if(t.frag.bitrateTest){var a=t.stats;a.tparsed=a.tbuffered=a.tload,this.onFragBuffered(t)}}}},{key:"onFragBuffered",value:function(t){var e=t.stats,i=t.frag;if(!(!0===e.aborted||1!==i.loadCounter||"main"!==i.type||isNaN(i.sn)||i.bitrateTest&&e.tload!==e.tbuffered)){var r=e.tparsed-e.trequest;g.logger.log("latency/loading/parsing/append/kbps:"+Math.round(e.tfirst-e.trequest)+"/"+Math.round(e.tload-e.tfirst)+"/"+Math.round(e.tparsed-e.tload)+"/"+Math.round(e.tbuffered-e.tparsed)+"/"+Math.round(8*e.loaded/(e.tbuffered-e.trequest))),this._bwEstimator.sample(r,e.loaded),e.bwEstimate=this._bwEstimator.getEstimate(),i.bitrateTest?this.bitrateTestDelay=r/1e3:this.bitrateTestDelay=0}}},{key:"onError",value:function(t){switch(t.details){case p.ErrorDetails.FRAG_LOAD_ERROR:case p.ErrorDetails.FRAG_LOAD_TIMEOUT:this.clearTimer()}}},{key:"clearTimer",value:function(){this.timer&&(clearInterval(this.timer),this.timer=null)}},{key:"_findBestLevel",value:function(t,e,i,r,n,a,o,s,l){for(var u=n;u>=r;u--){var d=l[u],c=d.details,f=c?c.totalduration/c.fragments.length:e,h=!!c&&c.live,p=void 0;p=u<=t?o*i:s*i;var y=l[u].realBitrate?Math.max(l[u].realBitrate,l[u].bitrate):l[u].bitrate,v=y*f/p;if(g.logger.trace("level/adjustedbw/bitrate/avgDuration/maxFetchDuration/fetchDuration: "+u+"/"+Math.round(p)+"/"+y+"/"+f+"/"+a+"/"+v),p>y&&(!v||h&&!this.bitrateTestDelay||v<a))return u}return-1}},{key:"nextAutoLevel",get:function(){var t=this._nextAutoLevel,e=this._bwEstimator;if(!(-1===t||e&&e.canEstimate()))return t;var i=this._nextABRAutoLevel;return-1!==t&&(i=Math.min(t,i)),i},set:function(t){this._nextAutoLevel=t}},{key:"_nextABRAutoLevel",get:function(){var t=this.hls,e=t.maxAutoLevel,i=t.levels,r=t.config,n=t.minAutoLevel,a=t.media,o=this.lastLoadedFragLevel,s=this.fragCurrent?this.fragCurrent.duration:0,l=a?a.currentTime:0,u=a&&0!==a.playbackRate?Math.abs(a.playbackRate):1,d=this._bwEstimator?this._bwEstimator.getEstimate():r.abrEwmaDefaultEstimate,c=(h.default.bufferInfo(a,l,r.maxBufferHole).end-l)/u,f=this._findBestLevel(o,s,d,n,e,c,r.abrBandWidthFactor,r.abrBandWidthUpFactor,i);if(f>=0)return f;g.logger.trace("rebuffering expected to happen, lets try to find a quality level minimizing the rebuffering");var p=s?Math.min(s,r.maxStarvationDelay):r.maxStarvationDelay,y=r.abrBandWidthFactor,v=r.abrBandWidthUpFactor;if(0===c){var m=this.bitrateTestDelay;if(m){p=(s?Math.min(s,r.maxLoadingDelay):r.maxLoadingDelay)-m,g.logger.trace("bitrate test took "+Math.round(1e3*m)+"ms, set first fragment max fetchDuration to "+Math.round(1e3*p)+" ms"),y=v=1}}return f=this._findBestLevel(o,s,d,n,e,c+p,y,v,i),Math.max(f,0)}}]),e}(c.default);i.default=m},{33:33,34:34,35:35,37:37,51:51,53:53}],6:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(48),u=r(l),d=t(37),c=r(d),f=t(25),h=r(f),p=t(35),g=r(p),y=t(34),v=r(y),m=t(38),b=r(m),_=t(54),E=r(_),T=t(33),k=t(53),A={STOPPED:"STOPPED",STARTING:"STARTING",IDLE:"IDLE",PAUSED:"PAUSED",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",BUFFER_FLUSHING:"BUFFER_FLUSHING",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS"},S=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,g.default.MEDIA_ATTACHED,g.default.MEDIA_DETACHING,g.default.AUDIO_TRACKS_UPDATED,g.default.AUDIO_TRACK_SWITCHING,g.default.AUDIO_TRACK_LOADED,g.default.KEY_LOADED,g.default.FRAG_LOADED,g.default.FRAG_PARSING_INIT_SEGMENT,g.default.FRAG_PARSING_DATA,g.default.FRAG_PARSED,g.default.ERROR,g.default.BUFFER_CREATED,g.default.BUFFER_APPENDED,g.default.BUFFER_FLUSHED,g.default.INIT_PTS_FOUND));return i.config=t.config,i.audioCodecSwap=!1,i.ticks=0,i._state=A.STOPPED,i.ontick=i.tick.bind(i),i.initPTS=[],i.waitingFragment=null,i}return o(e,t),s(e,[{key:"destroy",value:function(){this.stopLoad(),this.timer&&(clearInterval(this.timer),this.timer=null),v.default.prototype.destroy.call(this),this.state=A.STOPPED}},{key:"onInitPtsFound",value:function(t){var e=t.id,i=t.frag.cc,r=t.initPTS;"main"===e&&(this.initPTS[i]=r,k.logger.log("InitPTS for cc:"+i+" found from video track:"+r),this.state===A.WAITING_INIT_PTS&&(k.logger.log("sending pending audio frag to demuxer"),this.state=A.FRAG_LOADING,this.onFragLoaded(this.waitingFragment),this.waitingFragment=null))}},{key:"startLoad",value:function(t){if(this.tracks){var e=this.lastCurrentTime;this.stopLoad(),this.timer||(this.timer=setInterval(this.ontick,100)),this.fragLoadError=0,e>0&&-1===t?(k.logger.log("audio:override startPosition with lastCurrentTime @"+e.toFixed(3)),this.state=A.IDLE):(this.lastCurrentTime=this.startPosition?this.startPosition:t,this.state=A.STARTING),this.nextLoadPosition=this.startPosition=this.lastCurrentTime,this.tick()}else this.startPosition=t,this.state=A.STOPPED}},{key:"stopLoad",value:function(){var t=this.fragCurrent;t&&(t.loader&&t.loader.abort(),this.fragCurrent=null),this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=A.STOPPED}},{key:"tick",value:function(){1===++this.ticks&&(this.doTick(),this.ticks>1&&setTimeout(this.tick,1),this.ticks=0)}},{key:"doTick",value:function(){var t,e,i,r=this.hls,n=r.config;switch(this.state){case A.ERROR:case A.PAUSED:case A.BUFFER_FLUSHING:break;case A.STARTING:this.state=A.WAITING_TRACK,this.loadedmetadata=!1;break;case A.IDLE:var a=this.tracks;if(!a)break;if(!this.media&&(this.startFragRequested||!n.startFragPrefetch))break;t=this.loadedmetadata?this.media.currentTime:this.nextLoadPosition;var o=this.mediaBuffer?this.mediaBuffer:this.media,s=c.default.bufferInfo(o,t,n.maxBufferHole),l=s.len,d=s.end,f=this.fragPrevious,h=n.maxMaxBufferLength,p=this.audioSwitch,y=this.trackId;if((l<h||p)&&y<a.length){if(void 0===(i=a[y].details)){this.state=A.WAITING_TRACK;break}if(!p&&!i.live&&f&&f.sn===i.endSN&&(!this.media.seeking||this.media.duration-d<f.duration/2)){this.hls.trigger(g.default.BUFFER_EOS,{type:"audio"}),this.state=A.ENDED;break}var v=i.fragments,m=v.length,b=v[0].start,_=v[m-1].start+v[m-1].duration,E=void 0;if(p)if(i.live&&!i.PTSKnown)k.logger.log("switching audiotrack, live stream, unknown PTS,load first fragment"),d=0;else if(d=t,i.PTSKnown&&t<b){if(!(s.end>b||s.nextStart))return;k.logger.log("alt audio track ahead of main track, seek to start of alt audio track"),this.media.currentTime=b+.05}if(i.initSegment&&!i.initSegment.data)E=i.initSegment;else if(d<=b){if(E=v[0],i.live&&E.loadIdx&&E.loadIdx===this.fragLoadIdx){var S=s.nextStart?s.nextStart:b;return k.logger.log("no alt audio available @currentTime:"+this.media.currentTime+", seeking @"+(S+.05)),void(this.media.currentTime=S+.05)}}else{var L=void 0,R=n.maxFragLookUpTolerance,w=f?v[f.sn-v[0].sn+1]:void 0,C=function(t){var e=Math.min(R,t.duration);return t.start+t.duration-e<=d?1:t.start-e>d&&t.start?-1:0};d<_?(d>_-R&&(R=0),L=w&&!C(w)?w:u.default.search(v,C)):L=v[m-1],L&&(E=L,b=L.start,f&&E.level===f.level&&E.sn===f.sn&&(E.sn<i.endSN?(E=v[E.sn+1-i.startSN],k.logger.log("SN just loaded, load next one: "+E.sn)):E=null))}if(E)if(E.decryptdata&&null!=E.decryptdata.uri&&null==E.decryptdata.key)k.logger.log("Loading key for "+E.sn+" of ["+i.startSN+" ,"+i.endSN+"],track "+y),this.state=A.KEY_LOADING,r.trigger(g.default.KEY_LOADING,{frag:E});else{if(k.logger.log("Loading "+E.sn+" of ["+i.startSN+" ,"+i.endSN+"],track "+y+", currentTime:"+t+",bufferEnd:"+d.toFixed(3)),void 0!==this.fragLoadIdx?this.fragLoadIdx++:this.fragLoadIdx=0,E.loadCounter){E.loadCounter++;var O=n.fragLoadingLoopThreshold;if(E.loadCounter>O&&Math.abs(this.fragLoadIdx-E.loadIdx)<O)return void r.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.FRAG_LOOP_LOADING_ERROR,fatal:!1,frag:E})}else E.loadCounter=1;E.loadIdx=this.fragLoadIdx,this.fragCurrent=E,this.startFragRequested=!0,isNaN(E.sn)||(this.nextLoadPosition=E.start+E.duration),r.trigger(g.default.FRAG_LOADING,{frag:E}),this.state=A.FRAG_LOADING}}break;case A.WAITING_TRACK:e=this.tracks[this.trackId],e&&e.details&&(this.state=A.IDLE);break;case A.FRAG_LOADING_WAITING_RETRY:var D=performance.now(),P=this.retryDate;o=this.media;var I=o&&o.seeking;(!P||D>=P||I)&&(k.logger.log("audioStreamController: retryDate reached, switch back to IDLE state"),this.state=A.IDLE);break;case A.WAITING_INIT_PTS:case A.STOPPED:case A.FRAG_LOADING:case A.PARSING:case A.PARSED:case A.ENDED:}}},{key:"onMediaAttached",value:function(t){var e=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),e.addEventListener("seeking",this.onvseeking),e.addEventListener("ended",this.onvended);var i=this.config;this.tracks&&i.autoStartLoad&&this.startLoad(i.startPosition)}},{key:"onMediaDetaching",value:function(){var t=this.media;t&&t.ended&&(k.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);var e=this.tracks;e&&e.forEach(function(t){t.details&&t.details.fragments.forEach(function(t){t.loadCounter=void 0})}),t&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.stopLoad()}},{key:"onMediaSeeking",value:function(){this.state===A.ENDED&&(this.state=A.IDLE),this.media&&(this.lastCurrentTime=this.media.currentTime),void 0!==this.fragLoadIdx&&(this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold),this.tick()}},{key:"onMediaEnded",value:function(){this.startPosition=this.lastCurrentTime=0}},{key:"onAudioTracksUpdated",value:function(t){k.logger.log("audio tracks updated"),this.tracks=t.audioTracks}},{key:"onAudioTrackSwitching",value:function(t){var e=!!t.url;this.trackId=t.id,this.state=A.IDLE,this.fragCurrent=null,this.state=A.PAUSED,this.waitingFragment=null,e?this.timer||(this.timer=setInterval(this.ontick,100)):this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),e&&(this.audioSwitch=!0,this.state=A.IDLE,void 0!==this.fragLoadIdx&&(this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold)),this.tick()}},{key:"onAudioTrackLoaded",value:function(t){var e=t.details,i=t.id,r=this.tracks[i],n=e.totalduration,a=0;if(k.logger.log("track "+i+" loaded ["+e.startSN+","+e.endSN+"],duration:"+n),e.live){var o=r.details;o&&e.fragments.length>0?(b.default.mergeDetails(o,e),a=e.fragments[0].start,e.PTSKnown?k.logger.log("live audio playlist sliding:"+a.toFixed(3)):k.logger.log("live audio playlist - outdated PTS, unknown sliding")):(e.PTSKnown=!1,k.logger.log("live audio playlist - first load, unknown sliding"))}else e.PTSKnown=!1;if(r.details=e,!this.startFragRequested){if(-1===this.startPosition){var s=e.startTimeOffset;isNaN(s)?this.startPosition=0:(k.logger.log("start time offset found in playlist, adjust startPosition to "+s),this.startPosition=s)}this.nextLoadPosition=this.startPosition}this.state===A.WAITING_TRACK&&(this.state=A.IDLE),this.tick()}},{key:"onKeyLoaded",value:function(){this.state===A.KEY_LOADING&&(this.state=A.IDLE,this.tick())}},{key:"onFragLoaded",value:function(t){var e=this.fragCurrent,i=t.frag;if(this.state===A.FRAG_LOADING&&e&&"audio"===i.type&&i.level===e.level&&i.sn===e.sn){var r=this.tracks[this.trackId],n=r.details,a=n.totalduration,o=e.level,s=e.sn,l=e.cc,u=this.config.defaultAudioCodec||r.audioCodec||"mp4a.40.2",d=this.stats=t.stats;if("initSegment"===s)this.state=A.IDLE,d.tparsed=d.tbuffered=performance.now(),n.initSegment.data=t.payload,this.hls.trigger(g.default.FRAG_BUFFERED,{stats:d,frag:e,id:"audio"}),this.tick();else{this.state=A.PARSING,this.appended=!1,this.demuxer||(this.demuxer=new h.default(this.hls,"audio"));var c=this.initPTS[l],f=n.initSegment?n.initSegment.data:[];if(n.initSegment||void 0!==c){this.pendingBuffering=!0,k.logger.log("Demuxing "+s+" of ["+n.startSN+" ,"+n.endSN+"],track "+o);this.demuxer.push(t.payload,f,u,null,e,a,!1,c)}else k.logger.log("unknown video PTS for continuity counter "+l+", waiting for video PTS before demuxing audio frag "+s+" of ["+n.startSN+" ,"+n.endSN+"],track "+o),this.waitingFragment=t,this.state=A.WAITING_INIT_PTS}}this.fragLoadError=0}},{key:"onFragParsingInitSegment",value:function(t){var e=this.fragCurrent,i=t.frag;if(e&&"audio"===t.id&&i.sn===e.sn&&i.level===e.level&&this.state===A.PARSING){var r=t.tracks,n=void 0;if(r.video&&delete r.video,n=r.audio){n.levelCodec="mp4a.40.2",n.id=t.id,this.hls.trigger(g.default.BUFFER_CODECS,r),k.logger.log("audio track:audio,container:"+n.container+",codecs[level/parsed]=["+n.levelCodec+"/"+n.codec+"]");var a=n.initSegment;if(a){var o={type:"audio",data:a,parent:"audio",content:"initSegment"};this.audioSwitch?this.pendingData=[o]:(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(g.default.BUFFER_APPENDING,o))}this.tick()}}}},{key:"onFragParsingData",value:function(t){var e=this,i=this.fragCurrent,r=t.frag;if(i&&"audio"===t.id&&"audio"===t.type&&r.sn===i.sn&&r.level===i.level&&this.state===A.PARSING){var n=this.trackId,a=this.tracks[n],o=this.hls;isNaN(t.endPTS)&&(t.endPTS=t.startPTS+i.duration,t.endDTS=t.startDTS+i.duration),k.logger.log("parsed "+t.type+",PTS:["+t.startPTS.toFixed(3)+","+t.endPTS.toFixed(3)+"],DTS:["+t.startDTS.toFixed(3)+"/"+t.endDTS.toFixed(3)+"],nb:"+t.nb),b.default.updateFragPTSDTS(a.details,i,t.startPTS,t.endPTS);var s=this.audioSwitch,l=this.media,u=!1;if(s&&l)if(l.readyState){var d=l.currentTime;k.logger.log("switching audio track : currentTime:"+d),d>=t.startPTS&&(k.logger.log("switching audio track : flushing all audio"),this.state=A.BUFFER_FLUSHING,o.trigger(g.default.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"}),u=!0,this.audioSwitch=!1,o.trigger(g.default.AUDIO_TRACK_SWITCHED,{id:n}))}else this.audioSwitch=!1,o.trigger(g.default.AUDIO_TRACK_SWITCHED,{id:n});var c=this.pendingData;this.audioSwitch||([t.data1,t.data2].forEach(function(e){e&&e.length&&c.push({type:t.type,data:e,parent:"audio",content:"data"})}),!u&&c.length&&(c.forEach(function(t){e.state===A.PARSING&&(e.pendingBuffering=!0,e.hls.trigger(g.default.BUFFER_APPENDING,t))}),this.pendingData=[],this.appended=!0)),this.tick()}}},{key:"onFragParsed",value:function(t){var e=this.fragCurrent,i=t.frag;e&&"audio"===t.id&&i.sn===e.sn&&i.level===e.level&&this.state===A.PARSING&&(this.stats.tparsed=performance.now(),this.state=A.PARSED,this._checkAppendedParsed())}},{key:"onBufferCreated",value:function(t){var e=t.tracks.audio;e&&(this.mediaBuffer=e.buffer,this.loadedmetadata=!0)}},{key:"onBufferAppended",value:function(t){if("audio"===t.parent){var e=this.state;e!==A.PARSING&&e!==A.PARSED||(this.pendingBuffering=t.pending>0,this._checkAppendedParsed())}}},{key:"_checkAppendedParsed",value:function(){if(!(this.state!==A.PARSED||this.appended&&this.pendingBuffering)){var t=this.fragCurrent,e=this.stats,i=this.hls;if(t){this.fragPrevious=t,e.tbuffered=performance.now(),i.trigger(g.default.FRAG_BUFFERED,{stats:e,frag:t,id:"audio"});var r=this.mediaBuffer?this.mediaBuffer:this.media;k.logger.log("audio buffered : "+E.default.toString(r.buffered)),this.audioSwitch&&this.appended&&(this.audioSwitch=!1,i.trigger(g.default.AUDIO_TRACK_SWITCHED,{id:this.trackId})),this.state=A.IDLE}this.tick()}}},{key:"onError",value:function(t){var e=t.frag;if(!e||"audio"===e.type)switch(t.details){case T.ErrorDetails.FRAG_LOAD_ERROR:case T.ErrorDetails.FRAG_LOAD_TIMEOUT:if(!t.fatal){var i=this.fragLoadError;i?i++:i=1;var r=this.config;if(i<=r.fragLoadingMaxRetry){this.fragLoadError=i,e.loadCounter=0;var n=Math.min(Math.pow(2,i-1)*r.fragLoadingRetryDelay,r.fragLoadingMaxRetryTimeout);k.logger.warn("audioStreamController: frag loading failed, retry in "+n+" ms"),this.retryDate=performance.now()+n,this.state=A.FRAG_LOADING_WAITING_RETRY}else k.logger.error("audioStreamController: "+t.details+" reaches max retry, redispatch as fatal ..."),t.fatal=!0,this.state=A.ERROR}break;case T.ErrorDetails.FRAG_LOOP_LOADING_ERROR:case T.ErrorDetails.AUDIO_TRACK_LOAD_ERROR:case T.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT:case T.ErrorDetails.KEY_LOAD_ERROR:case T.ErrorDetails.KEY_LOAD_TIMEOUT:this.state!==A.ERROR&&(this.state=t.fatal?A.ERROR:A.IDLE,k.logger.warn("audioStreamController: "+t.details+" while loading frag,switch to "+this.state+" state ..."));break;case T.ErrorDetails.BUFFER_FULL_ERROR:if("audio"===t.parent&&(this.state===A.PARSING||this.state===A.PARSED)){var a=this.mediaBuffer,o=this.media.currentTime;if(a&&c.default.isBuffered(a,o)&&c.default.isBuffered(a,o+.5)){var s=this.config;s.maxMaxBufferLength>=s.maxBufferLength&&(s.maxMaxBufferLength/=2,k.logger.warn("audio:reduce max buffer length to "+s.maxMaxBufferLength+"s"),this.fragLoadIdx+=2*s.fragLoadingLoopThreshold),this.state=A.IDLE}else k.logger.warn("buffer full error also media.currentTime is not buffered, flush audio buffer"),this.fragCurrent=null,this.state=A.BUFFER_FLUSHING,this.hls.trigger(g.default.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"})}}}},{key:"onBufferFlushed",value:function(){var t=this,e=this.pendingData;e&&e.length?(k.logger.log("appending pending audio data on Buffer Flushed"),e.forEach(function(e){t.hls.trigger(g.default.BUFFER_APPENDING,e)}),this.appended=!0,this.pendingData=[],this.state=A.PARSED):(this.state=A.IDLE,this.fragPrevious=null,this.tick())}},{key:"state",set:function(t){if(this.state!==t){var e=this.state;this._state=t,k.logger.log("audio stream:"+e+"->"+t)}},get:function(){return this._state}}]),e}(v.default);i.default=S},{25:25,33:33,34:34,35:35,37:37,38:38,48:48,53:53,54:54}],7:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(53),h=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.MANIFEST_LOADING,u.default.MANIFEST_LOADED,u.default.AUDIO_TRACK_LOADED));return i.ticks=0,i.ontick=i.tick.bind(i),i}return o(e,t),s(e,[{key:"destroy",value:function(){c.default.prototype.destroy.call(this)}},{key:"tick",value:function(){1===++this.ticks&&(this.doTick(),this.ticks>1&&setTimeout(this.tick,1),this.ticks=0)}},{key:"doTick",value:function(){this.updateTrack(this.trackId)}},{key:"onManifestLoading",value:function(){this.tracks=[],this.trackId=-1}},{key:"onManifestLoaded",value:function(t){var e=this,i=t.audioTracks||[],r=!1;this.tracks=i,this.hls.trigger(u.default.AUDIO_TRACKS_UPDATED,{audioTracks:i});var n=0;i.forEach(function(t){if(t.default)return e.audioTrack=n,void(r=!0);n++}),!1===r&&i.length&&(f.logger.log("no default audio track defined, use first audio track as default"),this.audioTrack=0)}},{key:"onAudioTrackLoaded",value:function(t){t.id<this.tracks.length&&(f.logger.log("audioTrack "+t.id+" loaded"),this.tracks[t.id].details=t.details,t.details.live&&!this.timer&&(this.timer=setInterval(this.ontick,1e3*t.details.targetduration)),!t.details.live&&this.timer&&(clearInterval(this.timer),this.timer=null))}},{key:"setAudioTrackInternal",value:function(t){if(t>=0&&t<this.tracks.length){this.timer&&(clearInterval(this.timer),this.timer=null),this.trackId=t,f.logger.log("switching to audioTrack "+t);var e=this.tracks[t],i=this.hls,r=e.type,n=e.url,a={id:t,type:r,url:n};i.trigger(u.default.AUDIO_TRACK_SWITCH,a),i.trigger(u.default.AUDIO_TRACK_SWITCHING,a);var o=e.details;!n||void 0!==o&&!0!==o.live||(f.logger.log("(re)loading playlist for audioTrack "+t),i.trigger(u.default.AUDIO_TRACK_LOADING,{url:n,id:t}))}}},{key:"updateTrack",value:function(t){if(t>=0&&t<this.tracks.length){this.timer&&(clearInterval(this.timer),this.timer=null),this.trackId=t,f.logger.log("updating audioTrack "+t);var e=this.tracks[t],i=e.url,r=e.details;!i||void 0!==r&&!0!==r.live||(f.logger.log("(re)loading playlist for audioTrack "+t),this.hls.trigger(u.default.AUDIO_TRACK_LOADING,{url:i,id:t}))}}},{key:"audioTracks",get:function(){return this.tracks}},{key:"audioTrack",get:function(){return this.trackId},set:function(t){this.trackId===t&&void 0!==this.tracks[t].details||this.setAudioTrackInternal(t)}}]),e}(c.default);i.default=h},{34:34,35:35,53:53}],8:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(53),h=t(33),p=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.MEDIA_ATTACHING,u.default.MEDIA_DETACHING,u.default.MANIFEST_PARSED,u.default.BUFFER_RESET,u.default.BUFFER_APPENDING,u.default.BUFFER_CODECS,u.default.BUFFER_EOS,u.default.BUFFER_FLUSHING,u.default.LEVEL_PTS_UPDATED,u.default.LEVEL_UPDATED));return i._msDuration=null,i._levelDuration=null,i.onsbue=i.onSBUpdateEnd.bind(i),i.onsbe=i.onSBUpdateError.bind(i),i.pendingTracks={},i.tracks={},i}return o(e,t),s(e,[{key:"destroy",value:function(){c.default.prototype.destroy.call(this)}},{key:"onLevelPtsUpdated",value:function(t){var e=t.type,i=this.tracks.audio;if("audio"===e&&i&&"audio/mpeg"===i.container){var r=this.sourceBuffer.audio;if(Math.abs(r.timestampOffset-t.start)>.1){var n=r.updating;try{r.abort()}catch(t){n=!0,f.logger.warn("can not abort audio buffer: "+t)}n?this.audioTimestampOffset=t.start:(f.logger.warn("change mpeg audio timestamp offset from "+r.timestampOffset+" to "+t.start),r.timestampOffset=t.start)}}}},{key:"onManifestParsed",value:function(t){var e=t.audio,i=t.video,r=0;t.altAudio&&(e||i)&&(r=(e?1:0)+(i?1:0),f.logger.log(r+" sourceBuffer(s) expected")),this.sourceBufferNb=r}},{key:"onMediaAttaching",value:function(t){var e=this.media=t.media;if(e){var i=this.mediaSource=new MediaSource;this.onmso=this.onMediaSourceOpen.bind(this),this.onmse=this.onMediaSourceEnded.bind(this),this.onmsc=this.onMediaSourceClose.bind(this),i.addEventListener("sourceopen",this.onmso),i.addEventListener("sourceended",this.onmse),i.addEventListener("sourceclose",this.onmsc),e.src=URL.createObjectURL(i)}}},{key:"onMediaDetaching",value:function(){f.logger.log("media source detaching");var t=this.mediaSource;if(t){if("open"===t.readyState)try{t.endOfStream()}catch(t){f.logger.warn("onMediaDetaching:"+t.message+" while calling endOfStream")}t.removeEventListener("sourceopen",this.onmso),t.removeEventListener("sourceended",this.onmse),t.removeEventListener("sourceclose",this.onmsc),this.media&&(URL.revokeObjectURL(this.media.src),this.media.removeAttribute("src"),this.media.load()),this.mediaSource=null,this.media=null,this.pendingTracks={},this.tracks={},this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0}this.onmso=this.onmse=this.onmsc=null,this.hls.trigger(u.default.MEDIA_DETACHED)}},{key:"onMediaSourceOpen",value:function(){f.logger.log("media source opened"),this.hls.trigger(u.default.MEDIA_ATTACHED,{media:this.media});var t=this.mediaSource;t&&t.removeEventListener("sourceopen",this.onmso),this.checkPendingTracks()}},{key:"checkPendingTracks",value:function(){var t=this.pendingTracks,e=Object.keys(t).length;e&&(this.sourceBufferNb<=e||0===this.sourceBufferNb)&&(this.createSourceBuffers(t),this.pendingTracks={},this.doAppending())}},{key:"onMediaSourceClose",value:function(){f.logger.log("media source closed")}},{key:"onMediaSourceEnded",value:function(){f.logger.log("media source ended")}},{key:"onSBUpdateEnd",value:function(){if(this.audioTimestampOffset){var t=this.sourceBuffer.audio;f.logger.warn("change mpeg audio timestamp offset from "+t.timestampOffset+" to "+this.audioTimestampOffset),t.timestampOffset=this.audioTimestampOffset,delete this.audioTimestampOffset}this._needsFlush&&this.doFlush(),this._needsEos&&this.checkEos(),this.appending=!1;var e=this.parent,i=this.segments.reduce(function(t,i){return i.parent===e?t+1:t},0);this.hls.trigger(u.default.BUFFER_APPENDED,{parent:e,pending:i}),this._needsFlush||this.doAppending(),this.updateMediaElementDuration()}},{key:"onSBUpdateError",value:function(t){f.logger.error("sourceBuffer error:",t),this.hls.trigger(u.default.ERROR,{type:h.ErrorTypes.MEDIA_ERROR,details:h.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})}},{key:"onBufferReset",value:function(){var t=this.sourceBuffer;for(var e in t){var i=t[e];try{this.mediaSource.removeSourceBuffer(i),i.removeEventListener("updateend",this.onsbue),i.removeEventListener("error",this.onsbe)}catch(t){}}this.sourceBuffer={},this.flushRange=[],this.segments=[],this.appended=0}},{key:"onBufferCodecs",value:function(t){if(0===Object.keys(this.sourceBuffer).length){for(var e in t)this.pendingTracks[e]=t[e];var i=this.mediaSource;i&&"open"===i.readyState&&this.checkPendingTracks()}}},{key:"createSourceBuffers",value:function(t){var e=this.sourceBuffer,i=this.mediaSource;for(var r in t)if(!e[r]){var n=t[r],a=n.levelCodec||n.codec,o=n.container+";codecs="+a;f.logger.log("creating sourceBuffer("+o+")");try{var s=e[r]=i.addSourceBuffer(o);s.addEventListener("updateend",this.onsbue),s.addEventListener("error",this.onsbe),this.tracks[r]={codec:a,container:n.container},n.buffer=s}catch(t){f.logger.error("error while trying to add sourceBuffer:"+t.message),this.hls.trigger(u.default.ERROR,{type:h.ErrorTypes.MEDIA_ERROR,details:h.ErrorDetails.BUFFER_ADD_CODEC_ERROR,fatal:!1,err:t,mimeType:o})}}this.hls.trigger(u.default.BUFFER_CREATED,{tracks:t})}},{key:"onBufferAppending",value:function(t){this._needsFlush||(this.segments?this.segments.push(t):this.segments=[t],this.doAppending())}},{key:"onBufferAppendFail",value:function(t){f.logger.error("sourceBuffer error:",t.event),this.hls.trigger(u.default.ERROR,{type:h.ErrorTypes.MEDIA_ERROR,details:h.ErrorDetails.BUFFER_APPENDING_ERROR,fatal:!1})}},{key:"onBufferEos",value:function(t){var e=this.sourceBuffer,i=t.type;for(var r in e)i&&r!==i||e[r].ended||(e[r].ended=!0,f.logger.log(r+" sourceBuffer now EOS"));this.checkEos()}},{key:"checkEos",value:function(){var t=this.sourceBuffer,e=this.mediaSource;if(!e||"open"!==e.readyState)return void(this._needsEos=!1);for(var i in t){var r=t[i];if(!r.ended)return;if(r.updating)return void(this._needsEos=!0)}f.logger.log("all media data available, signal endOfStream() to MediaSource and stop loading fragment");try{e.endOfStream()}catch(t){f.logger.warn("exception while calling mediaSource.endOfStream()")}this._needsEos=!1}},{key:"onBufferFlushing",value:function(t){this.flushRange.push({start:t.startOffset,end:t.endOffset,type:t.type}),this.flushBufferCounter=0,this.doFlush()}},{key:"onLevelUpdated",value:function(t){var e=t.details;0!==e.fragments.length&&(this._levelDuration=e.totalduration+e.fragments[0].start,this.updateMediaElementDuration())}},{key:"updateMediaElementDuration",value:function(){var t=this.media,e=this.mediaSource,i=this.sourceBuffer,r=this._levelDuration;if(null!==r&&t&&e&&i&&0!==t.readyState&&"open"===e.readyState){for(var n in i)if(i[n].updating)return;null===this._msDuration&&(this._msDuration=e.duration);var a=t.duration;(r>this._msDuration&&r>a||a===1/0||isNaN(a))&&(f.logger.log("Updating mediasource duration to "+r.toFixed(3)),this._msDuration=e.duration=r)}}},{key:"doFlush",value:function(){for(;this.flushRange.length;){var t=this.flushRange[0];if(!this.flushBuffer(t.start,t.end,t.type))return void(this._needsFlush=!0);this.flushRange.shift(),this.flushBufferCounter=0}if(0===this.flushRange.length){this._needsFlush=!1;var e=0,i=this.sourceBuffer;try{for(var r in i)e+=i[r].buffered.length}catch(t){f.logger.error("error while accessing sourceBuffer.buffered")}this.appended=e,this.hls.trigger(u.default.BUFFER_FLUSHED)}}},{key:"doAppending",value:function(){var t=this.hls,e=this.sourceBuffer,i=this.segments;if(Object.keys(e).length){if(this.media.error)return this.segments=[],void f.logger.error("trying to append although a media error occured, flush segment and abort");if(this.appending)return;if(i&&i.length){var r=i.shift();try{var n=r.type,a=e[n];a?a.updating?i.unshift(r):(a.ended=!1,this.parent=r.parent,a.appendBuffer(r.data),this.appendError=0,this.appended++,this.appending=!0):this.onSBUpdateEnd()}catch(e){f.logger.error("error while trying to append buffer:"+e.message),i.unshift(r);var o={type:h.ErrorTypes.MEDIA_ERROR,parent:r.parent};if(22===e.code)return this.segments=[],o.details=h.ErrorDetails.BUFFER_FULL_ERROR,o.fatal=!1,void t.trigger(u.default.ERROR,o);if(this.appendError?this.appendError++:this.appendError=1,o.details=h.ErrorDetails.BUFFER_APPEND_ERROR,this.appendError>t.config.appendErrorMaxRetry)return f.logger.log("fail "+t.config.appendErrorMaxRetry+" times to append segment in sourceBuffer"),i=[],o.fatal=!0,void t.trigger(u.default.ERROR,o);o.fatal=!1,t.trigger(u.default.ERROR,o)}}}}},{key:"flushBuffer",value:function(t,e,i){var r,n,a,o,s,l,u=this.sourceBuffer;if(Object.keys(u).length){if(f.logger.log("flushBuffer,pos/start/end: "+this.media.currentTime.toFixed(3)+"/"+t+"/"+e),this.flushBufferCounter<this.appended){for(var d in u)if(!i||d===i){if(r=u[d],r.ended=!1,r.updating)return f.logger.warn("cannot flush, sb updating in progress"),!1;try{for(n=0;n<r.buffered.length;n++)if(a=r.buffered.start(n),o=r.buffered.end(n),-1!==navigator.userAgent.toLowerCase().indexOf("firefox")&&e===Number.POSITIVE_INFINITY?(s=t,l=e):(s=Math.max(a,t),l=Math.min(o,e)),Math.min(l,o)-s>.5)return this.flushBufferCounter++,f.logger.log("flush "+d+" ["+s+","+l+"], of ["+a+","+o+"], pos:"+this.media.currentTime),r.remove(s,l),!1}catch(t){f.logger.warn("exception while accessing sourcebuffer, it might have been removed from MediaSource")}}}else f.logger.warn("abort flushing too many retries");f.logger.log("buffer flushed")}return!0}}]),e}(c.default);i.default=p},{33:33,34:34,35:35,53:53}],9:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=function(t){function e(t){return n(this,e),a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.FPS_DROP_LEVEL_CAPPING,u.default.MEDIA_ATTACHING,u.default.MANIFEST_PARSED))}return o(e,t),s(e,[{key:"destroy",value:function(){this.hls.config.capLevelToPlayerSize&&(this.media=this.restrictedLevels=null,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(this.timer=clearInterval(this.timer)))}},{key:"onFpsDropLevelCapping",value:function(t){this.restrictedLevels||(this.restrictedLevels=[]),this.isLevelRestricted(t.droppedLevel)||this.restrictedLevels.push(t.droppedLevel)}},{key:"onMediaAttaching",value:function(t){this.media=t.media instanceof HTMLVideoElement?t.media:null}},{key:"onManifestParsed",value:function(t){var e=this.hls;e.config.capLevelToPlayerSize&&(this.autoLevelCapping=Number.POSITIVE_INFINITY,this.levels=t.levels,e.firstLevel=this.getMaxLevel(t.firstLevel),clearInterval(this.timer),this.timer=setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}},{key:"detectPlayerSize",value:function(){if(this.media){var t=this.levels?this.levels.length:0;if(t){var e=this.hls;e.autoLevelCapping=this.getMaxLevel(t-1),e.autoLevelCapping>this.autoLevelCapping&&e.streamController.nextLevelSwitch(),this.autoLevelCapping=e.autoLevelCapping}}}},{key:"getMaxLevel",value:function(t){var e=0,i=void 0,r=void 0,n=this.mediaWidth,a=this.mediaHeight,o=0,s=0;for(i=0;i<=t&&(r=this.levels[i],!this.isLevelRestricted(i))&&(e=i,o=r.width,s=r.height,!(n<=o||a<=s));i++);return e}},{key:"isLevelRestricted",value:function(t){return!(!this.restrictedLevels||-1===this.restrictedLevels.indexOf(t))}},{key:"contentScaleFactor",get:function(){var t=1;try{t=window.devicePixelRatio}catch(t){}return t}},{key:"mediaWidth",get:function(){var t=void 0,e=this.media;return e&&(t=e.width||e.clientWidth||e.offsetWidth,t*=this.contentScaleFactor),t}},{key:"mediaHeight",get:function(){var t=void 0,e=this.media;return e&&(t=e.height||e.clientHeight||e.offsetHeight,t*=this.contentScaleFactor),t}}]),e}(c.default);i.default=f},{34:34,35:35}],10:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(53),h=function(t){function e(t){return n(this,e),a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.MEDIA_ATTACHING))}return o(e,t),s(e,[{key:"destroy",value:function(){this.timer&&clearInterval(this.timer),this.isVideoPlaybackQualityAvailable=!1}},{key:"onMediaAttaching",value:function(t){var e=this.hls.config;if(e.capLevelOnFPSDrop){"function"==typeof(this.video=t.media instanceof HTMLVideoElement?t.media:null).getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),clearInterval(this.timer),this.timer=setInterval(this.checkFPSInterval.bind(this),e.fpsDroppedMonitoringPeriod)}}},{key:"checkFPS",value:function(t,e,i){var r=performance.now();if(e){if(this.lastTime){var n=r-this.lastTime,a=i-this.lastDroppedFrames,o=e-this.lastDecodedFrames,s=1e3*a/n,l=this.hls;if(l.trigger(u.default.FPS_DROP,{currentDropped:a,currentDecoded:o,totalDroppedFrames:i}),s>0&&a>l.config.fpsDroppedMonitoringThreshold*o){var d=l.currentLevel;f.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+d),d>0&&(-1===l.autoLevelCapping||l.autoLevelCapping>=d)&&(d-=1,l.trigger(u.default.FPS_DROP_LEVEL_CAPPING,{level:d,droppedLevel:l.currentLevel}),l.autoLevelCapping=d,l.streamController.nextLevelSwitch())}}this.lastTime=r,this.lastDroppedFrames=i,this.lastDecodedFrames=e}}},{key:"checkFPSInterval",value:function(){var t=this.video;if(t)if(this.isVideoPlaybackQualityAvailable){var e=t.getVideoPlaybackQuality();this.checkFPS(t,e.totalVideoFrames,e.droppedVideoFrames)}else this.checkFPS(t,t.webkitDecodedFrameCount,t.webkitDroppedFrameCount)}}]),e}(c.default);i.default=h},{34:34,35:35,53:53}],11:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.MEDIA_ATTACHED,u.default.MEDIA_DETACHING,u.default.FRAG_PARSING_METADATA));return i.id3Track=void 0,i.media=void 0,i}return o(e,t),s(e,[{key:"destroy",value:function(){c.default.prototype.destroy.call(this)}},{key:"onMediaAttached",value:function(t){this.media=t.media,this.media&&(this.id3Track=this.media.addTextTrack("metadata","id3"),this.id3Track.mode="hidden")}},{key:"onMediaDetaching",value:function(){this.media=void 0}},{key:"onFragParsingMetadata",value:function(t){var e=t.frag,i=t.samples,r=e.start,n=e.start+e.duration;r===n&&(n+=1e-4);for(var a=window.WebKitDataCue||window.VTTCue||window.TextTrackCue,o=0;o<i.length;o++){var s=this.parseID3Frame(i[o].data),l=this.decodeID3Frame(s);if(l){var u=new a(r,n,"");u.value=l,this.id3Track.addCue(u)}}}},{key:"parseID3Frame",value:function(t){if(!(t.length<21)&&73===t[0]&&68===t[1]&&51===t[2]){var e=String.fromCharCode(t[10],t[11],t[12],t[13]);return t=t.subarray(20),{type:e,data:t}}}},{key:"decodeID3Frame",value:function(t){return"TXXX"===t.type?this.decodeTxxxFrame(t):"PRIV"===t.type?this.decodePrivFrame(t):"T"===t.type[0]?this.decodeTextFrame(t):void 0}},{key:"decodeTxxxFrame",value:function(t){if(!(t.size<2)&&3===t.data[0]){var e=1,i=this.utf8ArrayToStr(t.data.subarray(e));e+=i.length+1;return{key:"TXXX",description:i,data:this.utf8ArrayToStr(t.data.subarray(e))}}}},{key:"decodeTextFrame",value:function(t){if(!(t.size<2)&&3===t.data[0]){var e=t.data.subarray(1);return{key:t.type,data:this.utf8ArrayToStr(e)}}}},{key:"decodePrivFrame",value:function(t){if(!(t.size<2)){var e=this.utf8ArrayToStr(t.data);return{key:"PRIV",info:e,data:t.data.subarray(e.length+1).buffer}}}},{key:"utf8ArrayToStr",value:function(t){for(var e=void 0,i=void 0,r="",n=0,a=t.length;n<a;){var o=t[n++];switch(o>>4){case 0:return r;case 1:case 2:case 3:case 4:case 5:case 6:case 7:r+=String.fromCharCode(o);break;case 12:case 13:e=t[n++],r+=String.fromCharCode((31&o)<<6|63&e);break;case 14:e=t[n++],i=t[n++],r+=String.fromCharCode((15&o)<<12|(63&e)<<6|(63&i)<<0)}}return r}}]),e}(c.default);i.default=f},{34:34,35:35}],12:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(53),h=t(33),p=t(37),g=r(p),y=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.MANIFEST_LOADED,u.default.LEVEL_LOADED,u.default.FRAG_LOADED,u.default.ERROR));return i.ontick=i.tick.bind(i),i._manualLevel=-1,i}return o(e,t),s(e,[{key:"destroy",value:function(){this.timer&&(clearTimeout(this.timer),this.timer=null),this._manualLevel=-1}},{key:"startLoad",value:function(){this.canload=!0;var t=this._levels;t&&t.forEach(function(t){t.loadError=0;var e=t.details;e&&e.live&&(t.details=void 0)}),this.timer&&this.tick()}},{key:"stopLoad",value:function(){this.canload=!1}},{key:"onManifestLoaded",value:function(t){var e,i=[],r=[],n={},a=!1,o=!1,s=this.hls,l=/chrome|firefox/.test(navigator.userAgent.toLowerCase()),d=function(t,e){return MediaSource.isTypeSupported(t+"/mp4;codecs="+e)};if(t.levels.forEach(function(t){t.videoCodec&&(a=!0),l&&t.audioCodec&&-1!==t.audioCodec.indexOf("mp4a.40.34")&&(t.audioCodec=void 0),(t.audioCodec||t.attrs&&t.attrs.AUDIO)&&(o=!0);var e=n[t.bitrate];void 0===e?(n[t.bitrate]=i.length,t.url=[t.url],t.urlId=0,i.push(t)):i[e].url.push(t.url)}),a&&o?i.forEach(function(t){t.videoCodec&&r.push(t)}):r=i,r=r.filter(function(t){var e=t.audioCodec,i=t.videoCodec;return(!e||d("audio",e))&&(!i||d("video",i))}),r.length){e=r[0].bitrate,r.sort(function(t,e){return t.bitrate-e.bitrate}),this._levels=r;for(var c=0;c<r.length;c++)if(r[c].bitrate===e){this._firstLevel=c,f.logger.log("manifest loaded,"+r.length+" level(s) found, first bitrate:"+e);break}s.trigger(u.default.MANIFEST_PARSED,{levels:r,firstLevel:this._firstLevel,stats:t.stats,audio:o,video:a,altAudio:t.audioTracks.length>0})}else s.trigger(u.default.ERROR,{type:h.ErrorTypes.MEDIA_ERROR,details:h.ErrorDetails.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:s.url,reason:"no level with compatible codecs found in manifest"})}},{key:"setLevelInternal",value:function(t){var e=this._levels,i=this.hls;if(t>=0&&t<e.length){if(this.timer&&(clearTimeout(this.timer),this.timer=null),this._level!==t){f.logger.log("switching to level "+t),this._level=t;var r=e[t];r.level=t,i.trigger(u.default.LEVEL_SWITCH,r),i.trigger(u.default.LEVEL_SWITCHING,r)}var n=e[t],a=n.details;if(!a||!0===a.live){var o=n.urlId;i.trigger(u.default.LEVEL_LOADING,{url:n.url[o],level:t,id:o})}}else i.trigger(u.default.ERROR,{type:h.ErrorTypes.OTHER_ERROR,details:h.ErrorDetails.LEVEL_SWITCH_ERROR,level:t,fatal:!1,reason:"invalid level idx"})}},{key:"onError",value:function(t){if(!t.fatal){var e=t.details,i=this.hls,r=void 0,n=void 0,a=!1;switch(e){case h.ErrorDetails.FRAG_LOAD_ERROR:case h.ErrorDetails.FRAG_LOAD_TIMEOUT:case h.ErrorDetails.FRAG_LOOP_LOADING_ERROR:case h.ErrorDetails.KEY_LOAD_ERROR:case h.ErrorDetails.KEY_LOAD_TIMEOUT:r=t.frag.level;break;case h.ErrorDetails.LEVEL_LOAD_ERROR:case h.ErrorDetails.LEVEL_LOAD_TIMEOUT:r=t.context.level,a=!0;break;case h.ErrorDetails.REMUX_ALLOC_ERROR:r=t.level}if(void 0!==r){n=this._levels[r],n.loadError?n.loadError++:n.loadError=1;var o=n.url.length;if(o>1&&n.loadError<o)n.urlId=(n.urlId+1)%o,n.details=void 0,f.logger.warn("level controller,"+e+" for level "+r+": switching to redundant stream id "+n.urlId);else{if(-1===this._manualLevel&&r)f.logger.warn("level controller,"+e+": switch-down for next fragment"),i.nextAutoLevel=Math.max(0,r-1);else if(n&&n.details&&n.details.live)f.logger.warn("level controller,"+e+" on live stream, discard"),a&&(this._level=void 0);else if(e===h.ErrorDetails.LEVEL_LOAD_ERROR||e===h.ErrorDetails.LEVEL_LOAD_TIMEOUT){var s=i.media,l=s&&g.default.isBuffered(s,s.currentTime)&&g.default.isBuffered(s,s.currentTime+.5);if(l){var u=i.config.levelLoadingRetryDelay;f.logger.warn("level controller,"+e+", but media buffered, retry in "+u+"ms"),this.timer=setTimeout(this.ontick,u),t.levelRetry=!0}else f.logger.error("cannot recover "+e+" error"),this._level=void 0,this.timer&&(clearTimeout(this.timer),this.timer=null),t.fatal=!0}}}}}},{key:"onFragLoaded",value:function(t){var e=t.frag;if(e&&"main"===e.type){var i=this._levels[e.level];i&&(i.loadError=0)}}},{key:"onLevelLoaded",value:function(t){var e=t.level;if(e===this._level){var i=this._levels[e];i.loadError=0;var r=t.details;if(r.live){var n=1e3*(r.averagetargetduration?r.averagetargetduration:r.targetduration),a=i.details;a&&r.endSN===a.endSN&&(n/=2,f.logger.log("same live playlist, reload twice faster")),n-=performance.now()-t.stats.trequest,n=Math.max(1e3,Math.round(n)),f.logger.log("live playlist, reload in "+n+" ms"),this.timer=setTimeout(this.ontick,n)}else this.timer=null}}},{key:"tick",value:function(){var t=this._level;if(void 0!==t&&this.canload){var e=this._levels[t];if(e&&e.url){var i=e.urlId;this.hls.trigger(u.default.LEVEL_LOADING,{url:e.url[i],level:t,id:i})}}}},{key:"levels",get:function(){return this._levels}},{key:"level",get:function(){return this._level},set:function(t){var e=this._levels;e&&e.length>t&&(this._level===t&&void 0!==e[t].details||this.setLevelInternal(t))}},{key:"manualLevel",get:function(){return this._manualLevel},set:function(t){this._manualLevel=t,void 0===this._startLevel&&(this._startLevel=t),-1!==t&&(this.level=t)}},{key:"firstLevel",get:function(){return this._firstLevel},set:function(t){this._firstLevel=t}},{key:"startLevel",get:function(){if(void 0===this._startLevel){var t=this.hls.config.startLevel;return void 0!==t?t:this._firstLevel}return this._startLevel},set:function(t){this._startLevel=t}},{key:"nextLoadLevel",get:function(){return-1!==this._manualLevel?this._manualLevel:this.hls.nextAutoLevel},set:function(t){this.level=t,-1===this._manualLevel&&(this.hls.nextAutoLevel=t)}}]),e}(c.default);i.default=y},{33:33,34:34,35:35,37:37,53:53}],13:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(48),u=r(l),d=t(37),c=r(d),f=t(25),h=r(f),p=t(35),g=r(p),y=t(34),v=r(y),m=t(38),b=r(m),_=t(54),E=r(_),T=t(33),k=t(53),A={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_LEVEL:"WAITING_LEVEL",PARSING:"PARSING",PARSED:"PARSED",BUFFER_FLUSHING:"BUFFER_FLUSHING",ENDED:"ENDED",ERROR:"ERROR"},S=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,g.default.MEDIA_ATTACHED,g.default.MEDIA_DETACHING,g.default.MANIFEST_LOADING,g.default.MANIFEST_PARSED,g.default.LEVEL_LOADED,g.default.KEY_LOADED,g.default.FRAG_LOADED,g.default.FRAG_LOAD_EMERGENCY_ABORTED,g.default.FRAG_PARSING_INIT_SEGMENT,g.default.FRAG_PARSING_DATA,g.default.FRAG_PARSED,g.default.ERROR,g.default.AUDIO_TRACK_SWITCHING,g.default.AUDIO_TRACK_SWITCHED,g.default.BUFFER_CREATED,g.default.BUFFER_APPENDED,g.default.BUFFER_FLUSHED));return i.config=t.config,i.audioCodecSwap=!1,i.ticks=0,i._state=A.STOPPED,i.ontick=i.tick.bind(i),i}return o(e,t),s(e,[{key:"destroy",value:function(){this.stopLoad(),this.timer&&(clearInterval(this.timer),this.timer=null),v.default.prototype.destroy.call(this),this.state=A.STOPPED}},{key:"startLoad",value:function(t){if(this.levels){var e=this.lastCurrentTime,i=this.hls;if(this.stopLoad(),this.timer||(this.timer=setInterval(this.ontick,100)),this.level=-1,this.fragLoadError=0,!this.startFragRequested){var r=i.startLevel;-1===r&&(r=0,this.bitrateTest=!0),this.level=i.nextLoadLevel=r,this.loadedmetadata=!1}e>0&&-1===t&&(k.logger.log("override startPosition with lastCurrentTime @"+e.toFixed(3)),t=e),this.state=A.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=t,this.tick()}else this.forceStartLoad=!0,this.state=A.STOPPED}},{key:"stopLoad",value:function(){var t=this.fragCurrent;t&&(t.loader&&t.loader.abort(),this.fragCurrent=null),this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=A.STOPPED,this.forceStartLoad=!1}},{key:"tick",value:function(){1===++this.ticks&&(this.doTick(),this.ticks>1&&setTimeout(this.tick,1),this.ticks=0)}},{key:"doTick",value:function(){switch(this.state){case A.ERROR:break;case A.BUFFER_FLUSHING:this.fragLoadError=0;break;case A.IDLE:this._doTickIdle();break;case A.WAITING_LEVEL:var t=this.levels[this.level];t&&t.details&&(this.state=A.IDLE);break;case A.FRAG_LOADING_WAITING_RETRY:var e=performance.now(),i=this.retryDate;(!i||e>=i||this.media&&this.media.seeking)&&(k.logger.log("mediaController: retryDate reached, switch back to IDLE state"),this.state=A.IDLE);break;case A.ERROR:case A.STOPPED:case A.FRAG_LOADING:case A.PARSING:case A.PARSED:case A.ENDED:}this._checkBuffer(),this._checkFragmentChanged()}},{key:"_doTickIdle",value:function(){var t=this.hls,e=t.config,i=this.media;if(void 0===this.levelLastLoaded||i||!this.startFragRequested&&e.startFragPrefetch){var r=void 0;r=this.loadedmetadata?i.currentTime:this.nextLoadPosition;var n=t.nextLoadLevel,a=this.levels[n];if(a){var o=a.bitrate,s=void 0;s=o?Math.max(8*e.maxBufferSize/o,e.maxBufferLength):e.maxBufferLength,s=Math.min(s,e.maxMaxBufferLength);var l=c.default.bufferInfo(this.mediaBuffer?this.mediaBuffer:i,r,e.maxBufferHole),u=l.len;if(!(u>=s)){k.logger.trace("buffer length of "+u.toFixed(3)+" is below max of "+s.toFixed(3)+". checking for more payload ..."),this.level=t.nextLoadLevel=n;var d=a.details;if(void 0===d||d.live&&this.levelLastLoaded!==n)return void(this.state=A.WAITING_LEVEL);var f=this.fragPrevious;if(!d.live&&f&&f.sn===d.endSN){if(Math.min(i.duration,f.start+f.duration)-Math.max(l.end,f.start)<=Math.max(.2,f.duration)){var h={};return this.altAudio&&(h.type="video"),this.hls.trigger(g.default.BUFFER_EOS,h),void(this.state=A.ENDED)}}this._fetchPayloadOrEos(r,l,d)}}}}},{key:"_fetchPayloadOrEos",value:function(t,e,i){var r=this.fragPrevious,n=this.level,a=i.fragments,o=a.length;if(0!==o){var s=a[0].start,l=a[o-1].start+a[o-1].duration,u=e.end,d=void 0;if(i.initSegment&&!i.initSegment.data)d=i.initSegment;else if(i.live){var c=this.config.initialLiveManifestSize;if(o<c)return void k.logger.warn("Can not start playback of a level, reason: not enough fragments "+o+" < "+c);if(null===(d=this._ensureFragmentAtLivePoint(i,u,s,l,r,a,o)))return}else u<s&&(d=a[0]);d||(d=this._findFragment(s,r,o,a,u,l,i)),d&&this._loadFragmentOrKey(d,n,i,t,u)}}},{key:"_ensureFragmentAtLivePoint",value:function(t,e,i,r,n,a,o){var s=this.hls.config,l=this.media,u=void 0,d=void 0!==s.liveMaxLatencyDuration?s.liveMaxLatencyDuration:s.liveMaxLatencyDurationCount*t.targetduration;if(e<Math.max(i-s.maxFragLookUpTolerance,r-d)){var c=this.liveSyncPosition=this.computeLivePosition(i,t);k.logger.log("buffer end: "+e.toFixed(3)+" is located too far from the end of live sliding playlist, reset currentTime to : "+c.toFixed(3)),e=c,l&&l.readyState&&l.duration>c&&(l.currentTime=c)}if(t.PTSKnown&&e>r&&l&&l.readyState)return null;if(this.startFragRequested&&!t.PTSKnown){if(n){var f=n.sn+1;f>=t.startSN&&f<=t.endSN&&(u=a[f-t.startSN],k.logger.log("live playlist, switching playlist, load frag with next SN: "+u.sn))}u||(u=a[Math.min(o-1,Math.round(o/2))],k.logger.log("live playlist, switching playlist, unknown, load middle frag : "+u.sn))}return u}},{key:"_findFragment",value:function(t,e,i,r,n,a,o){var s=this.hls.config,l=void 0,d=void 0,c=s.maxFragLookUpTolerance,f=e?r[e.sn-r[0].sn+1]:void 0,h=function(t){var e=Math.min(c,t.duration);return t.start+t.duration-e<=n?1:t.start-e>n&&t.start?-1:0};if(n<a?(n>a-c&&(c=0),d=f&&!h(f)?f:u.default.search(r,h)):d=r[i-1],d){l=d;var p=l.sn-o.startSN,g=e&&l.level===e.level,y=r[p-1],v=r[p+1];if(e&&l.sn===e.sn)if(g&&!l.backtracked)if(l.sn<o.endSN){var m=e.deltaPTS;m&&m>s.maxBufferHole&&e.dropped&&p?(l=y,k.logger.warn("SN just loaded, with large PTS gap between audio and video, maybe frag is not starting with a keyframe ? load previous one to try to overcome this"),e.loadCounter--):(l=v,k.logger.log("SN just loaded, load next one: "+l.sn))}else l=null;else l.backtracked&&(v&&v.backtracked?(k.logger.warn("Already backtracked from fragment "+v.sn+", will not backtrack to fragment "+l.sn+". Loading fragment "+v.sn),l=v):(k.logger.warn("Loaded fragment with dropped frames, backtracking 1 segment to find a keyframe"),l.dropped=0,y?(y.loadCounter&&y.loadCounter--,l=y,l.backtracked=!0):l=null))}return l}},{key:"_loadFragmentOrKey",value:function(t,e,i,r,n){var a=this.hls,o=a.config;if(!t.decryptdata||null==t.decryptdata.uri||null!=t.decryptdata.key){if(k.logger.log("Loading "+t.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+e+", currentTime:"+r.toFixed(3)+",bufferEnd:"+n.toFixed(3)),void 0!==this.fragLoadIdx?this.fragLoadIdx++:this.fragLoadIdx=0,t.loadCounter){t.loadCounter++;var s=o.fragLoadingLoopThreshold;if(t.loadCounter>s&&Math.abs(this.fragLoadIdx-t.loadIdx)<s)return void a.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.FRAG_LOOP_LOADING_ERROR,fatal:!1,frag:t})}else t.loadCounter=1;return t.loadIdx=this.fragLoadIdx,this.fragCurrent=t,this.startFragRequested=!0,isNaN(t.sn)||(this.nextLoadPosition=t.start+t.duration),t.autoLevel=a.autoLevelEnabled,t.bitrateTest=this.bitrateTest,a.trigger(g.default.FRAG_LOADING,{frag:t}),this.demuxer||(this.demuxer=new h.default(a,"main")),void(this.state=A.FRAG_LOADING)}k.logger.log("Loading key for "+t.sn+" of ["+i.startSN+" ,"+i.endSN+"],level "+e),this.state=A.KEY_LOADING,a.trigger(g.default.KEY_LOADING,{frag:t})}},{key:"getBufferedFrag",value:function(t){return u.default.search(this._bufferedFrags,function(e){return t<e.startPTS?-1:t>e.endPTS?1:0})}},{key:"followingBufferedFrag",value:function(t){return t?this.getBufferedFrag(t.endPTS+.5):null}},{key:"_checkFragmentChanged",value:function(){var t,e,i=this.media;if(i&&i.readyState&&!1===i.seeking&&(e=i.currentTime,e>i.playbackRate*this.lastCurrentTime&&(this.lastCurrentTime=e),c.default.isBuffered(i,e)?t=this.getBufferedFrag(e):c.default.isBuffered(i,e+.1)&&(t=this.getBufferedFrag(e+.1)),t)){var r=t;if(r!==this.fragPlaying){this.hls.trigger(g.default.FRAG_CHANGED,{frag:r});var n=r.level;this.fragPlaying&&this.fragPlaying.level===n||this.hls.trigger(g.default.LEVEL_SWITCHED,{level:n}),this.fragPlaying=r}}}},{key:"immediateLevelSwitch",value:function(){if(k.logger.log("immediateLevelSwitch"),!this.immediateSwitch){this.immediateSwitch=!0;var t=this.media,e=void 0;t?(e=t.paused,t.pause()):e=!0,this.previouslyPaused=e}var i=this.fragCurrent;i&&i.loader&&i.loader.abort(),this.fragCurrent=null,this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold,this.flushMainBuffer(0,Number.POSITIVE_INFINITY)}},{key:"immediateLevelSwitchEnd",value:function(){var t=this.media;t&&t.buffered.length&&(this.immediateSwitch=!1,c.default.isBuffered(t,t.currentTime)&&(t.currentTime-=1e-4),this.previouslyPaused||t.play())}},{key:"nextLevelSwitch",value:function(){var t=this.media;if(t&&t.readyState){var e=void 0,i=void 0,r=void 0;if(this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold,i=this.getBufferedFrag(t.currentTime),i&&i.startPTS>1&&this.flushMainBuffer(0,i.startPTS-1),t.paused)e=0;else{var n=this.hls.nextLoadLevel,a=this.levels[n],o=this.fragLastKbps;e=o&&this.fragCurrent?this.fragCurrent.duration*a.bitrate/(1e3*o)+1:0}if((r=this.getBufferedFrag(t.currentTime+e))&&(r=this.followingBufferedFrag(r))){var s=this.fragCurrent;s&&s.loader&&s.loader.abort(),this.fragCurrent=null,this.flushMainBuffer(r.startPTS,Number.POSITIVE_INFINITY)}}}},{key:"flushMainBuffer",value:function(t,e){this.state=A.BUFFER_FLUSHING;var i={startOffset:t,endOffset:e};this.altAudio&&(i.type="video"),this.hls.trigger(g.default.BUFFER_FLUSHING,i)}},{key:"onMediaAttached",value:function(t){var e=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),this.onvended=this.onMediaEnded.bind(this),e.addEventListener("seeking",this.onvseeking),e.addEventListener("seeked",this.onvseeked),e.addEventListener("ended",this.onvended);var i=this.config;this.levels&&i.autoStartLoad&&this.hls.startLoad(i.startPosition)}},{key:"onMediaDetaching",value:function(){var t=this.media;t&&t.ended&&(k.logger.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0);var e=this.levels;e&&e.forEach(function(t){t.details&&t.details.fragments.forEach(function(t){t.loadCounter=void 0,t.backtracked=void 0})}),t&&(t.removeEventListener("seeking",this.onvseeking),t.removeEventListener("seeked",this.onvseeked),t.removeEventListener("ended",this.onvended),this.onvseeking=this.onvseeked=this.onvended=null),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.stopLoad()}},{key:"onMediaSeeking",value:function(){var t=this.media,e=t?t.currentTime:void 0,i=this.config;isNaN(e)||k.logger.log("media seeking to "+e.toFixed(3));var r=this.mediaBuffer?this.mediaBuffer:t,n=c.default.bufferInfo(r,e,this.config.maxBufferHole);if(this.state===A.FRAG_LOADING){var a=this.fragCurrent;if(0===n.len&&a){var o=i.maxFragLookUpTolerance,s=a.start-o,l=a.start+a.duration+o;e<s||e>l?(a.loader&&(k.logger.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),a.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.state=A.IDLE):k.logger.log("seeking outside of buffer but within currently loaded fragment range")}}else this.state===A.ENDED&&(0===n.len&&(this.fragPrevious=0),this.state=A.IDLE);t&&(this.lastCurrentTime=e),this.state!==A.FRAG_LOADING&&void 0!==this.fragLoadIdx&&(this.fragLoadIdx+=2*i.fragLoadingLoopThreshold),this.loadedmetadata||(this.nextLoadPosition=this.startPosition=e),this.tick()}},{key:"onMediaSeeked",value:function(){var t=this.media,e=t?t.currentTime:void 0;isNaN(e)||k.logger.log("media seeked to "+e.toFixed(3)),this.tick()}},{key:"onMediaEnded",value:function(){k.logger.log("media ended"),this.startPosition=this.lastCurrentTime=0}},{key:"onManifestLoading",value:function(){k.logger.log("trigger BUFFER_RESET"),this.hls.trigger(g.default.BUFFER_RESET),this._bufferedFrags=[],this.stalled=!1,this.startPosition=this.lastCurrentTime=0}},{key:"onManifestParsed",value:function(t){var e,i=!1,r=!1;t.levels.forEach(function(t){(e=t.audioCodec)&&(-1!==e.indexOf("mp4a.40.2")&&(i=!0),-1!==e.indexOf("mp4a.40.5")&&(r=!0))}),this.audioCodecSwitch=i&&r,this.audioCodecSwitch&&k.logger.log("both AAC/HE-AAC audio found in levels; declaring level codec as HE-AAC"),this.levels=t.levels,this.startLevelLoaded=!1,this.startFragRequested=!1;var n=this.config;(n.autoStartLoad||this.forceStartLoad)&&this.hls.startLoad(n.startPosition)}},{key:"onLevelLoaded",value:function(t){var e=t.details,i=t.level,r=this.levels[i],n=e.totalduration,a=0;if(k.logger.log("level "+i+" loaded ["+e.startSN+","+e.endSN+"],duration:"+n),this.levelLastLoaded=i,e.live){var o=r.details;o&&e.fragments.length>0?(b.default.mergeDetails(o,e),a=e.fragments[0].start,this.liveSyncPosition=this.computeLivePosition(a,o),e.PTSKnown?k.logger.log("live playlist sliding:"+a.toFixed(3)):k.logger.log("live playlist - outdated PTS, unknown sliding")):(e.PTSKnown=!1,k.logger.log("live playlist - first load, unknown sliding"))}else e.PTSKnown=!1;if(r.details=e,this.hls.trigger(g.default.LEVEL_UPDATED,{details:e,level:i}),!1===this.startFragRequested){if(-1===this.startPosition||-1===this.lastCurrentTime){var s=e.startTimeOffset;isNaN(s)?e.live?(this.startPosition=this.computeLivePosition(a,e),k.logger.log("configure startPosition to "+this.startPosition)):this.startPosition=0:(s<0&&(k.logger.log("negative start time offset "+s+", count from end of last fragment"),s=a+n+s),k.logger.log("start time offset found in playlist, adjust startPosition to "+s),this.startPosition=s),this.lastCurrentTime=this.startPosition}this.nextLoadPosition=this.startPosition}this.state===A.WAITING_LEVEL&&(this.state=A.IDLE),this.tick()}},{key:"onKeyLoaded",value:function(){this.state===A.KEY_LOADING&&(this.state=A.IDLE,this.tick())}},{key:"onFragLoaded",value:function(t){var e=this.fragCurrent,i=t.frag;if(this.state===A.FRAG_LOADING&&e&&"main"===i.type&&i.level===e.level&&i.sn===e.sn){var r=t.stats,n=this.levels[e.level],a=n.details;if(k.logger.log("Loaded  "+e.sn+" of ["+a.startSN+" ,"+a.endSN+"],level "+e.level),this.bitrateTest=!1,this.stats=r,!0===i.bitrateTest&&this.hls.nextLoadLevel)this.state=A.IDLE,this.startFragRequested=!1,r.tparsed=r.tbuffered=performance.now(),this.hls.trigger(g.default.FRAG_BUFFERED,{stats:r,frag:e,id:"main"}),this.tick();else if("initSegment"===i.sn)this.state=A.IDLE,r.tparsed=r.tbuffered=performance.now(),a.initSegment.data=t.payload,this.hls.trigger(g.default.FRAG_BUFFERED,{stats:r,frag:e,id:"main"}),this.tick();else{this.state=A.PARSING;var o=a.totalduration,s=e.level,l=e.sn,u=this.config.defaultAudioCodec||n.audioCodec;this.audioCodecSwap&&(k.logger.log("swapping playlist audio codec"),void 0===u&&(u=this.lastAudioCodec),u&&(u=-1!==u.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5")),this.pendingBuffering=!0,this.appended=!1,k.logger.log("Parsing "+l+" of ["+a.startSN+" ,"+a.endSN+"],level "+s+", cc "+e.cc);var d=this.demuxer;d||(d=this.demuxer=new h.default(this.hls,"main"));var c=this.media,f=c&&c.seeking,p=!f&&(a.PTSKnown||!a.live),y=a.initSegment?a.initSegment.data:[];d.push(t.payload,y,u,n.videoCodec,e,o,p,void 0)}}this.fragLoadError=0}},{key:"onFragParsingInitSegment",value:function(t){var e=this.fragCurrent,i=t.frag;if(e&&"main"===t.id&&i.sn===e.sn&&i.level===e.level&&this.state===A.PARSING){var r,n,a=t.tracks;if(a.audio&&this.altAudio&&delete a.audio,n=a.audio){var o=this.levels[this.level].audioCodec,s=navigator.userAgent.toLowerCase();o&&this.audioCodecSwap&&(k.logger.log("swapping playlist audio codec"),o=-1!==o.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),this.audioCodecSwitch&&1!==n.metadata.channelCount&&-1===s.indexOf("firefox")&&(o="mp4a.40.5"),-1!==s.indexOf("android")&&"audio/mpeg"!==n.container&&(o="mp4a.40.2",k.logger.log("Android: force audio codec to "+o)),n.levelCodec=o,n.id=t.id}n=a.video,n&&(n.levelCodec=this.levels[this.level].videoCodec,n.id=t.id),this.hls.trigger(g.default.BUFFER_CODECS,a);for(r in a){n=a[r],k.logger.log("main track:"+r+",container:"+n.container+",codecs[level/parsed]=["+n.levelCodec+"/"+n.codec+"]");var l=n.initSegment;l&&(this.appended=!0,this.pendingBuffering=!0,this.hls.trigger(g.default.BUFFER_APPENDING,{type:r,data:l,parent:"main",content:"initSegment"}))}this.tick()}}},{key:"onFragParsingData",value:function(t){var e=this,i=this.fragCurrent,r=t.frag;if(i&&"main"===t.id&&r.sn===i.sn&&r.level===i.level&&("audio"!==t.type||!this.altAudio)&&this.state===A.PARSING){var n=this.levels[this.level],a=i;if(isNaN(t.endPTS)&&(t.endPTS=t.startPTS+i.duration,t.endDTS=t.startDTS+i.duration),k.logger.log("Parsed "+t.type+",PTS:["+t.startPTS.toFixed(3)+","+t.endPTS.toFixed(3)+"],DTS:["+t.startDTS.toFixed(3)+"/"+t.endDTS.toFixed(3)+"],nb:"+t.nb+",dropped:"+(t.dropped||0)),"video"===t.type)if(a.dropped=t.dropped,a.dropped){if(!a.backtracked)return k.logger.warn("missing video frame(s), backtracking fragment"),a.backtracked=!0,this.nextLoadPosition=t.startPTS,this.state=A.IDLE,this.fragPrevious=a,void this.tick();k.logger.warn("Already backtracked on this fragment, appending with the gap")}else a.backtracked=!1;var o=b.default.updateFragPTSDTS(n.details,a,t.startPTS,t.endPTS,t.startDTS,t.endDTS),s=this.hls;s.trigger(g.default.LEVEL_PTS_UPDATED,{details:n.details,level:this.level,drift:o,type:t.type,start:t.startPTS,end:t.endPTS}),[t.data1,t.data2].forEach(function(i){i&&i.length&&e.state===A.PARSING&&(e.appended=!0,e.pendingBuffering=!0,s.trigger(g.default.BUFFER_APPENDING,{type:t.type,data:i,parent:"main",content:"data"}))}),this.tick()}}},{key:"onFragParsed",value:function(t){var e=this.fragCurrent,i=t.frag;e&&"main"===t.id&&i.sn===e.sn&&i.level===e.level&&this.state===A.PARSING&&(this.stats.tparsed=performance.now(),this.state=A.PARSED,this._checkAppendedParsed())}},{key:"onAudioTrackSwitching",value:function(t){var e=!!t.url,i=t.id;if(!e){if(this.mediaBuffer!==this.media){k.logger.log("switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;var r=this.fragCurrent;r.loader&&(k.logger.log("switching to main audio track, cancel main fragment load"),r.loader.abort()),this.fragCurrent=null,this.fragPrevious=null,this.demuxer&&(this.demuxer.destroy(),this.demuxer=null),this.state=A.IDLE}var n=this.hls;n.trigger(g.default.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:"audio"}),n.trigger(g.default.AUDIO_TRACK_SWITCHED,{id:i}),this.altAudio=!1}}},{key:"onAudioTrackSwitched",value:function(t){var e=t.id,i=!!this.hls.audioTracks[e].url;if(i){var r=this.videoBuffer;r&&this.mediaBuffer!==r&&(k.logger.log("switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=r)}this.altAudio=i,this.tick()}},{key:"onBufferCreated",value:function(t){var e=t.tracks,i=void 0,r=void 0,n=!1;for(var a in e){var o=e[a];"main"===o.id?(r=a,i=o,"video"===a&&(this.videoBuffer=e[a].buffer)):n=!0}n&&i?(k.logger.log("alternate track found, use "+r+".buffered to schedule main fragment loading"),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}},{key:"onBufferAppended",value:function(t){if("main"===t.parent){var e=this.state;e!==A.PARSING&&e!==A.PARSED||(this.pendingBuffering=t.pending>0,this._checkAppendedParsed())}}},{key:"_checkAppendedParsed",value:function(){if(!(this.state!==A.PARSED||this.appended&&this.pendingBuffering)){var t=this.fragCurrent;if(t){var e=this.mediaBuffer?this.mediaBuffer:this.media;k.logger.log("main buffered : "+E.default.toString(e.buffered));var i=this._bufferedFrags.filter(function(t){return c.default.isBuffered(e,(t.startPTS+t.endPTS)/2)});i.push(t),this._bufferedFrags=i.sort(function(t,e){return t.startPTS-e.startPTS}),this.fragPrevious=t;var r=this.stats;r.tbuffered=performance.now(),this.fragLastKbps=Math.round(8*r.total/(r.tbuffered-r.tfirst)),this.hls.trigger(g.default.FRAG_BUFFERED,{stats:r,frag:t,id:"main"}),this.state=A.IDLE}this.tick()}}},{key:"onError",value:function(t){var e=t.frag||this.fragCurrent;if(!e||"main"===e.type){var i=this.media,r=i&&c.default.isBuffered(i,i.currentTime)&&c.default.isBuffered(i,i.currentTime+.5);switch(t.details){case T.ErrorDetails.FRAG_LOAD_ERROR:case T.ErrorDetails.FRAG_LOAD_TIMEOUT:case T.ErrorDetails.KEY_LOAD_ERROR:case T.ErrorDetails.KEY_LOAD_TIMEOUT:if(!t.fatal){var n=this.fragLoadError;n?n++:n=1;var a=this.config;if(n<=a.fragLoadingMaxRetry||r||e.autoLevel&&e.level){this.fragLoadError=n,e.loadCounter=0;var o=Math.min(Math.pow(2,n-1)*a.fragLoadingRetryDelay,a.fragLoadingMaxRetryTimeout);k.logger.warn("mediaController: frag loading failed, retry in "+o+" ms"),this.retryDate=performance.now()+o,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.state=A.FRAG_LOADING_WAITING_RETRY}else k.logger.error("mediaController: "+t.details+" reaches max retry, redispatch as fatal ..."),t.fatal=!0,this.state=A.ERROR}break;case T.ErrorDetails.FRAG_LOOP_LOADING_ERROR:t.fatal||(r?(this._reduceMaxBufferLength(e.duration),this.state=A.IDLE):e.autoLevel&&0!==e.level||(t.fatal=!0,this.state=A.ERROR));break;case T.ErrorDetails.LEVEL_LOAD_ERROR:case T.ErrorDetails.LEVEL_LOAD_TIMEOUT:this.state!==A.ERROR&&(t.fatal?(this.state=A.ERROR,k.logger.warn("streamController: "+t.details+",switch to "+this.state+" state ...")):t.levelRetry||this.state!==A.WAITING_LEVEL||(this.state=A.IDLE));break;case T.ErrorDetails.BUFFER_FULL_ERROR:"main"!==t.parent||this.state!==A.PARSING&&this.state!==A.PARSED||(r?(this._reduceMaxBufferLength(this.config.maxBufferLength),this.state=A.IDLE):(k.logger.warn("buffer full error also media.currentTime is not buffered, flush everything"),this.fragCurrent=null,this.flushMainBuffer(0,Number.POSITIVE_INFINITY)))}}}},{key:"_reduceMaxBufferLength",value:function(t){var e=this.config;e.maxMaxBufferLength>=t&&(e.maxMaxBufferLength/=2,k.logger.warn("main:reduce max buffer length to "+e.maxMaxBufferLength+"s"),this.fragLoadIdx+=2*e.fragLoadingLoopThreshold)}},{key:"_checkBuffer",value:function(){var t=this.media;if(t&&t.readyState){var e=t.currentTime,i=this.mediaBuffer?this.mediaBuffer:t,r=i.buffered;if(!this.loadedmetadata&&r.length){this.loadedmetadata=!0;var n=t.seeking?e:this.startPosition,a=c.default.isBuffered(i,n);e===n&&a||(k.logger.log("target start position:"+n),a||(n=r.start(0),k.logger.log("target start position not buffered, seek to buffered.start(0) "+n)),k.logger.log("adjust currentTime from "+e+" to "+n),t.currentTime=n)}else if(this.immediateSwitch)this.immediateLevelSwitchEnd();else{var o=c.default.bufferInfo(t,e,0),s=!(t.paused||t.ended||0===t.buffered.length),l=e!==this.lastCurrentTime,u=this.config;if(l)this.stallReported&&(k.logger.warn("playback not stuck anymore @"+e+", after "+Math.round(performance.now()-this.stalled)+"ms"),this.stallReported=!1),this.stalled=void 0,this.nudgeRetry=0;else if(s){var d=performance.now(),f=this.hls;if(this.stalled){var h=d-this.stalled,p=o.len,y=this.nudgeRetry||0;if(p<=.5&&h>1e3*u.lowBufferWatchdogPeriod){this.stallReported||(this.stallReported=!0,k.logger.warn("playback stalling in low buffer @"+e),f.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1,buffer:p}));var v=o.nextStart,m=v-e;if(v&&m<u.maxSeekHole&&m>0){this.nudgeRetry=++y;var b=y*u.nudgeOffset;k.logger.log("adjust currentTime from "+t.currentTime+" to next buffered @ "+v+" + nudge "+b),t.currentTime=v+b,this.stalled=void 0,f.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.BUFFER_SEEK_OVER_HOLE,fatal:!1,hole:v+b-e})}}else if(p>.5&&h>1e3*u.highBufferWatchdogPeriod)if(this.stallReported||(this.stallReported=!0,k.logger.warn("playback stalling in high buffer @"+e),f.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!1,buffer:p})),this.stalled=void 0,this.nudgeRetry=++y,y<u.nudgeMaxRetry){var _=t.currentTime,E=_+y*u.nudgeOffset;k.logger.log("adjust currentTime from "+_+" to "+E),t.currentTime=E,f.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.BUFFER_NUDGE_ON_STALL,fatal:!1})}else k.logger.error("still stuck in high buffer @"+e+" after "+u.nudgeMaxRetry+", raise fatal error"),f.trigger(g.default.ERROR,{type:T.ErrorTypes.MEDIA_ERROR,details:T.ErrorDetails.BUFFER_STALLED_ERROR,fatal:!0})}else this.stalled=d,this.stallReported=!1}}}}},{key:"onFragLoadEmergencyAborted",value:function(){this.state=A.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tick()}},{key:"onBufferFlushed",value:function(){var t=this.mediaBuffer?this.mediaBuffer:this.media;this._bufferedFrags=this._bufferedFrags.filter(function(e){return c.default.isBuffered(t,(e.startPTS+e.endPTS)/2)}),this.fragLoadIdx+=2*this.config.fragLoadingLoopThreshold,this.state=A.IDLE,this.fragPrevious=null}},{key:"swapAudioCodec",value:function(){this.audioCodecSwap=!this.audioCodecSwap}},{key:"computeLivePosition",value:function(t,e){var i=void 0!==this.config.liveSyncDuration?this.config.liveSyncDuration:this.config.liveSyncDurationCount*e.targetduration;return t+Math.max(0,e.totalduration-i)}},{key:"state",set:function(t){if(this.state!==t){var e=this.state;this._state=t,k.logger.log("main stream:"+e+"->"+t),this.hls.trigger(g.default.STREAM_STATE_TRANSITION,{previousState:e,nextState:t})}},get:function(){return this._state}},{key:"currentLevel",get:function(){var t=this.media;if(t){var e=this.getBufferedFrag(t.currentTime);if(e)return e.level}return-1}},{key:"nextBufferedFrag",get:function(){var t=this.media;return t?this.followingBufferedFrag(this.getBufferedFrag(t.currentTime)):null}},{key:"nextLevel",get:function(){var t=this.nextBufferedFrag;return t?t.level:-1}},{key:"liveSyncPosition",get:function(){return this._liveSyncPosition},set:function(t){this._liveSyncPosition=t}}]),e}(v.default);i.default=S},{25:25,33:33,34:34,35:35,37:37,38:38,48:48,53:53,54:54}],14:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(53),h=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.ERROR,u.default.SUBTITLE_TRACKS_UPDATED,u.default.SUBTITLE_TRACK_SWITCH,u.default.SUBTITLE_TRACK_LOADED,u.default.SUBTITLE_FRAG_PROCESSED));return i.config=t.config,i.vttFragSNsProcessed={},i.vttFragQueues=void 0,i.currentlyProcessing=null,i.currentTrackId=-1,i}return o(e,t),s(e,[{key:"destroy",value:function(){c.default.prototype.destroy.call(this)}},{key:"clearVttFragQueues",value:function(){var t=this;this.vttFragQueues={},this.tracks.forEach(function(e){t.vttFragQueues[e.id]=[]})}},{key:"nextFrag",value:function(){if(null===this.currentlyProcessing&&this.currentTrackId>-1&&this.vttFragQueues[this.currentTrackId].length){var t=this.currentlyProcessing=this.vttFragQueues[this.currentTrackId].shift();this.hls.trigger(u.default.FRAG_LOADING,{frag:t})}}},{key:"onSubtitleFragProcessed",value:function(t){t.success&&this.vttFragSNsProcessed[t.frag.trackId].push(t.frag.sn),this.currentlyProcessing=null,this.nextFrag()}},{key:"onError",value:function(t){var e=t.frag;e&&"subtitle"!==e.type||this.currentlyProcessing&&(this.currentlyProcessing=null,this.nextFrag())}},{key:"onSubtitleTracksUpdated",value:function(t){var e=this;f.logger.log("subtitle tracks updated"),this.tracks=t.subtitleTracks,this.clearVttFragQueues(),this.vttFragSNsProcessed={},this.tracks.forEach(function(t){e.vttFragSNsProcessed[t.id]=[]})}},{key:"onSubtitleTrackSwitch",value:function(t){this.currentTrackId=t.id,this.clearVttFragQueues()}},{key:"onSubtitleTrackLoaded",value:function(t){var e=this.vttFragSNsProcessed[t.id],i=this.vttFragQueues[t.id],r=this.currentlyProcessing?this.currentlyProcessing.sn:-1,n=function(t){return e.indexOf(t.sn)>-1},a=function(t){return i.some(function(e){return e.sn===t.sn})};t.details.fragments.forEach(function(e){n(e)||e.sn===r||a(e)||(e.trackId=t.id,i.push(e))}),this.nextFrag()}}]),e}(c.default);i.default=h},{34:34,35:35,53:53}],15:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t){for(var e=[],i=0;i<t.length;i++)"subtitles"===t[i].kind&&e.push(t[i]);return e}Object.defineProperty(i,"__esModule",{value:!0});var l=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),u=t(35),d=r(u),c=t(34),f=r(c),h=t(53),p=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,d.default.MEDIA_ATTACHED,d.default.MEDIA_DETACHING,d.default.MANIFEST_LOADING,d.default.MANIFEST_LOADED,d.default.SUBTITLE_TRACK_LOADED));return i.tracks=[],i.trackId=-1,i.media=void 0,i}return o(e,t),l(e,[{key:"destroy",value:function(){f.default.prototype.destroy.call(this)}},{key:"onMediaAttached",value:function(t){var e=this;this.media=t.media,this.media&&this.media.textTracks.addEventListener("change",function(){if(e.media){for(var t=-1,i=s(e.media.textTracks),r=0;r<i.length;r++)"showing"===i[r].mode&&(t=r);e.subtitleTrack=t}})}},{key:"onMediaDetaching",value:function(){this.media=void 0}},{key:"onManifestLoading",value:function(){this.tracks=[],this.trackId=-1}},{key:"onManifestLoaded",value:function(t){var e=this,i=t.subtitles||[],r=!1;this.tracks=i,this.trackId=-1,this.hls.trigger(d.default.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:i}),i.forEach(function(t){t.default&&(e.subtitleTrack=t.id,r=!0)})}},{key:"onTick",value:function(){var t=this.trackId,e=this.tracks[t];if(e){var i=e.details;void 0!==i&&!0!==i.live||(h.logger.log("(re)loading playlist for subtitle track "+t),this.hls.trigger(d.default.SUBTITLE_TRACK_LOADING,{url:e.url,id:t}))}}},{key:"onSubtitleTrackLoaded",value:function(t){var e=this;t.id<this.tracks.length&&(h.logger.log("subtitle track "+t.id+" loaded"),this.tracks[t.id].details=t.details,t.details.live&&!this.timer&&(this.timer=setInterval(function(){e.onTick()},1e3*t.details.targetduration,this)),!t.details.live&&this.timer&&(clearInterval(this.timer),this.timer=null))}},{key:"setSubtitleTrackInternal",value:function(t){if(t>=0&&t<this.tracks.length){this.timer&&(clearInterval(this.timer),this.timer=null),this.trackId=t,h.logger.log("switching to subtitle track "+t);var e=this.tracks[t];this.hls.trigger(d.default.SUBTITLE_TRACK_SWITCH,{id:t});var i=e.details;void 0!==i&&!0!==i.live||(h.logger.log("(re)loading playlist for subtitle track "+t),this.hls.trigger(d.default.SUBTITLE_TRACK_LOADING,{url:e.url,id:t}))}}},{key:"subtitleTracks",get:function(){return this.tracks}},{key:"subtitleTrack",get:function(){return this.trackId},set:function(t){this.trackId!==t&&this.setSubtitleTrackInternal(t)}}]),e}(f.default);i.default=p},{34:34,35:35,53:53}],16:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function s(t){if(t&&t.cues)for(;t.cues.length>0;)t.removeCue(t.cues[0])}function l(t,e){return t&&t.label===e.name&&!(t.textTrack1||t.textTrack2)}function u(t,e,i,r){return Math.min(e,r)-Math.max(t,i)}Object.defineProperty(i,"__esModule",{value:!0});var d=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),c=t(35),f=r(c),h=t(34),p=r(h),g=t(49),y=r(g),v=t(57),m=r(v),b=t(53),_=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,f.default.MEDIA_ATTACHING,f.default.MEDIA_DETACHING,f.default.FRAG_PARSING_USERDATA,f.default.MANIFEST_LOADING,f.default.MANIFEST_LOADED,f.default.FRAG_LOADED,f.default.LEVEL_SWITCHING,f.default.INIT_PTS_FOUND));if(i.hls=t,i.config=t.config,i.enabled=!0,i.Cues=t.config.cueHandler,i.textTracks=[],i.tracks=[],i.unparsedVttFrags=[],i.initPTS=void 0,i.cueRanges=[],i.config.enableCEA708Captions){var r=i,o=function(t,e){var i=null;try{i=new window.Event("addtrack")}catch(t){i=document.createEvent("Event"),i.initEvent("addtrack",!1,!1)}i.track=t,e.dispatchEvent(i)},l={newCue:function(t,e,i){if(!r.textTrack1){var n=r.getExistingTrack("1");if(n)r.textTrack1=n,s(r.textTrack1),o(r.textTrack1,r.media);else{var a=r.createTextTrack("captions",r.config.captionsTextTrack1Label,r.config.captionsTextTrack1LanguageCode);a&&(a.textTrack1=!0,r.textTrack1=a)}}r.addCues("textTrack1",t,e,i)}},u={newCue:function(t,e,i){if(!r.textTrack2){var n=r.getExistingTrack("2");if(n)r.textTrack2=n,s(r.textTrack2),o(r.textTrack2,r.media);else{var a=r.createTextTrack("captions",r.config.captionsTextTrack2Label,r.config.captionsTextTrack1LanguageCode);a&&(a.textTrack2=!0,r.textTrack2=a)}}r.addCues("textTrack2",t,e,i)}};i.cea608Parser=new y.default(0,l,u)}return i}return o(e,t),d(e,[{key:"addCues",value:function(t,e,i,r){for(var n=this.cueRanges,a=!1,o=n.length;o--;){var s=n[o],l=u(s[0],s[1],e,i);if(l>=0&&(s[0]=Math.min(s[0],e),s[1]=Math.max(s[1],i),a=!0,l/(i-e)>.5))return}a||n.push([e,i]),this.Cues.newCue(this[t],e,i,r)}},{key:"onInitPtsFound",value:function(t){var e=this;void 0===this.initPTS&&(this.initPTS=t.initPTS),this.unparsedVttFrags.length&&(this.unparsedVttFrags.forEach(function(t){e.onFragLoaded(t)}),this.unparsedVttFrags=[])}},{key:"getExistingTrack",value:function(t){var e=this.media;if(e)for(var i=0;i<e.textTracks.length;i++){var r=e.textTracks[i],n="textTrack"+t;if(!0===r[n])return r}return null}},{key:"createTextTrack",value:function(t,e,i){var r=this.media;if(r)return r.addTextTrack(t,e,i)}},{key:"destroy",value:function(){p.default.prototype.destroy.call(this)}},{key:"onMediaAttaching",value:function(t){this.media=t.media}},{key:"onMediaDetaching",value:function(){s(this.textTrack1),s(this.textTrack2)}},{key:"onManifestLoading",value:function(){this.lastSn=-1,this.prevCC=-1,this.vttCCs={ccOffset:0,presentationOffset:0};var t=this.media;if(t){var e=t.textTracks;if(e)for(var i=0;i<e.length;i++)s(e[i])}}},{key:"onManifestLoaded",value:function(t){var e=this;if(this.textTracks=[],this.unparsedVttFrags=this.unparsedVttFrags||[],this.initPTS=void 0,this.cueRanges=[],this.config.enableWebVTT){this.tracks=t.subtitles||[];var i=this.media?this.media.textTracks:[];this.tracks.forEach(function(t,r){var n=void 0;if(r<i.length){var a=i[r];l(a,t)&&(n=a)}n||(n=e.createTextTrack("subtitles",t.name,t.lang)),n.mode=t.default?"showing":"hidden",e.textTracks.push(n)})}}},{key:"onLevelSwitching",value:function(){this.enabled="NONE"!==this.hls.currentLevel.closedCaptions}},{key:"onFragLoaded",value:function(t){var e=t.frag,i=t.payload;if("main"===e.type){var r=e.sn;if(r!==this.lastSn+1){var n=this.cea608Parser;n&&n.reset()}this.lastSn=r}else if("subtitle"===e.type)if(i.byteLength){if(void 0===this.initPTS)return void this.unparsedVttFrags.push(t);var a=this.vttCCs;a[e.cc]||(a[e.cc]={start:e.start,prevCC:this.prevCC,new:!0},this.prevCC=e.cc);var o=this.textTracks,s=this.hls;m.default.parse(i,this.initPTS,a,e.cc,function(t){var i=o[e.trackId];t.forEach(function(t){i.cues.getCueById(t.id)||i.addCue(t)}),s.trigger(f.default.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},function(t){b.logger.log("Failed to parse VTT cue: "+t),s.trigger(f.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e})})}else this.hls.trigger(f.default.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e})}},{key:"onFragParsingUserdata",value:function(t){if(this.enabled&&this.config.enableCEA708Captions)for(var e=0;e<t.samples.length;e++){var i=this.extractCea608Data(t.samples[e].bytes);this.cea608Parser.addData(t.samples[e].pts,i)}}},{key:"extractCea608Data",value:function(t){for(var e,i,r,n,a,o=31&t[0],s=2,l=[],u=0;u<o;u++)e=t[s++],i=127&t[s++],r=127&t[s++],n=0!=(4&e),a=3&e,0===i&&0===r||n&&0===a&&(l.push(i),l.push(r));return l}}]),e}(p.default);i.default=_},{34:34,35:35,49:49,53:53,57:57}],17:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=function(){function t(e,i){r(this,t),this.subtle=e,this.aesIV=i}return n(t,[{key:"decrypt",value:function(t,e){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},e,t)}}]),t}();i.default=a},{}],18:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=function(){function t(){r(this,t),this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.initTable()}return n(t,[{key:"uint8ArrayToUint32Array_",value:function(t){for(var e=new DataView(t),i=new Uint32Array(4),r=0;r<4;r++)i[r]=e.getUint32(4*r);return i}},{key:"initTable",value:function(){var t=this.sBox,e=this.invSBox,i=this.subMix,r=i[0],n=i[1],a=i[2],o=i[3],s=this.invSubMix,l=s[0],u=s[1],d=s[2],c=s[3],f=new Uint32Array(256),h=0,p=0,g=0;for(g=0;g<256;g++)f[g]=g<128?g<<1:g<<1^283;for(g=0;g<256;g++){var y=p^p<<1^p<<2^p<<3^p<<4;y=y>>>8^255&y^99,t[h]=y,e[y]=h;var v=f[h],m=f[v],b=f[m],_=257*f[y]^16843008*y;r[h]=_<<24|_>>>8,n[h]=_<<16|_>>>16,a[h]=_<<8|_>>>24,o[h]=_,_=16843009*b^65537*m^257*v^16843008*h,l[y]=_<<24|_>>>8,u[y]=_<<16|_>>>16,d[y]=_<<8|_>>>24,c[y]=_,h?(h=v^f[f[f[b^v]]],p^=f[f[p]]):h=p=1}}},{key:"expandKey",value:function(t){for(var e=this.uint8ArrayToUint32Array_(t),i=!0,r=0;r<e.length&&i;)i=e[r]===this.key[r],r++;if(!i){this.key=e;var n=this.keySize=e.length;if(4!==n&&6!==n&&8!==n)throw new Error("Invalid aes key size="+n);var a=this.ksRows=4*(n+6+1),o=void 0,s=void 0,l=this.keySchedule=new Uint32Array(a),u=this.invKeySchedule=new Uint32Array(a),d=this.sBox,c=this.rcon,f=this.invSubMix,h=f[0],p=f[1],g=f[2],y=f[3],v=void 0,m=void 0;for(o=0;o<a;o++)o<n?v=l[o]=e[o]:(m=v,o%n==0?(m=m<<8|m>>>24,m=d[m>>>24]<<24|d[m>>>16&255]<<16|d[m>>>8&255]<<8|d[255&m],m^=c[o/n|0]<<24):n>6&&o%n==4&&(m=d[m>>>24]<<24|d[m>>>16&255]<<16|d[m>>>8&255]<<8|d[255&m]),l[o]=v=(l[o-n]^m)>>>0);for(s=0;s<a;s++)o=a-s,m=3&s?l[o]:l[o-4],u[s]=s<4||o<=4?m:h[d[m>>>24]]^p[d[m>>>16&255]]^g[d[m>>>8&255]]^y[d[255&m]],u[s]=u[s]>>>0}}},{key:"networkToHostOrderSwap",value:function(t){return t<<24|(65280&t)<<8|(16711680&t)>>8|t>>>24}},{key:"decrypt",value:function(t,e,i){for(var r,n,a=this.keySize+6,o=this.invKeySchedule,s=this.invSBox,l=this.invSubMix,u=l[0],d=l[1],c=l[2],f=l[3],h=this.uint8ArrayToUint32Array_(i),p=h[0],g=h[1],y=h[2],v=h[3],m=new Int32Array(t),b=new Int32Array(m.length),_=void 0,E=void 0,T=void 0,k=void 0,A=void 0,S=void 0,L=void 0,R=void 0,w=void 0,C=void 0,O=void 0,D=void 0,P=this.networkToHostOrderSwap;e<m.length;){for(w=P(m[e]),C=P(m[e+1]),O=P(m[e+2]),D=P(m[e+3]),A=w^o[0],S=D^o[1],L=O^o[2],R=C^o[3],r=4,n=1;n<a;n++)_=u[A>>>24]^d[S>>16&255]^c[L>>8&255]^f[255&R]^o[r],E=u[S>>>24]^d[L>>16&255]^c[R>>8&255]^f[255&A]^o[r+1],T=u[L>>>24]^d[R>>16&255]^c[A>>8&255]^f[255&S]^o[r+2],k=u[R>>>24]^d[A>>16&255]^c[S>>8&255]^f[255&L]^o[r+3],A=_,S=E,L=T,R=k,r+=4;_=s[A>>>24]<<24^s[S>>16&255]<<16^s[L>>8&255]<<8^s[255&R]^o[r],E=s[S>>>24]<<24^s[L>>16&255]<<16^s[R>>8&255]<<8^s[255&A]^o[r+1],T=s[L>>>24]<<24^s[R>>16&255]<<16^s[A>>8&255]<<8^s[255&S]^o[r+2],k=s[R>>>24]<<24^s[A>>16&255]<<16^s[S>>8&255]<<8^s[255&L]^o[r+3],r+=3,b[e]=P(_^p),b[e+1]=P(k^g),b[e+2]=P(T^y),b[e+3]=P(E^v),p=w,g=C,y=O,v=D,e+=4}return b.buffer}},{key:"destroy",value:function(){this.key=void 0,this.keySize=void 0,this.ksRows=void 0,this.sBox=void 0,this.invSBox=void 0,this.subMix=void 0,this.invSubMix=void 0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.rcon=void 0}}]),t}();i.default=a},{}],19:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(17),s=r(o),l=t(20),u=r(l),d=t(18),c=r(d),f=t(33),h=t(53),p=function(){function t(e,i){n(this,t),this.observer=e,this.config=i,this.logEnabled=!0;try{var r=crypto||self.crypto;this.subtle=r.subtle||r.webkitSubtle}catch(t){}this.disableWebCrypto=!this.subtle}return a(t,[{key:"isSync",value:function(){return this.disableWebCrypto&&this.config.enableSoftwareAES}},{key:"decrypt",value:function(t,e,i,r){var n=this;if(this.disableWebCrypto&&this.config.enableSoftwareAES){this.logEnabled&&(h.logger.log("JS AES decrypt"),this.logEnabled=!1);var a=this.decryptor;a||(this.decryptor=a=new c.default),a.expandKey(e),r(a.decrypt(t,0,i))}else{this.logEnabled&&(h.logger.log("WebCrypto AES decrypt"),this.logEnabled=!1);var o=this.subtle;this.key!==e&&(this.key=e,this.fastAesKey=new u.default(o,e)),this.fastAesKey.expandKey().then(function(a){new s.default(o,i).decrypt(t,a).catch(function(a){n.onWebCryptoError(a,t,e,i,r)}).then(function(t){r(t)})}).catch(function(a){n.onWebCryptoError(a,t,e,i,r)})}}},{key:"onWebCryptoError",value:function(t,e,i,r,n){this.config.enableSoftwareAES?(h.logger.log("WebCrypto Error, disable WebCrypto API"),this.disableWebCrypto=!0,this.logEnabled=!0,this.decrypt(e,i,r,n)):(h.logger.error("decrypting error : "+t.message),this.observer.trigger(Event.ERROR,{type:f.ErrorTypes.MEDIA_ERROR,details:f.ErrorDetails.FRAG_DECRYPT_ERROR,fatal:!0,reason:t.message}))}},{key:"destroy",value:function(){var t=this.decryptor;t&&(t.destroy(),this.decryptor=void 0)}}]),t}();i.default=p},{17:17,18:18,20:20,33:33,53:53}],20:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=function(){function t(e,i){r(this,t),this.subtle=e,this.key=i}return n(t,[{key:"expandKey",value:function(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"])}}]),t}();i.default=a},{}],21:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(22),s=r(o),l=t(53),u=t(27),d=r(u),c=function(){function t(e,i,r){n(this,t),this.observer=e,this.config=r,this.remuxer=i}return a(t,[{key:"resetInitSegment",value:function(t,e,i,r){this._audioTrack={container:"audio/adts",type:"audio",id:-1,sequenceNumber:0,isAAC:!0,samples:[],len:0,manifestCodec:e,duration:r,inputTimeScale:9e4}}},{key:"resetTimeStamp",value:function(){}},{key:"append",value:function(t,e,i,r){var n,a,o,u,c,f,h,p,g,y,v=new d.default(t),m=90*v.timeStamp;for(n=this._audioTrack,f=v.length,g=t.length;f<g-1&&(255!==t[f]||240!=(246&t[f+1]));f++);for(n.samplerate||(a=s.default.getAudioConfig(this.observer,t,f,n.manifestCodec),n.config=a.config,n.samplerate=a.samplerate,n.channelCount=a.channelCount,n.codec=a.codec,l.logger.log("parsed codec:"+n.codec+",rate:"+a.samplerate+",nb channel:"+a.channelCount)),c=0,u=9216e4/n.samplerate;f+5<g&&(h=1&t[f+1]?7:9,o=(3&t[f+3])<<11|t[f+4]<<3|(224&t[f+5])>>>5,(o-=h)>0&&f+h+o<=g);)for(p=m+c*u,y={unit:t.subarray(f+h,f+h+o),pts:p,dts:p},n.samples.push(y),n.len+=o,f+=o+h,c++;f<g-1&&(255!==t[f]||240!=(246&t[f+1]));f++);this.remuxer.remux(n,{samples:[]},{samples:[{pts:m,dts:m,data:v.payload}],inputTimeScale:9e4},{samples:[]},e,i,r)}},{key:"destroy",value:function(){}}],[{key:"probe",value:function(t){var e,i,r=new d.default(t);if(r.hasTimeStamp)for(e=r.length,i=Math.min(t.length-1,e+100);e<i;e++)if(255===t[e]&&240==(246&t[e+1]))return!0;return!1}}]),t}();i.default=c},{22:22,27:27,53:53}],22:[function(t,e,i){"use strict";var r=t(53),n=t(33),a={getAudioConfig:function(t,e,i,a){var o,s,l,u,d,c=navigator.userAgent.toLowerCase(),f=a,h=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];return o=1+((192&e[i+2])>>>6),(s=(60&e[i+2])>>>2)>h.length-1?void t.trigger(Event.ERROR,{type:n.ErrorTypes.MEDIA_ERROR,details:n.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"invalid ADTS sampling index:"+s}):(u=(1&e[i+2])<<2,u|=(192&e[i+3])>>>6,r.logger.log("manifest codec:"+a+",ADTS data:type:"+o+",sampleingIndex:"+s+"["+h[s]+"Hz],channelConfig:"+u),/firefox/i.test(c)?s>=6?(o=5,d=new Array(4),l=s-3):(o=2,d=new Array(2),l=s):-1!==c.indexOf("android")?(o=2,d=new Array(2),l=s):(o=5,d=new Array(4),a&&(-1!==a.indexOf("mp4a.40.29")||-1!==a.indexOf("mp4a.40.5"))||!a&&s>=6?l=s-3:((a&&-1!==a.indexOf("mp4a.40.2")&&s>=6&&1===u||!a&&1===u)&&(o=2,d=new Array(2)),l=s)),d[0]=o<<3,d[0]|=(14&s)>>1,d[1]|=(1&s)<<7,d[1]|=u<<3,5===o&&(d[1]|=(14&l)>>1,d[2]=(1&l)<<7,d[2]|=8,d[3]=0),{config:d,samplerate:h[s],channelCount:u,codec:"mp4a.40."+o,manifestCodec:f})}};e.exports=a},{33:33,53:53}],23:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(35),s=r(o),l=t(33),u=t(19),d=r(u),c=t(21),f=r(c),h=t(29),p=r(h),g=t(32),y=r(g),v=t(28),m=r(v),b=t(45),_=r(b),E=t(46),T=r(E),k=function(){function t(e,i,r,a){n(this,t),this.observer=e,this.typeSupported=i,this.config=r,this.vendor=a}return a(t,[{key:"destroy",value:function(){var t=this.demuxer;t&&t.destroy()}},{key:"push",value:function(t,e,i,r,n,a,o,l,u,c,f,h){if(t.byteLength>0&&null!=e&&null!=e.key&&"AES-128"===e.method){var p=this.decrypter;null==p&&(p=this.decrypter=new d.default(this.observer,this.config));var g,y=this;try{g=performance.now()}catch(t){g=Date.now()}p.decrypt(t,e.key.buffer,e.iv.buffer,function(t){var d;try{d=performance.now()}catch(t){d=Date.now()}y.observer.trigger(s.default.FRAG_DECRYPTED,{stats:{tstart:g,tdecrypt:d}}),y.pushDecrypted(new Uint8Array(t),e,new Uint8Array(i),r,n,a,o,l,u,c,f,h)})}else this.pushDecrypted(new Uint8Array(t),e,new Uint8Array(i),r,n,a,o,l,u,c,f,h)}},{key:"pushDecrypted",value:function(t,e,i,r,n,a,o,u,d,c,h,g){var v=this.demuxer;if(!v||o&&!this.probe(t)){var b=this.observer,E=this.typeSupported,k=this.config,A=[{demux:y.default,remux:_.default},{demux:m.default,remux:_.default},{demux:f.default,remux:_.default},{demux:p.default,remux:T.default}];for(var S in A){var L=A[S],R=L.demux.probe;if(R(t)){var w=this.remuxer=new L.remux(b,k,E,this.vendor);v=new L.demux(b,w,k,E),this.probe=R;break}}if(!v)return void b.trigger(s.default.ERROR,{type:l.ErrorTypes.MEDIA_ERROR,details:l.ErrorDetails.FRAG_PARSING_ERROR,fatal:!0,reason:"no demux matching with content found"});this.demuxer=v}var C=this.remuxer;(o||u)&&(v.resetInitSegment(i,r,n,c),C.resetInitSegment()),o&&(v.resetTimeStamp(),C.resetTimeStamp(g)),"function"==typeof v.setDecryptData&&v.setDecryptData(e),v.append(t,a,d,h)}}]),t}();i.default=k},{19:19,21:21,28:28,29:29,32:32,33:33,35:35,45:45,46:46}],24:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(i,"__esModule",{value:!0});var n=t(23),a=r(n),o=t(35),s=r(o),l=t(53),u=t(1),d=r(u),c=function(t){var e=new d.default;e.trigger=function(t){for(var i=arguments.length,r=Array(i>1?i-1:0),n=1;n<i;n++)r[n-1]=arguments[n];e.emit.apply(e,[t,t].concat(r))},e.off=function(t){for(var i=arguments.length,r=Array(i>1?i-1:0),n=1;n<i;n++)r[n-1]=arguments[n];e.removeListener.apply(e,[t].concat(r))};var i=function(e,i){t.postMessage({event:e,data:i})};t.addEventListener("message",function(r){var n=r.data;switch(n.cmd){case"init":var o=JSON.parse(n.config);t.demuxer=new a.default(e,n.typeSupported,o,n.vendor);try{(0,l.enableLogs)(!0===o.debug)}catch(t){console.warn("demuxerWorker: unable to enable logs")}i("init",null);break;case"demux":t.demuxer.push(n.data,n.decryptdata,n.initSegment,n.audioCodec,n.videoCodec,n.timeOffset,n.discontinuity,n.trackSwitch,n.contiguous,n.duration,n.accurateTimeOffset,n.defaultInitPTS)}}),e.on(s.default.FRAG_DECRYPTED,i),e.on(s.default.FRAG_PARSING_INIT_SEGMENT,i),e.on(s.default.FRAG_PARSED,i),e.on(s.default.ERROR,i),e.on(s.default.FRAG_PARSING_METADATA,i),e.on(s.default.FRAG_PARSING_USERDATA,i),e.on(s.default.INIT_PTS_FOUND,i),e.on(s.default.FRAG_PARSING_DATA,function(e,i){var r=[],n={event:e,data:i};i.data1&&(n.data1=i.data1.buffer,r.push(i.data1.buffer),delete i.data1),i.data2&&(n.data2=i.data2.buffer,r.push(i.data2.buffer),delete i.data2),t.postMessage(n,r)})};i.default=c},{1:1,23:23,35:35,53:53}],25:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(35),s=r(o),l=t(23),u=r(l),d=t(24),c=r(d),f=t(53),h=t(33),p=t(1),g=r(p),y=function(){function e(i,r){n(this,e),this.hls=i,this.id=r;var a=this.observer=new g.default,o=i.config;a.trigger=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];a.emit.apply(a,[t,t].concat(i))},a.off=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];a.removeListener.apply(a,[t].concat(i))};var l=function(t,e){e=e||{},e.frag=this.frag,e.id=this.id,i.trigger(t,e)}.bind(this);a.on(s.default.FRAG_DECRYPTED,l),a.on(s.default.FRAG_PARSING_INIT_SEGMENT,l),a.on(s.default.FRAG_PARSING_DATA,l),a.on(s.default.FRAG_PARSED,l),a.on(s.default.ERROR,l),a.on(s.default.FRAG_PARSING_METADATA,l),a.on(s.default.FRAG_PARSING_USERDATA,l),a.on(s.default.INIT_PTS_FOUND,l);var d={mp4:MediaSource.isTypeSupported("video/mp4"),mpeg:MediaSource.isTypeSupported("audio/mpeg"),mp3:MediaSource.isTypeSupported('audio/mp4; codecs="mp3"')},p=navigator.vendor;if(o.enableWorker&&"undefined"!=typeof Worker){f.logger.log("demuxing in webworker");var y=void 0;try{var v=t(3);y=this.w=v(c.default),this.onwmsg=this.onWorkerMessage.bind(this),y.addEventListener("message",this.onwmsg),y.onerror=function(t){i.trigger(s.default.ERROR,{type:h.ErrorTypes.OTHER_ERROR,details:h.ErrorDetails.INTERNAL_EXCEPTION,fatal:!0,event:"demuxerWorker",err:{message:t.message+" ("+t.filename+":"+t.lineno+")"}})},y.postMessage({cmd:"init",typeSupported:d,vendor:p,id:r,config:JSON.stringify(o)})}catch(t){f.logger.error("error while initializing DemuxerWorker, fallback on DemuxerInline"),y&&URL.revokeObjectURL(y.objectURL),this.demuxer=new u.default(a,d,o,p),this.w=void 0}}else this.demuxer=new u.default(a,d,o,p)}return a(e,[{key:"destroy",value:function(){var t=this.w;if(t)t.removeEventListener("message",this.onwmsg),t.terminate(),this.w=null;else{var e=this.demuxer;e&&(e.destroy(),this.demuxer=null)}var i=this.observer;i&&(i.removeAllListeners(),this.observer=null)}},{key:"push",value:function(t,e,i,r,n,a,o,s){var l=this.w,u=isNaN(n.startDTS)?n.start:n.startDTS,d=n.decryptdata,c=this.frag,h=!(c&&n.cc===c.cc),p=!(c&&n.level===c.level),g=c&&n.sn===c.sn+1,y=!p&&g;if(h&&f.logger.log(this.id+":discontinuity detected"),p&&f.logger.log(this.id+":switch detected"),this.frag=n,l)l.postMessage({cmd:"demux",data:t,decryptdata:d,initSegment:e,audioCodec:i,videoCodec:r,timeOffset:u,discontinuity:h,trackSwitch:p,contiguous:y,duration:a,accurateTimeOffset:o,defaultInitPTS:s},[t]);else{var v=this.demuxer;v&&v.push(t,d,e,i,r,u,h,p,y,a,o,s)}}},{key:"onWorkerMessage",value:function(t){var e=t.data,i=this.hls;switch(e.event){case"init":URL.revokeObjectURL(this.w.objectURL);break;case s.default.FRAG_PARSING_DATA:e.data.data1=new Uint8Array(e.data1),e.data2&&(e.data.data2=new Uint8Array(e.data2));default:e.data=e.data||{},e.data.frag=this.frag,e.data.id=this.id,i.trigger(e.event,e.data)}}}]),e}();i.default=y},{1:1,23:23,24:24,3:3,33:33,35:35,53:53}],26:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(53),o=function(){function t(e){r(this,t),this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0}return n(t,[{key:"loadWord",value:function(){var t=this.data,e=this.bytesAvailable,i=t.byteLength-e,r=new Uint8Array(4),n=Math.min(4,e);if(0===n)throw new Error("no bytes available");r.set(t.subarray(i,i+n)),this.word=new DataView(r.buffer).getUint32(0),this.bitsAvailable=8*n,this.bytesAvailable-=n}},{key:"skipBits",value:function(t){var e;this.bitsAvailable>t?(this.word<<=t,this.bitsAvailable-=t):(t-=this.bitsAvailable,e=t>>3,t-=e>>3,this.bytesAvailable-=e,this.loadWord(),this.word<<=t,this.bitsAvailable-=t)}},{key:"readBits",value:function(t){var e=Math.min(this.bitsAvailable,t),i=this.word>>>32-e;return t>32&&a.logger.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=e,this.bitsAvailable>0?this.word<<=e:this.bytesAvailable>0&&this.loadWord(),e=t-e,e>0&&this.bitsAvailable?i<<e|this.readBits(e):i}},{key:"skipLZ",value:function(){var t;for(t=0;t<this.bitsAvailable;++t)if(0!=(this.word&2147483648>>>t))return this.word<<=t,this.bitsAvailable-=t,t;return this.loadWord(),t+this.skipLZ()}},{key:"skipUEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"skipEG",value:function(){this.skipBits(1+this.skipLZ())}},{key:"readUEG",value:function(){var t=this.skipLZ();return this.readBits(t+1)-1}},{key:"readEG",value:function(){var t=this.readUEG();return 1&t?1+t>>>1:-1*(t>>>1)}},{key:"readBoolean",value:function(){return 1===this.readBits(1)}},{key:"readUByte",value:function(){return this.readBits(8)}},{key:"readUShort",value:function(){return this.readBits(16)}},{key:"readUInt",value:function(){return this.readBits(32)}},{key:"skipScalingList",value:function(t){var e,i,r=8,n=8;for(e=0;e<t;e++)0!==n&&(i=this.readEG(),n=(r+i+256)%256),r=0===n?r:n}},{key:"readSPS",value:function(){var t,e,i,r,n,a,o,s=0,l=0,u=0,d=0,c=this.readUByte.bind(this),f=this.readBits.bind(this),h=this.readUEG.bind(this),p=this.readBoolean.bind(this),g=this.skipBits.bind(this),y=this.skipEG.bind(this),v=this.skipUEG.bind(this),m=this.skipScalingList.bind(this);if(c(),t=c(),f(5),g(3),c(),v(),100===t||110===t||122===t||244===t||44===t||83===t||86===t||118===t||128===t){var b=h();if(3===b&&g(1),v(),v(),g(1),p())for(a=3!==b?8:12,o=0;o<a;o++)p()&&m(o<6?16:64)}v();var _=h();if(0===_)h();else if(1===_)for(g(1),y(),y(),e=h(),o=0;o<e;o++)y();v(),g(1),i=h(),r=h(),n=f(1),0===n&&g(1),g(1),p()&&(s=h(),l=h(),u=h(),d=h());var E=[1,1];if(p()&&p()){switch(c()){case 1:E=[1,1];break;case 2:E=[12,11];break;case 3:E=[10,11];break;case 4:E=[16,11];break;case 5:E=[40,33];break;case 6:E=[24,11];break;case 7:E=[20,11];break;case 8:E=[32,11];break;case 9:E=[80,33];break;case 10:E=[18,11];break;case 11:E=[15,11];break;case 12:E=[64,33];break;case 13:E=[160,99];break;case 14:E=[4,3];break;case 15:E=[3,2];break;case 16:E=[2,1];break;case 255:E=[c()<<8|c(),c()<<8|c()]}}return{width:Math.ceil(16*(i+1)-2*s-2*l),height:(2-n)*(r+1)*16-(n?2:4)*(u+d),pixelRatio:E}}},{key:"readSliceType",value:function(){return this.readUByte(),this.readUEG(),this.readUEG()}}]),t}();i.default=o},{53:53}],27:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(53),o=function(){function t(e){r(this,t),this._hasTimeStamp=!1,this._length=0;for(var i,n,o,s,l,u,d,c,f=0;;)if(d=this.readUTF(e,f,3),f+=3,"ID3"===d)f+=3,i=127&e[f++],n=127&e[f++],o=127&e[f++],s=127&e[f++],l=(i<<21)+(n<<14)+(o<<7)+s,u=f+l,this._parseID3Frames(e,f,u),f=u;else{if("3DI"!==d)return f-=3,void((c=f)&&(this.hasTimeStamp||a.logger.warn("ID3 tag found, but no timestamp"),this._length=c,this._payload=e.subarray(0,c)));f+=7,a.logger.log("3DI footer found, end: "+f)}}return n(t,[{key:"readUTF",value:function(t,e,i){var r="",n=e,a=e+i;do{r+=String.fromCharCode(t[n++])}while(n<a);return r}},{key:"_parseID3Frames",value:function(t,e,i){for(var r,n;e+8<=i;)switch(r=this.readUTF(t,e,4),e+=4,t[e++]<<24+t[e++]<<16+t[e++]<<8+t[e++],t[e++]<<8+t[e++],e,r){case"PRIV":if("com.apple.streaming.transportStreamTimestamp"===this.readUTF(t,e,44)){e+=44,e+=4;var o=1&t[e++];this._hasTimeStamp=!0,n=((t[e++]<<23)+(t[e++]<<15)+(t[e++]<<7)+t[e++])/45,o&&(n+=47721858.84),n=Math.round(n),a.logger.trace("ID3 timestamp found: "+n),this._timeStamp=n}}}},{key:"hasTimeStamp",get:function(){return this._hasTimeStamp}},{key:"timeStamp",get:function(){return this._timeStamp}},{key:"length",get:function(){return this._length}},{key:"payload",get:function(){return this._payload}}]),t}();i.default=o},{53:53}],28:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(27),s=r(o),l=t(30),u=r(l),d=function(){function t(e,i,r){n(this,t),this.observer=e,this.config=r,this.remuxer=i}return a(t,[{key:"resetInitSegment",value:function(t,e,i,r){this._audioTrack={container:"audio/mpeg",type:"audio",id:-1,sequenceNumber:0,isAAC:!1,samples:[],len:0,manifestCodec:e,duration:r,inputTimeScale:9e4}}},{key:"resetTimeStamp",value:function(){}},{key:"append",value:function(t,e,i,r){var n,a,o=new s.default(t),l=90*o.timeStamp,d=o.length;for(n=d,a=t.length;n<a-1&&(255!==t[n]||224!=(224&t[n+1])||0==(6&t[n+1]));n++);u.default.parse(this._audioTrack,t,o.length,l),this.remuxer.remux(this._audioTrack,{samples:[]},{samples:[{pts:l,dts:l,data:o.payload}],inputTimeScale:9e4},{samples:[]},e,i,r)}},{key:"destroy",value:function(){}}],[{key:"probe",value:function(t){var e,i,r=new s.default(t);if(r.hasTimeStamp)for(e=r.length,i=Math.min(t.length-1,e+100);e<i;e++)if(255===t[e]&&224==(224&t[e+1])&&0!=(6&t[e+1]))return!0;return!1}}]),t}();i.default=d},{27:27,30:30}],29:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(35),o=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(){function t(e,i){r(this,t),this.observer=e,this.remuxer=i}return n(t,[{key:"resetTimeStamp",value:function(){}},{key:"resetInitSegment",value:function(e,i,r,n){var a=this.initData=t.parseInitSegment(e),s={};a.audio&&(s.audio={container:"audio/mp4",codec:i,initSegment:e}),a.video&&(s.video={container:"video/mp4",codec:r,initSegment:e}),this.observer.trigger(o.default.FRAG_PARSING_INIT_SEGMENT,{tracks:s})}},{key:"append",value:function(e,i,r,n){var a=this.initData,o=t.startDTS(a,e);this.remuxer.remux(a.audio,a.video,null,null,o,r,n,e)}},{key:"destroy",value:function(){}}],[{key:"probe",value:function(e){if(e.length>=8){return["moof","ftyp","styp"].indexOf(t.bin2str(e.subarray(4,8)))>=0}return!1}},{key:"bin2str",value:function(t){return String.fromCharCode.apply(null,t)}},{key:"readUint32",value:function(t,e){var i=t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3];return i<0?4294967296+i:i}},{key:"findBox",value:function(e,i){var r,n,a,o,s,l=[];if(!i.length)return null;for(r=0;r<e.byteLength;)n=t.readUint32(e,r),a=t.bin2str(e.subarray(r+4,r+8)),o=n>1?r+n:e.byteLength,a===i[0]&&(1===i.length?l.push(e.subarray(r+8,o)):(s=t.findBox(e.subarray(r+8,o),i.slice(1)),s.length&&(l=l.concat(s)))),r=o;return l}},{key:"parseInitSegment",value:function(e){var i=[];return t.findBox(e,["moov","trak"]).forEach(function(e){var r=t.findBox(e,["tkhd"])[0];if(r){var n=r[0],a=0===n?12:20,o=t.readUint32(r,a),s=t.findBox(e,["mdia","mdhd"])[0];if(s){n=s[0],a=0===n?12:20;var l=t.readUint32(s,a),u=t.findBox(e,["mdia","hdlr"])[0];if(u){var d=t.bin2str(u.subarray(8,12)),c={soun:"audio",vide:"video"}[d];c&&(i[o]={timescale:l,type:c},i[c]={timescale:l,id:o})}}}}),i}},{key:"startDTS",value:function(e,i){var r,n,a;return r=t.findBox(i,["moof","traf"]),n=[].concat.apply([],r.map(function(i){return t.findBox(i,["tfhd"]).map(function(r){var n,a,o;return n=t.readUint32(r,4),a=e[n].timescale||9e4,o=t.findBox(i,["tfdt"]).map(function(e){var i,r;return i=e[0],r=t.readUint32(e,4),1===i&&(r*=Math.pow(2,32),r+=t.readUint32(e,8)),r})[0],(o=o||1/0)/a})})),a=Math.min.apply(null,n),isFinite(a)?a:0}}]),t}();i.default=s},{35:35}],30:[function(t,e,i){"use strict";var r=t(53),n={onFrame:function(t,e,i,r,n,a,o){var s=10368e4/r,l=o+a*s;t.config=[],t.channelCount=n,t.samplerate=r,t.samples.push({unit:e,pts:l,dts:l}),t.len+=e.length},onNoise:function(t){r.logger.warn("mpeg audio has noise: "+t.length+" bytes")},parseFrames:function(t,e,i,r,n,a){var o=[32,64,96,128,160,192,224,256,288,320,352,384,416,448,32,48,56,64,80,96,112,128,160,192,224,256,320,384,32,40,48,56,64,80,96,112,128,160,192,224,256,320,32,48,56,64,80,96,112,128,144,160,176,192,224,256,8,16,24,32,40,48,56,64,80,96,112,128,144,160],s=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3];if(i+2>r)return-1;if(255===e[i]||224==(224&e[i+1])){if(i+24>r)return-1;var l=e[i+1]>>3&3,u=e[i+1]>>1&3,d=e[i+2]>>4&15,c=e[i+2]>>2&3,f=!!(2&e[i+2]);if(1!==l&&0!==d&&15!==d&&3!==c){var h=3===l?3-u:3===u?3:4,p=1e3*o[14*h+d-1],g=3===l?0:2===l?1:2,y=s[3*g+c],v=f?1:0,m=e[i+3]>>6==3?1:2,b=3===u?(3===l?12:6)*p/y+v<<2:(3===l?144:72)*p/y+v|0;return i+b>r?-1:(this.onFrame(t,e.subarray(i,i+b),p,y,m,n,a),b)}}for(var _=i+2;_<r;){if(255===e[_-1]&&224==(224&e[_]))return this.onNoise(e.subarray(i,_-1)),_-i-1;_++}return-1},parse:function(t,e,i,r){for(var n,a=e.length,o=0;i<a&&(n=this.parseFrames(t,e,i,a,o++,r))>0;)i+=n}};e.exports=n},{53:53}],31:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(19),o=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(){function t(e,i,n,a){r(this,t),this.decryptdata=n,this.discardEPB=a,this.decrypter=new o.default(e,i)}return n(t,[{key:"decryptBuffer",value:function(t,e){this.decrypter.decrypt(t,this.decryptdata.key.buffer,this.decryptdata.iv.buffer,e)}},{key:"decryptAacSample",value:function(t,e,i,r){var n=t[e].unit,a=n.subarray(16,n.length-n.length%16),o=a.buffer.slice(a.byteOffset,a.byteOffset+a.length),s=this;this.decryptBuffer(o,function(a){a=new Uint8Array(a),n.set(a,16),r||s.decryptAacSamples(t,e+1,i)})}},{key:"decryptAacSamples",value:function(t,e,i){for(;;e++){if(e>=t.length)return void i();if(!(t[e].unit.length<32)){var r=this.decrypter.isSync();if(this.decryptAacSample(t,e,i,r),!r)return}}}},{key:"getAvcEncryptedData",value:function(t){for(var e=16*Math.floor((t.length-48)/160)+16,i=new Int8Array(e),r=0,n=32;n<=t.length-16;n+=160,r+=16)i.set(t.subarray(n,n+16),r);return i}},{key:"getAvcDecryptedUnit",value:function(t,e){e=new Uint8Array(e);for(var i=0,r=32;r<=t.length-16;r+=160,i+=16)t.set(e.subarray(i,i+16),r);return t}},{key:"decryptAvcSample",value:function(t,e,i,r,n,a){var o=this.discardEPB(n.data),s=this.getAvcEncryptedData(o),l=this;this.decryptBuffer(s.buffer,function(s){n.data=l.getAvcDecryptedUnit(o,s),a||l.decryptAvcSamples(t,e,i+1,r)})}},{key:"decryptAvcSamples",value:function(t,e,i,r){for(;;e++,i=0){if(e>=t.length)return void r();for(var n=t[e].units;!(i>=n.length);i++){var a=n[i];if(!(a.length<=48||1!==a.type&&5!==a.type)){var o=this.decrypter.isSync();if(this.decryptAvcSample(t,e,i,r,a,o),!o)return}}}}}]),t}();i.default=s},{19:19}],32:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(22),s=r(o),l=t(30),u=r(l),d=t(35),c=r(d),f=t(26),h=r(f),p=t(31),g=r(p),y=t(53),v=t(33),m=function(){function t(e,i,r,a){n(this,t),this.observer=e,this.config=r,this.typeSupported=a,this.remuxer=i,this.sampleAes=null}return a(t,[{key:"setDecryptData",value:function(t){null!=t&&null!=t.key&&"SAMPLE-AES"===t.method?this.sampleAes=new g.default(this.observer,this.config,t,this.discardEPB):this.sampleAes=null}},{key:"resetInitSegment",value:function(t,e,i,r){this.pmtParsed=!1,this._pmtId=-1,this._avcTrack={container:"video/mp2t",type:"video",id:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],len:0,dropped:0},this._audioTrack={container:"video/mp2t",type:"audio",id:-1,inputTimeScale:9e4,duration:r,sequenceNumber:0,samples:[],len:0,isAAC:!0},this._id3Track={type:"id3",id:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],len:0},this._txtTrack={type:"text",id:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],len:0},this.aacOverFlow=null,this.aacLastPTS=null,this.avcSample=null,this.audioCodec=e,this.videoCodec=i,this._duration=r}},{key:"resetTimeStamp",value:function(){}},{key:"append",value:function(t,e,i,r){var n,a,o,s,l,u=t.length,d=!1;this.contiguous=i;var f=this.pmtParsed,h=this._avcTrack,p=this._audioTrack,g=this._id3Track,m=h.id,b=p.id,_=g.id,E=this._pmtId,T=h.pesData,k=p.pesData,A=g.pesData,S=this._parsePAT,L=this._parsePMT,R=this._parsePES,w=this._parseAVCPES.bind(this),C=this._parseAACPES.bind(this),O=this._parseMPEGPES.bind(this),D=this._parseID3PES.bind(this);for(u-=u%188,n=0;n<u;n+=188)if(71===t[n]){if(a=!!(64&t[n+1]),o=((31&t[n+1])<<8)+t[n+2],(48&t[n+3])>>4>1){if((s=n+5+t[n+4])===n+188)continue}else s=n+4;switch(o){case m:a&&(T&&(l=R(T))&&w(l,!1),T={data:[],size:0}),T&&(T.data.push(t.subarray(s,n+188)),T.size+=n+188-s);break;case b:a&&(k&&(l=R(k))&&(p.isAAC?C(l):O(l)),k={data:[],size:0}),k&&(k.data.push(t.subarray(s,n+188)),k.size+=n+188-s);break;case _:a&&(A&&(l=R(A))&&D(l),A={data:[],size:0}),A&&(A.data.push(t.subarray(s,n+188)),A.size+=n+188-s);break;case 0:a&&(s+=t[s]+1),E=this._pmtId=S(t,s);break;case E:a&&(s+=t[s]+1);var P=L(t,s,!0===this.typeSupported.mpeg||!0===this.typeSupported.mp3,null!=this.sampleAes);m=P.avc,m>0&&(h.id=m),b=P.audio,b>0&&(p.id=b,p.isAAC=P.isAAC),_=P.id3,_>0&&(g.id=_),d&&!f&&(y.logger.log("reparse from beginning"),d=!1,n=-188),f=this.pmtParsed=!0;break;case 17:case 8191:break;default:d=!0}}else this.observer.trigger(c.default.ERROR,{type:v.ErrorTypes.MEDIA_ERROR,details:v.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"TS packet did not start with 0x47"});T&&(l=R(T))?(w(l,!0),h.pesData=null):h.pesData=T,k&&(l=R(k))?(p.isAAC?C(l):O(l),p.pesData=null):(k&&k.size&&y.logger.log("last AAC PES packet truncated,might overlap between fragments"),p.pesData=k),A&&(l=R(A))?(D(l),g.pesData=null):g.pesData=A,null==this.sampleAes?this.remuxer.remux(p,h,g,this._txtTrack,e,i,r):this.decryptAndRemux(p,h,g,this._txtTrack,e,i,r)}},{key:"decryptAndRemux",value:function(t,e,i,r,n,a,o){if(t.samples&&t.isAAC){var s=this;this.sampleAes.decryptAacSamples(t.samples,0,function(){s.decryptAndRemuxAvc(t,e,i,r,n,a,o)})}else this.decryptAndRemuxAvc(t,e,i,r,n,a,o)}},{key:"decryptAndRemuxAvc",value:function(t,e,i,r,n,a,o){if(e.samples){var s=this;this.sampleAes.decryptAvcSamples(e.samples,0,0,function(){s.remuxer.remux(t,e,i,r,n,a,o)})}else this.remuxer.remux(t,e,i,r,n,a,o)}},{key:"destroy",value:function(){this._initPTS=this._initDTS=void 0,this._duration=0}},{key:"_parsePAT",value:function(t,e){return(31&t[e+10])<<8|t[e+11]}},{key:"_parsePMT",value:function(t,e,i,r){var n,a,o,s,l={audio:-1,avc:-1,id3:-1,isAAC:!0};for(n=(15&t[e+1])<<8|t[e+2],a=e+3+n-4,o=(15&t[e+10])<<8|t[e+11],e+=12+o;e<a;){switch(s=(31&t[e+1])<<8|t[e+2],t[e]){case 207:if(!r){y.logger.log("unkown stream type:"+t[e]);break}case 15:-1===l.audio&&(l.audio=s);break;case 21:-1===l.id3&&(l.id3=s);break;case 219:if(!r){y.logger.log("unkown stream type:"+t[e]);break}case 27:-1===l.avc&&(l.avc=s);break;case 3:case 4:i?-1===l.audio&&(l.audio=s,l.isAAC=!1):y.logger.log("MPEG audio found, not supported in this browser for now");break;case 36:y.logger.warn("HEVC stream type found, not supported for now");break;default:y.logger.log("unkown stream type:"+t[e])}e+=5+((15&t[e+3])<<8|t[e+4])}return l}},{key:"_parsePES",value:function(t){var e,i,r,n,a,o,s,l,u=0,d=t.data;if(!t||0===t.size)return null;for(;d[0].length<19&&d.length>1;){var c=new Uint8Array(d[0].length+d[1].length);c.set(d[0]),c.set(d[1],d[0].length),d[0]=c,d.splice(1,1)}if(e=d[0],1===(e[0]<<16)+(e[1]<<8)+e[2]){if((r=(e[4]<<8)+e[5])&&r>t.size-6)return null;i=e[7],192&i&&(o=536870912*(14&e[9])+4194304*(255&e[10])+16384*(254&e[11])+128*(255&e[12])+(254&e[13])/2,o>4294967295&&(o-=8589934592),64&i?(s=536870912*(14&e[14])+4194304*(255&e[15])+16384*(254&e[16])+128*(255&e[17])+(254&e[18])/2,s>4294967295&&(s-=8589934592),o-s>54e5&&(y.logger.warn(Math.round((o-s)/9e4)+"s delta between PTS and DTS, align them"),o=s)):s=o),n=e[8],l=n+9,t.size-=l,a=new Uint8Array(t.size);for(var f=0,h=d.length;f<h;f++){e=d[f];var p=e.byteLength;if(l){if(l>p){l-=p;continue}e=e.subarray(l),p-=l,l=0}a.set(e,u),u+=p}return r&&(r-=n+3),{data:a,pts:o,dts:s,len:r}}return null}},{key:"pushAccesUnit",value:function(t,e){if(t.units.length&&t.frame){var i=e.samples,r=i.length;!this.config.forceKeyFrameOnDiscontinuity||!0===t.key||e.sps&&(r||this.contiguous)?(t.id=r,i.push(t)):e.dropped++}t.debug.length&&y.logger.log(t.pts+"/"+t.dts+":"+t.debug)}},{key:"_parseAVCPES",value:function(t,e){var i,r,n,a=this,o=this._avcTrack,s=this._parseAVCNALu(t.data),l=this.avcSample;t.data=null,s.forEach(function(e){switch(e.type){case 1:r=!0,l.frame=!0;var s=e.data;if(s.length>4){var u=new h.default(s).readSliceType();2!==u&&4!==u&&7!==u&&9!==u||(l.key=!0)}break;case 5:r=!0,l||(l=a.avcSample=a._createAVCSample(!0,t.pts,t.dts,"")),l.key=!0,l.frame=!0;break;case 6:r=!0,i=new h.default(a.discardEPB(e.data)),i.readUByte();for(var d=0,c=0,f=!1,p=0;!f&&i.bytesAvailable>1;){d=0;do{p=i.readUByte(),d+=p}while(255===p);c=0;do{p=i.readUByte(),c+=p}while(255===p);if(4===d&&0!==i.bytesAvailable){f=!0;if(181===i.readUByte()){if(49===i.readUShort()){if(1195456820===i.readUInt()){if(3===i.readUByte()){var g=i.readUByte(),y=i.readUByte(),v=31&g,m=[g,y];for(n=0;n<v;n++)m.push(i.readUByte()),m.push(i.readUByte()),m.push(i.readUByte());a._insertSampleInOrder(a._txtTrack.samples,{type:3,pts:t.pts,bytes:m})}}}}}else if(c<i.bytesAvailable)for(n=0;n<c;n++)i.readUByte()}break;case 7:if(r=!0,!o.sps){i=new h.default(e.data);var b=i.readSPS();o.width=b.width,o.height=b.height,o.pixelRatio=b.pixelRatio,o.sps=[e.data],o.duration=a._duration;var _=e.data.subarray(1,4),E="avc1.";for(n=0;n<3;n++){var T=_[n].toString(16);T.length<2&&(T="0"+T),E+=T}o.codec=E}break;case 8:r=!0,o.pps||(o.pps=[e.data]);break;case 9:r=!1,l&&a.pushAccesUnit(l,o),l=a.avcSample=a._createAVCSample(!1,t.pts,t.dts,"");break;case 12:r=!1;break;default:r=!1,l&&(l.debug+="unknown NAL "+e.type+" ")}if(l&&r){l.units.push(e)}}),e&&l&&(this.pushAccesUnit(l,o),this.avcSample=null)}},{key:"_createAVCSample",value:function(t,e,i,r){return{key:t,pts:e,dts:i,units:[],debug:r}}},{key:"_insertSampleInOrder",value:function(t,e){var i=t.length;if(i>0){if(e.pts>=t[i-1].pts)t.push(e);else for(var r=i-1;r>=0;r--)if(e.pts<t[r].pts){t.splice(r,0,e);break}}else t.push(e)}},{key:"_getLastNalUnit",value:function(){var t=this.avcSample,e=void 0;if(!t||0===t.units.length){var i=this._avcTrack,r=i.samples;t=r[r.length-1]}if(t){var n=t.units;e=n[n.length-1]}return e}},{key:"_parseAVCNALu",value:function(t){var e,i,r,n,a,o=0,s=t.byteLength,l=this._avcTrack,u=l.naluState||0,d=u,c=[],f=-1;for(-1===u&&(f=0,a=31&t[0],u=0,o=1);o<s;)if(e=t[o++],u)if(1!==u)if(e)if(1===e){if(f>=0)r={data:t.subarray(f,o-u-1),type:a},c.push(r);else{var h=this._getLastNalUnit();if(h&&(d&&o<=4-d&&h.state&&(h.data=h.data.subarray(0,h.data.byteLength-d)),(i=o-u-1)>0)){var p=new Uint8Array(h.data.byteLength+i);p.set(h.data,0),p.set(t.subarray(0,i),h.data.byteLength),h.data=p}}o<s?(n=31&t[o],f=o,a=n,u=0):u=-1}else u=0;else u=3;else u=e?0:2;else u=e?0:1;if(f>=0&&u>=0&&(r={data:t.subarray(f,s),type:a,state:u},c.push(r)),0===c.length){var g=this._getLastNalUnit();if(g){var y=new Uint8Array(g.data.byteLength+t.byteLength);y.set(g.data,0),y.set(t,g.data.byteLength),g.data=y}}return l.naluState=u,c}},{key:"discardEPB",value:function(t){for(var e,i,r=t.byteLength,n=[],a=1;a<r-2;)0===t[a]&&0===t[a+1]&&3===t[a+2]?(n.push(a+2),a+=2):a++;if(0===n.length)return t;e=r-n.length,i=new Uint8Array(e);var o=0;for(a=0;a<e;o++,a++)o===n[0]&&(o++,n.shift()),i[a]=t[o];return i}},{key:"_parseAACPES",value:function(t){var e,i,r,n,a,o,l,u,d,f=this._audioTrack,h=t.data,p=t.pts,g=this.aacOverFlow,m=this.aacLastPTS;if(g){var b=new Uint8Array(g.byteLength+h.byteLength);b.set(g,0),b.set(h,g.byteLength),h=b}for(a=0,u=h.length;a<u-1&&(255!==h[a]||240!=(240&h[a+1]));a++);if(a){var _,E;if(a<u-1?(_="AAC PES did not start with ADTS header,offset:"+a,E=!1):(_="no ADTS header found in AAC PES",E=!0),y.logger.warn("parsing error:"+_),this.observer.trigger(c.default.ERROR,{type:v.ErrorTypes.MEDIA_ERROR,details:v.ErrorDetails.FRAG_PARSING_ERROR,fatal:E,reason:_}),E)return}if(!f.samplerate){var T=this.audioCodec;e=s.default.getAudioConfig(this.observer,h,a,T),f.config=e.config,f.samplerate=e.samplerate,f.channelCount=e.channelCount,f.codec=e.codec,f.manifestCodec=e.manifestCodec,y.logger.log("parsed codec:"+f.codec+",rate:"+e.samplerate+",nb channel:"+e.channelCount)}if(n=0,r=9216e4/f.samplerate,g&&m){var k=m+r;Math.abs(k-p)>1&&(y.logger.log("AAC: align PTS for overlapping frames by "+Math.round((k-p)/90)),p=k)}for(;a+5<u&&(o=1&h[a+1]?7:9,i=(3&h[a+3])<<11|h[a+4]<<3|(224&h[a+5])>>>5,(i-=o)>0&&a+o+i<=u);)for(l=p+n*r,d={unit:h.subarray(a+o,a+o+i),pts:l,dts:l},f.samples.push(d),f.len+=i,a+=i+o,n++;a<u-1&&(255!==h[a]||240!=(240&h[a+1]));a++);g=a<u?h.subarray(a,u):null,this.aacOverFlow=g,this.aacLastPTS=l}},{key:"_parseMPEGPES",value:function(t){u.default.parse(this._audioTrack,t.data,0,t.pts)}},{key:"_parseID3PES",value:function(t){this._id3Track.samples.push(t)}}],[{key:"probe",value:function(t){return t.length>=564&&71===t[0]&&71===t[188]&&71===t[376]}}]),t}();i.default=m},{22:22,26:26,30:30,31:31,33:33,35:35,53:53}],33:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});i.ErrorTypes={NETWORK_ERROR:"networkError",MEDIA_ERROR:"mediaError",MUX_ERROR:"muxError",OTHER_ERROR:"otherError"},i.ErrorDetails={MANIFEST_LOAD_ERROR:"manifestLoadError",MANIFEST_LOAD_TIMEOUT:"manifestLoadTimeOut",MANIFEST_PARSING_ERROR:"manifestParsingError",MANIFEST_INCOMPATIBLE_CODECS_ERROR:"manifestIncompatibleCodecsError",LEVEL_LOAD_ERROR:"levelLoadError",LEVEL_LOAD_TIMEOUT:"levelLoadTimeOut",LEVEL_SWITCH_ERROR:"levelSwitchError",AUDIO_TRACK_LOAD_ERROR:"audioTrackLoadError",AUDIO_TRACK_LOAD_TIMEOUT:"audioTrackLoadTimeOut",FRAG_LOAD_ERROR:"fragLoadError",FRAG_LOOP_LOADING_ERROR:"fragLoopLoadingError",FRAG_LOAD_TIMEOUT:"fragLoadTimeOut",FRAG_DECRYPT_ERROR:"fragDecryptError",FRAG_PARSING_ERROR:"fragParsingError",REMUX_ALLOC_ERROR:"remuxAllocError",KEY_LOAD_ERROR:"keyLoadError",KEY_LOAD_TIMEOUT:"keyLoadTimeOut",BUFFER_ADD_CODEC_ERROR:"bufferAddCodecError",BUFFER_APPEND_ERROR:"bufferAppendError",BUFFER_APPENDING_ERROR:"bufferAppendingError",BUFFER_STALLED_ERROR:"bufferStalledError",BUFFER_FULL_ERROR:"bufferFullError",BUFFER_SEEK_OVER_HOLE:"bufferSeekOverHole",BUFFER_NUDGE_ON_STALL:"bufferNudgeOnStall",INTERNAL_EXCEPTION:"internalException",WEBVTT_EXCEPTION:"webVTTException"}},{}],34:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(53),s=t(33),l=t(35),u=function(t){return t&&t.__esModule?t:{default:t}}(l),d=function(){function t(e){r(this,t),this.hls=e,this.onEvent=this.onEvent.bind(this);for(var i=arguments.length,n=Array(i>1?i-1:0),a=1;a<i;a++)n[a-1]=arguments[a];this.handledEvents=n,this.useGenericHandler=!0,this.registerListeners()}return a(t,[{key:"destroy",value:function(){this.unregisterListeners()}},{key:"isEventHandler",value:function(){return"object"===n(this.handledEvents)&&this.handledEvents.length&&"function"==typeof this.onEvent}},{key:"registerListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(t){if("hlsEventGeneric"===t)throw new Error("Forbidden event name: "+t);this.hls.on(t,this.onEvent)}.bind(this))}},{key:"unregisterListeners",value:function(){this.isEventHandler()&&this.handledEvents.forEach(function(t){this.hls.off(t,this.onEvent)}.bind(this))}},{key:"onEvent",value:function(t,e){this.onEventGeneric(t,e)}},{key:"onEventGeneric",value:function(t,e){var i=function(t,e){var i="on"+t.replace("hls","");if("function"!=typeof this[i])throw new Error("Event "+t+" has no generic handler in this "+this.constructor.name+" class (tried "+i+")");return this[i].bind(this,e)};try{i.call(this,t,e).call()}catch(e){o.logger.error("internal error happened while processing "+t+":"+e.message),this.hls.trigger(u.default.ERROR,{type:s.ErrorTypes.OTHER_ERROR,details:s.ErrorDetails.INTERNAL_EXCEPTION,fatal:!1,event:t,err:e})}}}]),t}();i.default=d},{33:33,35:35,53:53}],35:[function(t,e,i){"use strict";e.exports={MEDIA_ATTACHING:"hlsMediaAttaching",MEDIA_ATTACHED:"hlsMediaAttached",MEDIA_DETACHING:"hlsMediaDetaching",MEDIA_DETACHED:"hlsMediaDetached",BUFFER_RESET:"hlsBufferReset",BUFFER_CODECS:"hlsBufferCodecs",BUFFER_CREATED:"hlsBufferCreated",BUFFER_APPENDING:"hlsBufferAppending",BUFFER_APPENDED:"hlsBufferAppended",BUFFER_EOS:"hlsBufferEos",BUFFER_FLUSHING:"hlsBufferFlushing",BUFFER_FLUSHED:"hlsBufferFlushed",MANIFEST_LOADING:"hlsManifestLoading",MANIFEST_LOADED:"hlsManifestLoaded",MANIFEST_PARSED:"hlsManifestParsed",LEVEL_SWITCH:"hlsLevelSwitch",LEVEL_SWITCHING:"hlsLevelSwitching",LEVEL_SWITCHED:"hlsLevelSwitched",LEVEL_LOADING:"hlsLevelLoading",LEVEL_LOADED:"hlsLevelLoaded",LEVEL_UPDATED:"hlsLevelUpdated",LEVEL_PTS_UPDATED:"hlsLevelPtsUpdated",AUDIO_TRACKS_UPDATED:"hlsAudioTracksUpdated",AUDIO_TRACK_SWITCH:"hlsAudioTrackSwitch",AUDIO_TRACK_SWITCHING:"hlsAudioTrackSwitching",AUDIO_TRACK_SWITCHED:"hlsAudioTrackSwitched",AUDIO_TRACK_LOADING:"hlsAudioTrackLoading",AUDIO_TRACK_LOADED:"hlsAudioTrackLoaded",SUBTITLE_TRACKS_UPDATED:"hlsSubtitleTracksUpdated",SUBTITLE_TRACK_SWITCH:"hlsSubtitleTrackSwitch",SUBTITLE_TRACK_LOADING:"hlsSubtitleTrackLoading",SUBTITLE_TRACK_LOADED:"hlsSubtitleTrackLoaded",SUBTITLE_FRAG_PROCESSED:"hlsSubtitleFragProcessed",INIT_PTS_FOUND:"hlsInitPtsFound",FRAG_LOADING:"hlsFragLoading",FRAG_LOAD_PROGRESS:"hlsFragLoadProgress",FRAG_LOAD_EMERGENCY_ABORTED:"hlsFragLoadEmergencyAborted",FRAG_LOADED:"hlsFragLoaded",FRAG_DECRYPTED:"hlsFragDecrypted",FRAG_PARSING_INIT_SEGMENT:"hlsFragParsingInitSegment",FRAG_PARSING_USERDATA:"hlsFragParsingUserdata",FRAG_PARSING_METADATA:"hlsFragParsingMetadata",FRAG_PARSING_DATA:"hlsFragParsingData",FRAG_PARSED:"hlsFragParsed",FRAG_BUFFERED:"hlsFragBuffered",FRAG_CHANGED:"hlsFragChanged",FPS_DROP:"hlsFpsDrop",FPS_DROP_LEVEL_CAPPING:"hlsFpsDropLevelCapping",ERROR:"hlsError",DESTROYING:"hlsDestroying",KEY_LOADING:"hlsKeyLoading",KEY_LOADED:"hlsKeyLoaded",STREAM_STATE_TRANSITION:"hlsStreamStateTransition"}},{}],36:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=function(){function t(){r(this,t)}return n(t,null,[{key:"getSilentFrame",value:function(t,e){switch(t){case"mp4a.40.2":if(1===e)return new Uint8Array([0,200,0,128,35,128]);if(2===e)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===e)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(1===e)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===e)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),t}();i.default=a},{}],37:[function(t,e,i){"use strict";var r={isBuffered:function(t,e){if(t)for(var i=t.buffered,r=0;r<i.length;r++)if(e>=i.start(r)&&e<=i.end(r))return!0;return!1},bufferInfo:function(t,e,i){if(t){var r,n=t.buffered,a=[];for(r=0;r<n.length;r++)a.push({start:n.start(r),end:n.end(r)});return this.bufferedInfo(a,e,i)}return{len:0,start:e,end:e,nextStart:void 0}},bufferedInfo:function(t,e,i){var r,n,a,o,s,l=[];for(t.sort(function(t,e){var i=t.start-e.start;return i||e.end-t.end}),s=0;s<t.length;s++){var u=l.length;if(u){var d=l[u-1].end;t[s].start-d<i?t[s].end>d&&(l[u-1].end=t[s].end):l.push(t[s])}else l.push(t[s])}for(s=0,r=0,n=a=e;s<l.length;s++){var c=l[s].start,f=l[s].end;if(e+i>=c&&e<f)n=c,a=f,r=a-e;else if(e+i<c){o=c;break}}return{len:r,start:n,end:a,nextStart:o}}};e.exports=r},{}],38:[function(t,e,i){"use strict";var r=t(53),n={mergeDetails:function(t,e){var i,a=Math.max(t.startSN,e.startSN)-e.startSN,o=Math.min(t.endSN,e.endSN)-e.startSN,s=e.startSN-t.startSN,l=t.fragments,u=e.fragments,d=0;if(o<a)return void(e.PTSKnown=!1);for(var c=a;c<=o;c++){var f=l[s+c],h=u[c];h&&f&&(d=f.cc-h.cc,isNaN(f.startPTS)||(h.start=h.startPTS=f.startPTS,h.endPTS=f.endPTS,h.duration=f.duration,h.backtracked=f.backtracked,h.dropped=f.dropped,i=h))}if(d)for(r.logger.log("discontinuity sliding from playlist, take drift into account"),c=0;c<u.length;c++)u[c].cc+=d;if(i)n.updateFragPTSDTS(e,i,i.startPTS,i.endPTS,i.startDTS,i.endDTS);else if(s>=0&&s<l.length){var p=l[s].start;for(c=0;c<u.length;c++)u[c].start+=p}e.PTSKnown=t.PTSKnown},updateFragPTSDTS:function(t,e,i,r,a,o){if(!isNaN(e.startPTS)){var s=Math.abs(e.startPTS-i);isNaN(e.deltaPTS)?e.deltaPTS=s:e.deltaPTS=Math.max(s,e.deltaPTS),i=Math.min(i,e.startPTS),r=Math.max(r,e.endPTS),a=Math.min(a,e.startDTS),o=Math.max(o,e.endDTS)}var l=i-e.start;e.start=e.startPTS=i,e.endPTS=r,e.startDTS=a,e.endDTS=o,e.duration=r-i;var u=e.sn;if(!t||u<t.startSN||u>t.endSN)return 0;var d,c,f;for(d=u-t.startSN,c=t.fragments,e=c[d],f=d;f>0;f--)n.updatePTS(c,f,f-1);for(f=d;f<c.length-1;f++)n.updatePTS(c,f,f+1);return t.PTSKnown=!0,l},updatePTS:function(t,e,i){var n=t[e],a=t[i],o=a.startPTS;isNaN(o)?a.start=i>e?n.start+n.duration:Math.max(n.start-a.duration,0):i>e?(n.duration=o-n.start,n.duration<0&&r.logger.warn("negative duration computed for frag "+n.sn+",level "+n.level+", there should be some duration drift between playlist and fragment!")):(a.duration=n.start-o,a.duration<0&&r.logger.warn("negative duration computed for frag "+a.sn+",level "+a.level+", there should be some duration drift between playlist and fragment!"))}};e.exports=n},{53:53}],39:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(2),s=r(o),l=t(35),u=r(l),d=t(33),c=t(43),f=r(c),h=t(41),p=r(h),g=t(42),y=r(g),v=t(13),m=r(v),b=t(12),_=r(b),E=t(11),T=r(E),k=t(53),A=t(1),S=r(A),L=t(4),R=function(){function t(){var e=this,i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};n(this,t);var r=t.DefaultConfig;if((i.liveSyncDurationCount||i.liveMaxLatencyDurationCount)&&(i.liveSyncDuration||i.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");for(var a in r)a in i||(i[a]=r[a]);if(void 0!==i.liveMaxLatencyDurationCount&&i.liveMaxLatencyDurationCount<=i.liveSyncDurationCount)throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be gt "liveSyncDurationCount"');if(void 0!==i.liveMaxLatencyDuration&&(i.liveMaxLatencyDuration<=i.liveSyncDuration||void 0===i.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be gt "liveSyncDuration"');(0,k.enableLogs)(i.debug),this.config=i,this._autoLevelCapping=-1;var o=this.observer=new S.default;o.trigger=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];o.emit.apply(o,[t,t].concat(i))},o.off=function(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];o.removeListener.apply(o,[t].concat(i))},this.on=o.on.bind(o),this.off=o.off.bind(o),this.trigger=o.trigger.bind(o);var s=this.abrController=new i.abrController(this),l=new i.bufferController(this),u=new i.capLevelController(this),d=new i.fpsController(this),c=new f.default(this),h=new p.default(this),g=new y.default(this),v=new T.default(this),b=this.levelController=new _.default(this),E=this.streamController=new m.default(this),A=[b,E],L=i.audioStreamController;L&&A.push(new L(this)),this.networkControllers=A;var R=[c,h,g,s,l,u,d,v];if(L=i.audioTrackController){var w=new L(this);this.audioTrackController=w,R.push(w)}if(L=i.subtitleTrackController){var C=new L(this);this.subtitleTrackController=C,R.push(C)}[i.subtitleStreamController,i.timelineController].forEach(function(t){t&&R.push(new t(e))}),this.coreComponents=R}return a(t,null,[{key:"isSupported",value:function(){var t=window.MediaSource=window.MediaSource||window.WebKitMediaSource,e=window.SourceBuffer=window.SourceBuffer||window.WebKitSourceBuffer,i=t&&"function"==typeof t.isTypeSupported&&t.isTypeSupported('video/mp4; codecs="avc1.42E01E,mp4a.40.2"'),r=!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove;return i&&r}},{key:"version",get:function(){return"0.7.9"}},{key:"Events",get:function(){return u.default}},{key:"ErrorTypes",get:function(){return d.ErrorTypes}},{key:"ErrorDetails",get:function(){return d.ErrorDetails}},{key:"DefaultConfig",get:function(){return t.defaultConfig?t.defaultConfig:L.hlsDefaultConfig},set:function(e){t.defaultConfig=e}}]),a(t,[{key:"destroy",value:function(){k.logger.log("destroy"),this.trigger(u.default.DESTROYING),this.detachMedia(),this.coreComponents.concat(this.networkControllers).forEach(function(t){t.destroy()}),this.url=null,this.observer.removeAllListeners(),this._autoLevelCapping=-1}},{key:"attachMedia",value:function(t){k.logger.log("attachMedia"),this.media=t,this.trigger(u.default.MEDIA_ATTACHING,{media:t})}},{key:"detachMedia",value:function(){k.logger.log("detachMedia"),this.trigger(u.default.MEDIA_DETACHING),this.media=null}},{key:"loadSource",value:function(t){t=s.default.buildAbsoluteURL(window.location.href,t,{alwaysNormalize:!0}),k.logger.log("loadSource:"+t),this.url=t,this.trigger(u.default.MANIFEST_LOADING,{url:t})}},{key:"startLoad",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:-1;k.logger.log("startLoad("+t+")"),this.networkControllers.forEach(function(e){e.startLoad(t)})}},{key:"stopLoad",value:function(){k.logger.log("stopLoad"),this.networkControllers.forEach(function(t){t.stopLoad()})}},{key:"swapAudioCodec",value:function(){k.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}},{key:"recoverMediaError",value:function(){k.logger.log("recoverMediaError");var t=this.media;this.detachMedia(),this.attachMedia(t)}},{key:"levels",get:function(){return this.levelController.levels}},{key:"currentLevel",get:function(){return this.streamController.currentLevel},set:function(t){k.logger.log("set currentLevel:"+t),this.loadLevel=t,this.streamController.immediateLevelSwitch()}},{key:"nextLevel",get:function(){return this.streamController.nextLevel},set:function(t){k.logger.log("set nextLevel:"+t),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch()}},{key:"loadLevel",get:function(){return this.levelController.level},set:function(t){k.logger.log("set loadLevel:"+t),this.levelController.manualLevel=t}},{key:"nextLoadLevel",get:function(){return this.levelController.nextLoadLevel},set:function(t){this.levelController.nextLoadLevel=t}},{key:"firstLevel",get:function(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)},set:function(t){k.logger.log("set firstLevel:"+t),this.levelController.firstLevel=t}},{key:"startLevel",get:function(){return this.levelController.startLevel},set:function(t){k.logger.log("set startLevel:"+t);var e=this;-1!==t&&(t=Math.max(t,e.minAutoLevel)),e.levelController.startLevel=t}},{key:"autoLevelCapping",get:function(){return this._autoLevelCapping},set:function(t){k.logger.log("set autoLevelCapping:"+t),this._autoLevelCapping=t}},{key:"autoLevelEnabled",get:function(){return-1===this.levelController.manualLevel}},{key:"manualLevel",get:function(){return this.levelController.manualLevel}},{key:"minAutoLevel",get:function(){for(var t=this,e=t.levels,i=t.config.minAutoBitrate,r=e?e.length:0,n=0;n<r;n++){if((e[n].realBitrate?Math.max(e[n].realBitrate,e[n].bitrate):e[n].bitrate)>i)return n}return 0}},{key:"maxAutoLevel",get:function(){var t=this,e=t.levels,i=t.autoLevelCapping;return-1===i&&e&&e.length?e.length-1:i}},{key:"nextAutoLevel",get:function(){var t=this;return Math.min(Math.max(t.abrController.nextAutoLevel,t.minAutoLevel),t.maxAutoLevel)},set:function(t){var e=this;e.abrController.nextAutoLevel=Math.max(e.minAutoLevel,t)}},{key:"audioTracks",get:function(){var t=this.audioTrackController;return t?t.audioTracks:[]}},{key:"audioTrack",get:function(){var t=this.audioTrackController;return t?t.audioTrack:-1},set:function(t){var e=this.audioTrackController;e&&(e.audioTrack=t)}},{key:"liveSyncPosition",get:function(){return this.streamController.liveSyncPosition}},{key:"subtitleTracks",get:function(){var t=this.subtitleTrackController;return t?t.subtitleTracks:[]}},{key:"subtitleTrack",get:function(){var t=this.subtitleTrackController;return t?t.subtitleTrack:-1},set:function(t){var e=this.subtitleTrackController;e&&(e.subtitleTrack=t)}}]),t}();i.default=R},{1:1,11:11,12:12,13:13,2:2,33:33,35:35,4:4,41:41,42:42,43:43,53:53}],40:[function(t,e,i){"use strict";e.exports=t(39).default},{39:39}],41:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(33),h=t(53),p=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.FRAG_LOADING));return i.loaders={},i}return o(e,t),s(e,[{key:"destroy",value:function(){var t=this.loaders;for(var e in t){var i=t[e];i&&i.destroy()}this.loaders={},c.default.prototype.destroy.call(this)}},{key:"onFragLoading",value:function(t){var e=t.frag,i=e.type,r=this.loaders[i],n=this.hls.config;e.loaded=0,r&&(h.logger.warn("abort previous fragment loader for type:"+i),r.abort()),r=this.loaders[i]=e.loader=void 0!==n.fLoader?new n.fLoader(n):new n.loader(n);var a=void 0,o=void 0,s=void 0;a={url:e.url,frag:e,responseType:"arraybuffer",progressData:!1};var l=e.byteRangeStartOffset,u=e.byteRangeEndOffset;isNaN(l)||isNaN(u)||(a.rangeStart=l,a.rangeEnd=u),o={timeout:n.fragLoadingTimeOut,maxRetry:0,retryDelay:0,maxRetryDelay:n.fragLoadingMaxRetryTimeout},s={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this),onProgress:this.loadprogress.bind(this)},r.load(a,o,s)}},{key:"loadsuccess",value:function(t,e,i){var r=t.data,n=i.frag;n.loader=void 0,this.loaders[n.type]=void 0,this.hls.trigger(u.default.FRAG_LOADED,{payload:r,frag:n,stats:e})}},{key:"loaderror",value:function(t,e){var i=e.loader;i&&i.abort(),this.loaders[e.type]=void 0,this.hls.trigger(u.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.FRAG_LOAD_ERROR,fatal:!1,frag:e.frag,response:t})}},{key:"loadtimeout",value:function(t,e){var i=e.loader;i&&i.abort(),this.loaders[e.type]=void 0,this.hls.trigger(u.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e.frag})}},{key:"loadprogress",value:function(t,e,i){var r=e.frag;r.loaded=t.loaded,this.hls.trigger(u.default.FRAG_LOAD_PROGRESS,{frag:r,stats:t})}}]),e}(c.default);i.default=p},{33:33,34:34,35:35,53:53}],42:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(35),u=r(l),d=t(34),c=r(d),f=t(33),h=t(53),p=function(t){function e(t){n(this,e);var i=a(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,u.default.KEY_LOADING));return i.loaders={},i.decryptkey=null,i.decrypturl=null,i}return o(e,t),s(e,[{key:"destroy",value:function(){for(var t in this.loaders){var e=this.loaders[t];e&&e.destroy()}this.loaders={},c.default.prototype.destroy.call(this)}},{key:"onKeyLoading",value:function(t){var e=t.frag,i=e.type,r=this.loaders[i],n=e.decryptdata,a=n.uri;if(a!==this.decrypturl||null===this.decryptkey){var o=this.hls.config;r&&(h.logger.warn("abort previous key loader for type:"+i),r.abort()),e.loader=this.loaders[i]=new o.loader(o),this.decrypturl=a,this.decryptkey=null;var s=void 0,l=void 0,d=void 0;s={url:a,frag:e,responseType:"arraybuffer"},l={timeout:o.fragLoadingTimeOut,maxRetry:o.fragLoadingMaxRetry,retryDelay:o.fragLoadingRetryDelay,maxRetryDelay:o.fragLoadingMaxRetryTimeout},d={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)},e.loader.load(s,l,d)}else this.decryptkey&&(n.key=this.decryptkey,this.hls.trigger(u.default.KEY_LOADED,{frag:e}))}},{key:"loadsuccess",value:function(t,e,i){var r=i.frag;this.decryptkey=r.decryptdata.key=new Uint8Array(t.data),r.loader=void 0,this.loaders[r.type]=void 0,this.hls.trigger(u.default.KEY_LOADED,{frag:r})}},{key:"loaderror",value:function(t,e){var i=e.frag,r=i.loader;r&&r.abort(),this.loaders[e.type]=void 0,this.hls.trigger(u.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_ERROR,fatal:!1,frag:i,response:t})}},{key:"loadtimeout",value:function(t,e){var i=e.frag,r=i.loader;r&&r.abort(),this.loaders[e.type]=void 0,this.hls.trigger(u.default.ERROR,{type:f.ErrorTypes.NETWORK_ERROR,details:f.ErrorDetails.KEY_LOAD_TIMEOUT,fatal:!1,frag:i})}}]),e}(c.default);i.default=p},{33:33,34:34,35:35,53:53}],43:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function o(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),l=t(2),u=r(l),d=t(35),c=r(d),f=t(34),h=r(f),p=t(33),g=t(47),y=r(g),v=t(53),m=/#EXT-X-STREAM-INF:([^\n\r]*)[\r\n]+([^\r\n]+)/g,b=/#EXT-X-MEDIA:(.*)/g,_=/#EXTINF:(\d*(?:\.\d+)?)(?:,(.*))?|(?!#)(\S.+)|#EXT-X-BYTERANGE: *(.+)|#EXT-X-PROGRAM-DATE-TIME:(.+)|#.*/g,E=/(?:(?:#(EXTM3U))|(?:#EXT-X-(PLAYLIST-TYPE):(.+))|(?:#EXT-X-(MEDIA-SEQUENCE): *(\d+))|(?:#EXT-X-(TARGETDURATION): *(\d+))|(?:#EXT-X-(KEY):(.+))|(?:#EXT-X-(START):(.+))|(?:#EXT-X-(ENDLIST))|(?:#EXT-X-(DISCONTINUITY-SEQ)UENCE:(\d+))|(?:#EXT-X-(DIS)CONTINUITY))|(?:#EXT-X-(VERSION):(\d+))|(?:#EXT-X-(MAP):(.+))|(?:(#)(.*):(.*))|(?:(#)(.*))(?:.*)\r?\n?/,T=function(){function t(){o(this,t),this.method=null,this.key=null,this.iv=null,this._uri=null}return s(t,[{key:"uri",get:function(){return!this._uri&&this.reluri&&(this._uri=u.default.buildAbsoluteURL(this.baseuri,this.reluri,{alwaysNormalize:!0})),this._uri}}]),t}(),k=function(){function t(){o(this,t),this._url=null,this._byteRange=null,this._decryptdata=null,this.tagList=[]}return s(t,[{key:"createInitializationVector",value:function(t){for(var e=new Uint8Array(16),i=12;i<16;i++)e[i]=t>>8*(15-i)&255;return e}},{key:"fragmentDecryptdataFromLevelkey",value:function(t,e){var i=t;return t&&t.method&&t.uri&&!t.iv&&(i=new T,i.method=t.method,i.baseuri=t.baseuri,i.reluri=t.reluri,i.iv=this.createInitializationVector(e)),i}},{key:"cloneObj",value:function(t){return JSON.parse(JSON.stringify(t))}},{key:"url",get:function(){return!this._url&&this.relurl&&(this._url=u.default.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url},set:function(t){this._url=t}},{key:"programDateTime",get:function(){return!this._programDateTime&&this.rawProgramDateTime&&(this._programDateTime=new Date(Date.parse(this.rawProgramDateTime))),this._programDateTime}},{key:"byteRange",get:function(){if(!this._byteRange){var t=this._byteRange=[];if(this.rawByteRange){var e=this.rawByteRange.split("@",2);if(1===e.length){var i=this.lastByteRangeEndOffset;t[0]=i||0}else t[0]=parseInt(e[1]);t[1]=parseInt(e[0])+t[0]}}return this._byteRange}},{key:"byteRangeStartOffset",get:function(){return this.byteRange[0]}},{key:"byteRangeEndOffset",get:function(){return this.byteRange[1]}},{key:"decryptdata",get:function(){return this._decryptdata||(this._decryptdata=this.fragmentDecryptdataFromLevelkey(this.levelkey,this.sn)),this._decryptdata}}]),t}(),A=function(t){function e(t){o(this,e);var i=n(this,(e.__proto__||Object.getPrototypeOf(e)).call(this,t,c.default.MANIFEST_LOADING,c.default.LEVEL_LOADING,c.default.AUDIO_TRACK_LOADING,c.default.SUBTITLE_TRACK_LOADING));return i.loaders={},i}return a(e,t),s(e,[{key:"destroy",value:function(){for(var t in this.loaders){var e=this.loaders[t];e&&e.destroy()}this.loaders={},h.default.prototype.destroy.call(this)}},{key:"onManifestLoading",value:function(t){this.load(t.url,{type:"manifest"})}},{key:"onLevelLoading",value:function(t){this.load(t.url,{type:"level",level:t.level,id:t.id})}},{key:"onAudioTrackLoading",value:function(t){this.load(t.url,{type:"audioTrack",id:t.id})}},{key:"onSubtitleTrackLoading",value:function(t){this.load(t.url,{type:"subtitleTrack",id:t.id})}},{key:"load",value:function(t,e){var i=this.loaders[e.type];if(i){var r=i.context;if(r&&r.url===t)return void v.logger.trace("playlist request ongoing");v.logger.warn("abort previous loader for type:"+e.type),i.abort()}var n=this.hls.config,a=void 0,o=void 0,s=void 0,l=void 0;"manifest"===e.type?(a=n.manifestLoadingMaxRetry,o=n.manifestLoadingTimeOut,s=n.manifestLoadingRetryDelay,l=n.manifestLoadingMaxRetryTimeout):(a=n.levelLoadingMaxRetry,o=n.levelLoadingTimeOut,s=n.levelLoadingRetryDelay,l=n.levelLoadingMaxRetryTimeout,v.logger.log("loading playlist for "+e.type+" "+(e.level||e.id))),i=this.loaders[e.type]=e.loader=void 0!==n.pLoader?new n.pLoader(n):new n.loader(n),e.url=t,e.responseType="";var u=void 0,d=void 0;u={timeout:o,maxRetry:a,retryDelay:s,maxRetryDelay:l},d={onSuccess:this.loadsuccess.bind(this),onError:this.loaderror.bind(this),onTimeout:this.loadtimeout.bind(this)},i.load(e,u,d)}},{key:"resolve",value:function(t,e){return u.default.buildAbsoluteURL(e,t,{alwaysNormalize:!0})}},{key:"parseMasterPlaylist",value:function(t,e){var i=[],r=void 0;for(m.lastIndex=0;null!=(r=m.exec(t));){var n={},a=n.attrs=new y.default(r[1]);n.url=this.resolve(r[2],e);var o=a.decimalResolution("RESOLUTION");o&&(n.width=o.width,n.height=o.height),n.bitrate=a.decimalInteger("AVERAGE-BANDWIDTH")||a.decimalInteger("BANDWIDTH"),n.name=a.NAME;var s=a.CODECS;if(s){s=s.split(/[ ,]+/);for(var l=0;l<s.length;l++){var u=s[l];-1!==u.indexOf("avc1")?n.videoCodec=this.avc1toavcoti(u):n.audioCodec=u}}i.push(n)}return i}},{key:"parseMasterPlaylistMedia",value:function(t,e,i){var r=void 0,n=[],a=0;for(b.lastIndex=0;null!=(r=b.exec(t));){var o={},s=new y.default(r[1]);s.TYPE===i&&(o.groupId=s["GROUP-ID"],o.name=s.NAME,o.type=i,o.default="YES"===s.DEFAULT,o.autoselect="YES"===s.AUTOSELECT,o.forced="YES"===s.FORCED,s.URI&&(o.url=this.resolve(s.URI,e)),o.lang=s.LANGUAGE,o.name||(o.name=o.lang),o.id=a++,n.push(o))}return n}},{key:"avc1toavcoti",value:function(t){var e,i=t.split(".");return i.length>2?(e=i.shift()+".",e+=parseInt(i.shift()).toString(16),e+=("000"+parseInt(i.shift()).toString(16)).substr(-4)):e=t,e}},{key:"parseLevelPlaylist",value:function(t,e,i,r){var n,a,o=0,s=0,l={type:null,version:null,url:e,fragments:[],live:!0,startSN:0},u=new T,d=0,c=null,f=new k;for(_.lastIndex=0;null!==(n=_.exec(t));){var h=n[1];if(h){f.duration=parseFloat(h);var p=(" "+n[2]).slice(1);f.title=p||null,f.tagList.push(p?["INF",h,p]:["INF",h])}else if(n[3]){if(!isNaN(f.duration)){var g=o++;f.type=r,f.start=s,f.levelkey=u,f.sn=g,f.level=i,f.cc=d,f.baseurl=e,f.relurl=(" "+n[3]).slice(1),l.fragments.push(f),c=f,s+=f.duration,f=new k}}else if(n[4]){if(f.rawByteRange=(" "+n[4]).slice(1),c){var m=c.byteRangeEndOffset;m&&(f.lastByteRangeEndOffset=m)}}else if(n[5])f.rawProgramDateTime=(" "+n[5]).slice(1),f.tagList.push(["PROGRAM-DATE-TIME",f.rawProgramDateTime]);else{for(n=n[0].match(E),a=1;a<n.length&&void 0===n[a];a++);var b=(" "+n[a+1]).slice(1),A=(" "+n[a+2]).slice(1);switch(n[a]){case"#":f.tagList.push(A?[b,A]:[b]);break;case"PLAYLIST-TYPE":l.type=b.toUpperCase();break;case"MEDIA-SEQUENCE":o=l.startSN=parseInt(b);break;case"TARGETDURATION":l.targetduration=parseFloat(b);break;case"VERSION":l.version=parseInt(b);break;case"EXTM3U":break;case"ENDLIST":l.live=!1;break;case"DIS":d++,f.tagList.push(["DIS"]);break;case"DISCONTINUITY-SEQ":d=parseInt(b);break;case"KEY":var S=b,L=new y.default(S),R=L.enumeratedString("METHOD"),w=L.URI,C=L.hexadecimalInteger("IV");R&&(u=new T,w&&["AES-128","SAMPLE-AES"].indexOf(R)>=0&&(u.method=R,u.baseuri=e,u.reluri=w,u.key=null,u.iv=C));break;case"START":var O=b,D=new y.default(O),P=D.decimalFloatingPoint("TIME-OFFSET");isNaN(P)||(l.startTimeOffset=P);break;case"MAP":var I=new y.default(b);f.relurl=I.URI,f.rawByteRange=I.BYTERANGE,f.baseurl=e,f.level=i,f.type=r,f.sn="initSegment",l.initSegment=f,f=new k;break;default:v.logger.warn("line parsed but not handled: "+n)}}}return f=c,f&&!f.relurl&&(l.fragments.pop(),s-=f.duration),l.totalduration=s,l.averagetargetduration=s/l.fragments.length,l.endSN=o-1,l}},{key:"loadsuccess",value:function(t,e,i){var r=t.data,n=t.url,a=i.type,o=i.id,s=i.level,l=this.hls;if(this.loaders[a]=void 0,void 0!==n&&0!==n.indexOf("data:")||(n=i.url),e.tload=performance.now(),0===r.indexOf("#EXTM3U"))if(r.indexOf("#EXTINF:")>0){var u="audioTrack"!==a&&"subtitleTrack"!==a,d=isNaN(s)?isNaN(o)?0:o:s,f=this.parseLevelPlaylist(r,n,d,"audioTrack"===a?"audio":"subtitleTrack"===a?"subtitle":"main");f.tload=e.tload,"manifest"===a&&l.trigger(c.default.MANIFEST_LOADED,{levels:[{url:n,details:f}],audioTracks:[],url:n,stats:e}),e.tparsed=performance.now(),f.targetduration?u?l.trigger(c.default.LEVEL_LOADED,{details:f,level:s||0,id:o||0,stats:e}):"audioTrack"===a?l.trigger(c.default.AUDIO_TRACK_LOADED,{details:f,id:o,stats:e}):"subtitleTrack"===a&&l.trigger(c.default.SUBTITLE_TRACK_LOADED,{details:f,id:o,stats:e}):l.trigger(c.default.ERROR,{type:p.ErrorTypes.NETWORK_ERROR,details:p.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:n,reason:"invalid targetduration"})}else{var h=this.parseMasterPlaylist(r,n);if(h.length){var g=this.parseMasterPlaylistMedia(r,n,"AUDIO"),y=this.parseMasterPlaylistMedia(r,n,"SUBTITLES");if(g.length){var m=!1;g.forEach(function(t){t.url||(m=!0)}),!1===m&&h[0].audioCodec&&!h[0].attrs.AUDIO&&(v.logger.log("audio codec signaled in quality level, but no embedded audio track signaled, create one"),g.unshift({type:"main",name:"main"}))}l.trigger(c.default.MANIFEST_LOADED,{levels:h,audioTracks:g,subtitles:y,url:n,stats:e})}else l.trigger(c.default.ERROR,{type:p.ErrorTypes.NETWORK_ERROR,details:p.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:n,reason:"no level found in manifest"})}else l.trigger(c.default.ERROR,{type:p.ErrorTypes.NETWORK_ERROR,details:p.ErrorDetails.MANIFEST_PARSING_ERROR,fatal:!0,url:n,reason:"no EXTM3U delimiter"})}},{key:"loaderror",value:function(t,e){var i,r,n=e.loader;switch(e.type){case"manifest":i=p.ErrorDetails.MANIFEST_LOAD_ERROR,r=!0;break;case"level":i=p.ErrorDetails.LEVEL_LOAD_ERROR,r=!1;break;case"audioTrack":i=p.ErrorDetails.AUDIO_TRACK_LOAD_ERROR,r=!1}n&&(n.abort(),this.loaders[e.type]=void 0),this.hls.trigger(c.default.ERROR,{type:p.ErrorTypes.NETWORK_ERROR,details:i,fatal:r,url:n.url,loader:n,response:t,context:e})}},{key:"loadtimeout",value:function(t,e){var i,r,n=e.loader;switch(e.type){case"manifest":i=p.ErrorDetails.MANIFEST_LOAD_TIMEOUT,r=!0;break;case"level":i=p.ErrorDetails.LEVEL_LOAD_TIMEOUT,r=!1;break;case"audioTrack":i=p.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT,r=!1}n&&(n.abort(),this.loaders[e.type]=void 0),this.hls.trigger(c.default.ERROR,{type:p.ErrorTypes.NETWORK_ERROR,details:i,fatal:r,url:n.url,loader:n,context:e})}}]),e}(h.default);i.default=A},{2:2,33:33,34:34,35:35,47:47,53:53}],44:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=Math.pow(2,32)-1,o=function(){function t(){r(this,t)}return n(t,null,[{key:"init",value:function(){t.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};var e;for(e in t.types)t.types.hasOwnProperty(e)&&(t.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);var i=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),r=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]);t.HDLR_TYPES={video:i,audio:r};var n=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),a=new Uint8Array([0,0,0,0,0,0,0,0]);t.STTS=t.STSC=t.STCO=a,t.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),t.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),t.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),t.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);var o=new Uint8Array([105,115,111,109]),s=new Uint8Array([97,118,99,49]),l=new Uint8Array([0,0,0,1]);t.FTYP=t.box(t.types.ftyp,o,l,o,s),t.DINF=t.box(t.types.dinf,t.box(t.types.dref,n))}},{key:"box",value:function(t){for(var e,i=Array.prototype.slice.call(arguments,1),r=8,n=i.length,a=n;n--;)r+=i[n].byteLength;for(e=new Uint8Array(r),e[0]=r>>24&255,e[1]=r>>16&255,e[2]=r>>8&255,e[3]=255&r,e.set(t,4),n=0,r=8;n<a;n++)e.set(i[n],r),r+=i[n].byteLength;return e}},{key:"hdlr",value:function(e){return t.box(t.types.hdlr,t.HDLR_TYPES[e])}},{key:"mdat",value:function(e){return t.box(t.types.mdat,e)}},{key:"mdhd",value:function(e,i){i*=e;var r=Math.floor(i/(a+1)),n=Math.floor(i%(a+1));return t.box(t.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n,85,196,0,0]))}},{key:"mdia",value:function(e){return t.box(t.types.mdia,t.mdhd(e.timescale,e.duration),t.hdlr(e.type),t.minf(e))}},{key:"mfhd",value:function(e){return t.box(t.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}},{key:"minf",value:function(e){return"audio"===e.type?t.box(t.types.minf,t.box(t.types.smhd,t.SMHD),t.DINF,t.stbl(e)):t.box(t.types.minf,t.box(t.types.vmhd,t.VMHD),t.DINF,t.stbl(e))}},{key:"moof",value:function(e,i,r){return t.box(t.types.moof,t.mfhd(e),t.traf(r,i))}},{key:"moov",value:function(e){for(var i=e.length,r=[];i--;)r[i]=t.trak(e[i]);return t.box.apply(null,[t.types.moov,t.mvhd(e[0].timescale,e[0].duration)].concat(r).concat(t.mvex(e)))}},{key:"mvex",value:function(e){for(var i=e.length,r=[];i--;)r[i]=t.trex(e[i]);return t.box.apply(null,[t.types.mvex].concat(r))}},{key:"mvhd",value:function(e,i){i*=e;var r=Math.floor(i/(a+1)),n=Math.floor(i%(a+1)),o=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,r>>24,r>>16&255,r>>8&255,255&r,n>>24,n>>16&255,n>>8&255,255&n,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return t.box(t.types.mvhd,o)}},{key:"sdtp",value:function(e){var i,r,n=e.samples||[],a=new Uint8Array(4+n.length);for(r=0;r<n.length;r++)i=n[r].flags,a[r+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return t.box(t.types.sdtp,a)}},{key:"stbl",value:function(e){return t.box(t.types.stbl,t.stsd(e),t.box(t.types.stts,t.STTS),t.box(t.types.stsc,t.STSC),t.box(t.types.stsz,t.STSZ),t.box(t.types.stco,t.STCO))}},{key:"avc1",value:function(e){var i,r,n,a=[],o=[];for(i=0;i<e.sps.length;i++)r=e.sps[i],n=r.byteLength,a.push(n>>>8&255),a.push(255&n),a=a.concat(Array.prototype.slice.call(r));for(i=0;i<e.pps.length;i++)r=e.pps[i],n=r.byteLength,o.push(n>>>8&255),o.push(255&n),o=o.concat(Array.prototype.slice.call(r));var s=t.box(t.types.avcC,new Uint8Array([1,a[3],a[4],a[5],255,224|e.sps.length].concat(a).concat([e.pps.length]).concat(o))),l=e.width,u=e.height,d=e.pixelRatio[0],c=e.pixelRatio[1];return t.box(t.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,u>>8&255,255&u,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),s,t.box(t.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),t.box(t.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,c>>24,c>>16&255,c>>8&255,255&c])))}},{key:"esds",value:function(t){var e=t.config.length;return new Uint8Array([0,0,0,0,3,23+e,0,1,0,4,15+e,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([e]).concat(t.config).concat([6,1,2]))}},{key:"mp4a",value:function(e){var i=e.samplerate;return t.box(t.types.mp4a,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,i>>8&255,255&i,0,0]),t.box(t.types.esds,t.esds(e)))}},{key:"mp3",value:function(e){var i=e.samplerate;return t.box(t.types[".mp3"],new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount,0,16,0,0,0,0,i>>8&255,255&i,0,0]))}},{key:"stsd",value:function(e){return"audio"===e.type?e.isAAC||"mp3"!==e.codec?t.box(t.types.stsd,t.STSD,t.mp4a(e)):t.box(t.types.stsd,t.STSD,t.mp3(e)):t.box(t.types.stsd,t.STSD,t.avc1(e))}},{key:"tkhd",value:function(e){var i=e.id,r=e.duration*e.timescale,n=e.width,o=e.height,s=Math.floor(r/(a+1)),l=Math.floor(r%(a+1));return t.box(t.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,i>>24&255,i>>16&255,i>>8&255,255&i,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,l>>24,l>>16&255,l>>8&255,255&l,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,n>>8&255,255&n,0,0,o>>8&255,255&o,0,0]))}},{key:"traf",value:function(e,i){var r=t.sdtp(e),n=e.id,o=Math.floor(i/(a+1)),s=Math.floor(i%(a+1));return t.box(t.types.traf,t.box(t.types.tfhd,new Uint8Array([0,0,0,0,n>>24,n>>16&255,n>>8&255,255&n])),t.box(t.types.tfdt,new Uint8Array([1,0,0,0,o>>24,o>>16&255,o>>8&255,255&o,s>>24,s>>16&255,s>>8&255,255&s])),t.trun(e,r.length+16+20+8+16+8+8),r)}},{key:"trak",value:function(e){return e.duration=e.duration||4294967295,t.box(t.types.trak,t.tkhd(e),t.mdia(e))}},{key:"trex",value:function(e){var i=e.id;return t.box(t.types.trex,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,255&i,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}},{key:"trun",value:function(e,i){var r,n,a,o,s,l,u=e.samples||[],d=u.length,c=12+16*d,f=new Uint8Array(c);for(i+=8+c,f.set([0,0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,i>>>24&255,i>>>16&255,i>>>8&255,255&i],0),r=0;r<d;r++)n=u[r],a=n.duration,o=n.size,s=n.flags,l=n.cts,f.set([a>>>24&255,a>>>16&255,a>>>8&255,255&a,o>>>24&255,o>>>16&255,o>>>8&255,255&o,s.isLeading<<2|s.dependsOn,s.isDependedOn<<6|s.hasRedundancy<<4|s.paddingValue<<1|s.isNonSync,61440&s.degradPrio,15&s.degradPrio,l>>>24&255,l>>>16&255,l>>>8&255,255&l],12+16*r);return t.box(t.types.trun,f)}},{key:"initSegment",value:function(e){t.types||t.init();var i,r=t.moov(e);return i=new Uint8Array(t.FTYP.byteLength+r.byteLength),i.set(t.FTYP),i.set(r,t.FTYP.byteLength),i}}]),t}();i.default=o},{}],45:[function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}function n(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),o=t(36),s=r(o),l=t(35),u=r(l),d=t(53),c=t(44),f=r(c),h=t(33),p=function(){function t(e,i,r,a){n(this,t),this.observer=e,this.config=i,this.typeSupported=r;var o=navigator.userAgent;this.isSafari=a&&a.indexOf("Apple")>-1&&o&&!o.match("CriOS"),this.ISGenerated=!1}return a(t,[{key:"destroy",value:function(){}},{key:"resetTimeStamp",value:function(t){this._initPTS=this._initDTS=t}},{key:"resetInitSegment",value:function(){this.ISGenerated=!1}},{key:"remux",value:function(t,e,i,r,n,a,o){if(this.ISGenerated||this.generateIS(t,e,n),this.ISGenerated)if(t.samples.length){t.timescale||(d.logger.warn("regenerate InitSegment as audio detected"),this.generateIS(t,e,n));var s=this.remuxAudio(t,n,a,o);if(e.samples.length){var l=void 0;s&&(l=s.endPTS-s.startPTS),e.timescale||(d.logger.warn("regenerate InitSegment as video detected"),this.generateIS(t,e,n)),this.remuxVideo(e,n,a,l,o)}}else{var c=void 0;e.samples.length&&(c=this.remuxVideo(e,n,a,o)),c&&t.codec&&this.remuxEmptyAudio(t,n,a,c)}i.samples.length&&this.remuxID3(i,n),r.samples.length&&this.remuxText(r,n),this.observer.trigger(u.default.FRAG_PARSED)}},{key:"generateIS",value:function(t,e,i){var r,n,a=this.observer,o=t.samples,s=e.samples,l=this.typeSupported,c="audio/mp4",p={},g={tracks:p},y=void 0===this._initPTS;if(y&&(r=n=1/0),t.config&&o.length&&(t.timescale=t.samplerate,d.logger.log("audio sampling rate : "+t.samplerate),t.isAAC||(l.mpeg?(c="audio/mpeg",t.codec=""):l.mp3&&(t.codec="mp3")),p.audio={container:c,codec:t.codec,initSegment:!t.isAAC&&l.mpeg?new Uint8Array:f.default.initSegment([t]),metadata:{channelCount:t.channelCount}},y&&(r=n=o[0].pts-t.inputTimeScale*i)),e.sps&&e.pps&&s.length){var v=e.inputTimeScale;e.timescale=v,p.video={container:"video/mp4",codec:e.codec,initSegment:f.default.initSegment([e]),metadata:{width:e.width,height:e.height}},y&&(r=Math.min(r,s[0].pts-v*i),n=Math.min(n,s[0].dts-v*i),this.observer.trigger(u.default.INIT_PTS_FOUND,{initPTS:r}))}Object.keys(p).length?(a.trigger(u.default.FRAG_PARSING_INIT_SEGMENT,g),this.ISGenerated=!0,y&&(this._initPTS=r,this._initDTS=n)):a.trigger(u.default.ERROR,{type:h.ErrorTypes.MEDIA_ERROR,details:h.ErrorDetails.FRAG_PARSING_ERROR,fatal:!1,reason:"no audio/video samples found"})}},{key:"remuxVideo",value:function(t,e,i,r,n){var a,o,s,l,c,p,g,y=8,v=t.timescale,m=t.samples,b=[],_=m.length,E=this._PTSNormalize,T=this._initDTS,k=this.nextAvcDts,A=this.isSafari;A&&(i|=m.length&&k&&(n&&Math.abs(e-k/v)<.1||Math.abs(m[0].pts-k-T)<v/5)),i||(k=e*v),m.forEach(function(t){t.pts=E(t.pts-T,k),t.dts=E(t.dts-T,k)}),m.sort(function(t,e){var i=t.dts-e.dts,r=t.pts-e.pts;return i||(r||t.id-e.id)});var S=m.reduce(function(t,e){return Math.max(Math.min(t,e.pts-e.dts),-18e3)},0);if(S<0){d.logger.warn("PTS < DTS detected in video samples, shifting DTS by "+Math.round(S/90)+" ms to overcome this issue");for(var L=0;L<m.length;L++)m[L].dts+=S}var R=m[0];c=Math.max(R.dts,0),l=Math.max(R.pts,0);var w=Math.round((c-k)/90);i&&w&&(w>1?d.logger.log("AVC:"+w+" ms hole between fragments detected,filling it"):w<-1&&d.logger.log("AVC:"+-w+" ms overlapping between fragments detected"),c=k,m[0].dts=c,l=Math.max(l-w,k),m[0].pts=l,d.logger.log("Video/PTS/DTS adjusted: "+Math.round(l/90)+"/"+Math.round(c/90)+",delta:"+w+" ms")),R=m[m.length-1],g=Math.max(R.dts,0),p=Math.max(R.pts,0,g),A&&(a=Math.round((g-c)/(m.length-1)));for(var C=0,O=0,D=0;D<_;D++){for(var P=m[D],I=P.units,x=I.length,N=0,M=0;M<x;M++)N+=I[M].data.length;O+=N,C+=x,P.length=N,P.dts=A?c+D*a:Math.max(P.dts,c),P.pts=Math.max(P.pts,P.dts)}var F=O+4*C+8;try{o=new Uint8Array(F)}catch(t){return void this.observer.trigger(u.default.ERROR,{type:h.ErrorTypes.MUX_ERROR,details:h.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:F,reason:"fail allocating video mdat "+F})}var B=new DataView(o.buffer);B.setUint32(0,F),o.set(f.default.types.mdat,4);for(var U=0;U<_;U++){for(var G=m[U],j=G.units,V=0,K=void 0,Y=0,H=j.length;Y<H;Y++){var $=j[Y],z=$.data,W=$.data.byteLength;B.setUint32(y,W),y+=4,o.set(z,y),y+=W,V+=4+W}if(A)K=Math.max(0,a*Math.round((G.pts-G.dts)/a));else{if(U<_-1)a=m[U+1].dts-G.dts;else{var q=this.config,X=G.dts-m[U>0?U-1:U].dts;if(q.stretchShortVideoTrack){var Z=q.maxBufferHole,J=q.maxSeekHole,Q=Math.floor(Math.min(Z,J)*v),tt=(r?l+r*v:this.nextAudioPts)-G.pts;tt>Q?(a=tt-X,a<0&&(a=X),d.logger.log("It is approximately "+tt/90+" ms to the next segment; using duration "+a/90+" ms for the last video frame.")):a=X}else a=X}K=Math.round(G.pts-G.dts)}b.push({size:V,duration:a,cts:K,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:G.key?2:1,isNonSync:G.key?0:1}})}this.nextAvcDts=g+a;var et=t.dropped;if(t.len=0,t.nbNalu=0,t.dropped=0,b.length&&navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var it=b[0].flags;it.dependsOn=2,it.isNonSync=0}t.samples=b,s=f.default.moof(t.sequenceNumber++,c,t),t.samples=[];var rt={data1:s,data2:o,startPTS:l/v,endPTS:(p+a)/v,startDTS:c/v,endDTS:this.nextAvcDts/v,type:"video",nb:b.length,dropped:et};return this.observer.trigger(u.default.FRAG_PARSING_DATA,rt),rt}},{key:"remuxAudio",value:function(t,e,i,r){var n,a,o,l,c,p,g,y=t.inputTimeScale,v=t.timescale,m=y/v,b=t.isAAC?1024:1152,_=b*m,E=this._PTSNormalize,T=this._initDTS,k=!t.isAAC&&this.typeSupported.mpeg,A=t.samples,S=[],L=this.nextAudioPts;if(i|=A.length&&L&&(r&&Math.abs(e-L/y)<.1||Math.abs(A[0].pts-L-T)<20*_),i||(L=e*y),A.forEach(function(t){t.pts=t.dts=E(t.pts-T,L)}),A.sort(function(t,e){return t.pts-e.pts}),r&&t.isAAC)for(var R=0,w=L;R<A.length;){var C,O=A[R],D=O.pts;C=D-w;var P=Math.abs(1e3*C/y);if(C<=-_)d.logger.warn("Dropping 1 audio frame @ "+(w/y).toFixed(3)+"s due to "+P+" ms overlap."),A.splice(R,1),t.len-=O.unit.length;else if(C>=_&&P<1e4&&w){var I=Math.round(C/_);d.logger.warn("Injecting "+I+" audio frame @ "+(w/y).toFixed(3)+"s due to "+Math.round(1e3*C/y)+" ms gap.");for(var x=0;x<I;x++){var N=Math.max(w,0);o=s.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount),o||(d.logger.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),o=O.unit.subarray()),A.splice(R,0,{unit:o,pts:N,dts:N}),t.len+=o.length,w+=_,R++}O.pts=O.dts=w,w+=_,R++}else Math.abs(C),O.pts=O.dts=w,w+=_,R++}for(var M=0,F=A.length;M<F;M++){var B=A[M],U=B.unit,G=B.pts;if(void 0!==g)a.duration=Math.round((G-g)/m);else{var j=Math.round(1e3*(G-L)/y),V=0;if(i&&t.isAAC&&j){if(j>0&&j<1e4)V=Math.round((G-L)/_),d.logger.log(j+" ms hole between AAC samples detected,filling it"),V>0&&(o=s.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount),o||(o=U.subarray()),t.len+=V*o.length);else if(j<-12){d.logger.log("drop overlapping AAC sample, expected/parsed/delta:"+(L/y).toFixed(3)+"s/"+(G/y).toFixed(3)+"s/"+-j+"ms"),t.len-=U.byteLength;continue}G=L}if(p=Math.max(0,G),!(t.len>0))return;var K=k?t.len:t.len+8;n=k?0:8;try{l=new Uint8Array(K)}catch(t){return void this.observer.trigger(u.default.ERROR,{type:h.ErrorTypes.MUX_ERROR,details:h.ErrorDetails.REMUX_ALLOC_ERROR,fatal:!1,bytes:K,reason:"fail allocating audio mdat "+K})}if(!k){new DataView(l.buffer).setUint32(0,K),l.set(f.default.types.mdat,4)}for(var Y=0;Y<V;Y++)o=s.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount),o||(d.logger.log("Unable to get silent frame for given audio codec; duplicating this frame instead."),o=U.subarray()),l.set(o,n),n+=o.byteLength,a={size:o.byteLength,cts:0,duration:1024,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},S.push(a)}l.set(U,n);var H=U.byteLength;n+=H,a={size:H,cts:0,duration:0,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:1}},S.push(a),g=G}var $=0,z=S.length;if(z>=2&&($=S[z-2].duration,a.duration=$),z){this.nextAudioPts=L=g+m*$,t.len=0,t.samples=S,c=k?new Uint8Array:f.default.moof(t.sequenceNumber++,p/m,t),t.samples=[];var W=p/y,q=L/y,X={data1:c,data2:l,startPTS:W,endPTS:q,startDTS:W,endDTS:q,type:"audio",nb:z};return this.observer.trigger(u.default.FRAG_PARSING_DATA,X),X}return null}},{key:"remuxEmptyAudio",value:function(t,e,i,r){var n=t.inputTimeScale,a=t.samplerate?t.samplerate:n,o=n/a,l=this.nextAudioPts,u=(void 0!==l?l:r.startDTS*n)+this._initDTS,c=r.endDTS*n+this._initDTS,f=1024*o,h=Math.ceil((c-u)/f),p=s.default.getSilentFrame(t.manifestCodec||t.codec,t.channelCount);if(d.logger.warn("remux empty Audio"),!p)return void d.logger.trace("Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec!");for(var g=[],y=0;y<h;y++){var v=u+y*f;g.push({unit:p,pts:v,dts:v}),t.len+=p.length}t.samples=g,this.remuxAudio(t,e,i)}},{key:"remuxID3",value:function(t,e){var i,r=t.samples.length,n=t.inputTimeScale,a=this._initPTS,o=this._initDTS;if(r){for(var s=0;s<r;s++)i=t.samples[s],i.pts=(i.pts-a)/n,i.dts=(i.dts-o)/n;this.observer.trigger(u.default.FRAG_PARSING_METADATA,{samples:t.samples})}t.samples=[],e=e}},{key:"remuxText",value:function(t,e){t.samples.sort(function(t,e){return t.pts-e.pts});var i,r=t.samples.length,n=t.inputTimeScale,a=this._initPTS;if(r){for(var o=0;o<r;o++)i=t.samples[o],i.pts=(i.pts-a)/n;this.observer.trigger(u.default.FRAG_PARSING_USERDATA,{samples:t.samples})}t.samples=[],e=e}},{key:"_PTSNormalize",value:function(t,e){var i;if(void 0===e)return t;for(i=e<t?-8589934592:8589934592;Math.abs(t-e)>4294967296;)t+=i;return t}}]),t}();i.default=p},{33:33,35:35,36:36,44:44,53:53}],46:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(35),o=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(){function t(e){r(this,t),this.observer=e}return n(t,[{key:"destroy",value:function(){}},{key:"resetTimeStamp",value:function(){}},{key:"resetInitSegment",value:function(){}},{key:"remux",value:function(t,e,i,r,n,a,s,l){var u=this.observer,d="";t&&(d+="audio"),e&&(d+="video"),u.trigger(o.default.FRAG_PARSING_DATA,{data1:l,startPTS:n,startDTS:n,type:d,nb:1,dropped:0}),u.trigger(o.default.FRAG_PARSED)}}]),t}();i.default=s},{35:35}],47:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=/^(\d+)x(\d+)$/,o=/\s*(.+?)\s*=((?:\".*?\")|.*?)(?:,|$)/g,s=function(){function t(e){r(this,t),"string"==typeof e&&(e=t.parseAttrList(e));for(var i in e)e.hasOwnProperty(i)&&(this[i]=e[i])}return n(t,[{key:"decimalInteger",value:function(t){var e=parseInt(this[t],10);return e>Number.MAX_SAFE_INTEGER?1/0:e}},{key:"hexadecimalInteger",value:function(t){if(this[t]){var e=(this[t]||"0x").slice(2);e=(1&e.length?"0":"")+e;for(var i=new Uint8Array(e.length/2),r=0;r<e.length/2;r++)i[r]=parseInt(e.slice(2*r,2*r+2),16);return i}return null}},{key:"hexadecimalIntegerAsNumber",value:function(t){var e=parseInt(this[t],16);return e>Number.MAX_SAFE_INTEGER?1/0:e}},{key:"decimalFloatingPoint",value:function(t){return parseFloat(this[t])}},{key:"enumeratedString",value:function(t){return this[t]}},{key:"decimalResolution",value:function(t){var e=a.exec(this[t]);if(null!==e)return{width:parseInt(e[1],10),height:parseInt(e[2],10)}}}],[{key:"parseAttrList",value:function(t){var e,i={};for(o.lastIndex=0;null!==(e=o.exec(t));){var r=e[2];0===r.indexOf('"')&&r.lastIndexOf('"')===r.length-1&&(r=r.slice(1,-1)),i[e[1]]=r}return i}}]),t}();i.default=s},{}],48:[function(t,e,i){"use strict";var r={search:function(t,e){for(var i=0,r=t.length-1,n=null,a=null;i<=r;){n=(i+r)/2|0,a=t[n];var o=e(a);if(o>0)i=n+1;else{if(!(o<0))return a;r=n-1}}return null}};e.exports=r},{}],49:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a={42:225,92:233,94:237,95:243,96:250,123:231,124:247,125:209,126:241,127:9608,128:174,129:176,130:189,131:191,132:8482,133:162,134:163,135:9834,136:224,137:32,138:232,139:226,140:234,141:238,142:244,143:251,144:193,145:201,146:211,147:218,148:220,149:252,150:8216,151:161,152:42,153:8217,154:9473,155:169,156:8480,157:8226,158:8220,159:8221,160:192,161:194,162:199,163:200,164:202,165:203,166:235,167:206,168:207,169:239,170:212,171:217,172:249,173:219,174:171,175:187,176:195,177:227,178:205,179:204,180:236,181:210,182:242,183:213,184:245,185:123,186:125,187:92,188:94,189:95,190:124,191:8764,192:196,193:228,194:214,195:246,196:223,197:165,198:164,199:9475,200:197,201:229,202:216,203:248,204:9487,205:9491,206:9495,207:9499},o=function(t){var e=t;return a.hasOwnProperty(t)&&(e=a[t]),String.fromCharCode(e)},s=15,l=100,u={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},d={17:2,18:4,21:6,22:8,23:10,19:13,20:15},c={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},f={25:2,26:4,29:6,30:8,31:10,27:13,28:15},h=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],p={verboseFilter:{DATA:3,DEBUG:3,INFO:2,WARNING:2,TEXT:1,ERROR:0},time:null,verboseLevel:0,setTime:function(t){this.time=t},log:function(t,e){var i=this.verboseFilter[t];this.verboseLevel>=i&&console.log(this.time+" ["+t+"] "+e)}},g=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].toString(16));return e},y=function(){function t(e,i,n,a,o){r(this,t),this.foreground=e||"white",this.underline=i||!1,this.italics=n||!1,this.background=a||"black",this.flash=o||!1}return n(t,[{key:"reset",value:function(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}},{key:"setStyles",value:function(t){for(var e=["foreground","underline","italics","background","flash"],i=0;i<e.length;i++){var r=e[i];t.hasOwnProperty(r)&&(this[r]=t[r])}}},{key:"isDefault",value:function(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!this.flash}},{key:"equals",value:function(t){return this.foreground===t.foreground&&this.underline===t.underline&&this.italics===t.italics&&this.background===t.background&&this.flash===t.flash}},{key:"copy",value:function(t){this.foreground=t.foreground,this.underline=t.underline,this.italics=t.italics,this.background=t.background,this.flash=t.flash}},{key:"toString",value:function(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash}}]),t}(),v=function(){function t(e,i,n,a,o,s){r(this,t),this.uchar=e||" ",this.penState=new y(i,n,a,o,s)}return n(t,[{key:"reset",value:function(){this.uchar=" ",this.penState.reset()}},{key:"setChar",value:function(t,e){this.uchar=t,this.penState.copy(e)}},{key:"setPenState",value:function(t){this.penState.copy(t)}},{key:"equals",value:function(t){return this.uchar===t.uchar&&this.penState.equals(t.penState)}},{key:"copy",value:function(t){this.uchar=t.uchar,this.penState.copy(t.penState)}},{key:"isEmpty",value:function(){return" "===this.uchar&&this.penState.isDefault()}}]),t}(),m=function(){function t(){r(this,t),this.chars=[];for(var e=0;e<l;e++)this.chars.push(new v);this.pos=0,this.currPenState=new y}return n(t,[{key:"equals",value:function(t){for(var e=!0,i=0;i<l;i++)if(!this.chars[i].equals(t.chars[i])){e=!1;break}return e}},{key:"copy",value:function(t){for(var e=0;e<l;e++)this.chars[e].copy(t.chars[e])}},{key:"isEmpty",value:function(){for(var t=!0,e=0;e<l;e++)if(!this.chars[e].isEmpty()){t=!1;break}return t}},{key:"setCursor",value:function(t){this.pos!==t&&(this.pos=t),this.pos<0?(p.log("ERROR","Negative cursor position "+this.pos),this.pos=0):this.pos>l&&(p.log("ERROR","Too large cursor position "+this.pos),this.pos=l)}},{key:"moveCursor",value:function(t){var e=this.pos+t;if(t>1)for(var i=this.pos+1;i<e+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(e)}},{key:"backSpace",value:function(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState)}},{key:"insertChar",value:function(t){t>=144&&this.backSpace();var e=o(t);if(this.pos>=l)return void p.log("ERROR","Cannot insert "+t.toString(16)+" ("+e+") at position "+this.pos+". Skipping it!");this.chars[this.pos].setChar(e,this.currPenState),this.moveCursor(1)}},{key:"clearFromPos",value:function(t){var e;for(e=t;e<l;e++)this.chars[e].reset()}},{key:"clear",value:function(){this.clearFromPos(0),this.pos=0,this.currPenState.reset()}},{key:"clearToEndOfRow",value:function(){this.clearFromPos(this.pos)}},{key:"getTextString",value:function(){for(var t=[],e=!0,i=0;i<l;i++){var r=this.chars[i].uchar;" "!==r&&(e=!1),t.push(r)}return e?"":t.join("")}},{key:"setPenStyles",value:function(t){this.currPenState.setStyles(t),this.chars[this.pos].setPenState(this.currPenState)}}]),t}(),b=function(){function t(){r(this,t),this.rows=[];for(var e=0;e<s;e++)this.rows.push(new m);this.currRow=s-1,this.nrRollUpRows=null,this.reset()}return n(t,[{key:"reset",value:function(){for(var t=0;t<s;t++)this.rows[t].clear();this.currRow=s-1}},{key:"equals",value:function(t){for(var e=!0,i=0;i<s;i++)if(!this.rows[i].equals(t.rows[i])){e=!1;break}return e}},{key:"copy",value:function(t){for(var e=0;e<s;e++)this.rows[e].copy(t.rows[e])}},{key:"isEmpty",value:function(){for(var t=!0,e=0;e<s;e++)if(!this.rows[e].isEmpty()){t=!1;break}return t}},{key:"backSpace",value:function(){this.rows[this.currRow].backSpace()}},{key:"clearToEndOfRow",value:function(){this.rows[this.currRow].clearToEndOfRow()}},{key:"insertChar",value:function(t){this.rows[this.currRow].insertChar(t)}},{key:"setPen",value:function(t){this.rows[this.currRow].setPenStyles(t)}},{key:"moveCursor",value:function(t){this.rows[this.currRow].moveCursor(t)}},{key:"setCursor",value:function(t){p.log("INFO","setCursor: "+t),this.rows[this.currRow].setCursor(t)}},{key:"setPAC",value:function(t){p.log("INFO","pacData = "+JSON.stringify(t));var e=t.row-1;if(this.nrRollUpRows&&e<this.nrRollUpRows-1&&(e=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==e){for(var i=0;i<s;i++)this.rows[i].clear();var r=this.currRow+1-this.nrRollUpRows,n=this.lastOutputScreen;if(n){var a=n.rows[r].cueStartTime;if(a&&a<p.time)for(var o=0;o<this.nrRollUpRows;o++)this.rows[e-this.nrRollUpRows+o+1].copy(n.rows[r+o])}}this.currRow=e;var l=this.rows[this.currRow];if(null!==t.indent){var u=t.indent,d=Math.max(u-1,0);l.setCursor(t.indent),t.color=l.chars[d].penState.foreground}var c={foreground:t.color,underline:t.underline,italics:t.italics,background:"black",flash:!1};this.setPen(c)}},{key:"setBkgData",value:function(t){p.log("INFO","bkgData = "+JSON.stringify(t)),this.backSpace(),this.setPen(t),this.insertChar(32)}},{key:"setRollUpRows",value:function(t){this.nrRollUpRows=t}},{key:"rollUp",value:function(){if(null===this.nrRollUpRows)return void p.log("DEBUG","roll_up but nrRollUpRows not set yet");p.log("TEXT",this.getDisplayText());var t=this.currRow+1-this.nrRollUpRows,e=this.rows.splice(t,1)[0];e.clear(),this.rows.splice(this.currRow,0,e),p.log("INFO","Rolling up")}},{key:"getDisplayText",value:function(t){t=t||!1;for(var e=[],i="",r=-1,n=0;n<s;n++){var a=this.rows[n].getTextString();a&&(r=n+1,t?e.push("Row "+r+": '"+a+"'"):e.push(a.trim()))}return e.length>0&&(i=t?"["+e.join(" | ")+"]":e.join("\n")),i}},{key:"getTextAndFormat",value:function(){return this.rows}}]),t}(),_=function(){function t(e,i){r(this,t),this.chNr=e,this.outputFilter=i,this.mode=null,this.verbose=0,this.displayedMemory=new b,this.nonDisplayedMemory=new b,this.lastOutputScreen=new b,this.currRollUpRow=this.displayedMemory.rows[s-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null}return n(t,[{key:"reset",value:function(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.currRollUpRow=this.displayedMemory.rows[s-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.lastCueEndTime=null}},{key:"getHandler",value:function(){return this.outputFilter}},{key:"setHandler",value:function(t){this.outputFilter=t}},{key:"setPAC",value:function(t){this.writeScreen.setPAC(t)}},{key:"setBkgData",value:function(t){this.writeScreen.setBkgData(t)}},{key:"setMode",value:function(t){t!==this.mode&&(this.mode=t,p.log("INFO","MODE="+t),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=t)}},{key:"insertChars",value:function(t){for(var e=0;e<t.length;e++)this.writeScreen.insertChar(t[e]);var i=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";p.log("INFO",i+": "+this.writeScreen.getDisplayText(!0)),"MODE_PAINT-ON"!==this.mode&&"MODE_ROLL-UP"!==this.mode||(p.log("TEXT","DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}},{key:"ccRCL",value:function(){p.log("INFO","RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}},{key:"ccBS",value:function(){p.log("INFO","BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}},{key:"ccAOF",value:function(){}},{key:"ccAON",value:function(){}},{key:"ccDER",value:function(){p.log("INFO","DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}},{key:"ccRU",value:function(t){p.log("INFO","RU("+t+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(t)}},{key:"ccFON",value:function(){p.log("INFO","FON - Flash On"),this.writeScreen.setPen({flash:!0})}},{key:"ccRDC",value:function(){p.log("INFO","RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON")}},{key:"ccTR",value:function(){p.log("INFO","TR"),this.setMode("MODE_TEXT")}},{key:"ccRTD",value:function(){p.log("INFO","RTD"),this.setMode("MODE_TEXT")}},{key:"ccEDM",value:function(){p.log("INFO","EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate()}},{key:"ccCR",value:function(){p.log("CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate()}},{key:"ccENM",value:function(){p.log("INFO","ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset()}},{key:"ccEOC",value:function(){if(p.log("INFO","EOC - End Of Caption"),"MODE_POP-ON"===this.mode){var t=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=t,this.writeScreen=this.nonDisplayedMemory,p.log("TEXT","DISP: "+this.displayedMemory.getDisplayText())}this.outputDataUpdate()}},{key:"ccTO",value:function(t){p.log("INFO","TO("+t+") - Tab Offset"),this.writeScreen.moveCursor(t)}},{key:"ccMIDROW",value:function(t){var e={flash:!1};if(e.underline=t%2==1,e.italics=t>=46,e.italics)e.foreground="white";else{var i=Math.floor(t/2)-16,r=["white","green","blue","cyan","red","yellow","magenta"];e.foreground=r[i]}p.log("INFO","MIDROW: "+JSON.stringify(e)),this.writeScreen.setPen(e)}},{key:"outputDataUpdate",value:function(){var t=p.time;null!==t&&this.outputFilter&&(this.outputFilter.updateData&&this.outputFilter.updateData(t,this.displayedMemory),null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}},{key:"cueSplitAtTime",value:function(t){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,t,this.displayedMemory),this.cueStartTime=t))}}]),t}(),E=function(){function t(e,i,n){r(this,t),this.field=e||1,this.outputs=[i,n],this.channels=[new _(1,i),new _(2,n)],this.currChNr=-1,this.lastCmdA=null,this.lastCmdB=null,this.bufferedData=[],this.startTime=null,this.lastTime=null,this.dataCounters={padding:0,char:0,cmd:0,other:0}}return n(t,[{key:"getHandler",value:function(t){return this.channels[t].getHandler()}},{key:"setHandler",value:function(t,e){this.channels[t].setHandler(e)}},{key:"addData",value:function(t,e){var i,r,n,a=!1;this.lastTime=t,p.setTime(t);for(var o=0;o<e.length;o+=2)if(r=127&e[o],n=127&e[o+1],0!==r||0!==n){if(p.log("DATA","["+g([e[o],e[o+1]])+"] -> ("+g([r,n])+")"),i=this.parseCmd(r,n),i||(i=this.parseMidrow(r,n)),i||(i=this.parsePAC(r,n)),i||(i=this.parseBackgroundAttributes(r,n)),!i&&(a=this.parseChars(r,n)))if(this.currChNr&&this.currChNr>=0){var s=this.channels[this.currChNr-1];s.insertChars(a)}else p.log("WARNING","No channel found yet. TEXT-MODE?");i?this.dataCounters.cmd+=2:a?this.dataCounters.char+=2:(this.dataCounters.other+=2,p.log("WARNING","Couldn't parse cleaned data "+g([r,n])+" orig: "+g([e[o],e[o+1]])))}else this.dataCounters.padding+=2}},{key:"parseCmd",value:function(t,e){var i=null,r=(20===t||28===t)&&32<=e&&e<=47,n=(23===t||31===t)&&33<=e&&e<=35;if(!r&&!n)return!1;if(t===this.lastCmdA&&e===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,p.log("DEBUG","Repeated command ("+g([t,e])+") is dropped"),!0;i=20===t||23===t?1:2;var a=this.channels[i-1];return 20===t||28===t?32===e?a.ccRCL():33===e?a.ccBS():34===e?a.ccAOF():35===e?a.ccAON():36===e?a.ccDER():37===e?a.ccRU(2):38===e?a.ccRU(3):39===e?a.ccRU(4):40===e?a.ccFON():41===e?a.ccRDC():42===e?a.ccTR():43===e?a.ccRTD():44===e?a.ccEDM():45===e?a.ccCR():46===e?a.ccENM():47===e&&a.ccEOC():a.ccTO(e-32),this.lastCmdA=t,this.lastCmdB=e,this.currChNr=i,!0}},{key:"parseMidrow",value:function(t,e){var i=null;if((17===t||25===t)&&32<=e&&e<=47){if((i=17===t?1:2)!==this.currChNr)return p.log("ERROR","Mismatch channel in midrow parsing"),!1;return this.channels[i-1].ccMIDROW(e),p.log("DEBUG","MIDROW ("+g([t,e])+")"),!0}return!1}},{key:"parsePAC",value:function(t,e){var i=null,r=null,n=(17<=t&&t<=23||25<=t&&t<=31)&&64<=e&&e<=127,a=(16===t||24===t)&&64<=e&&e<=95;if(!n&&!a)return!1;if(t===this.lastCmdA&&e===this.lastCmdB)return this.lastCmdA=null,this.lastCmdB=null,!0;i=t<=23?1:2,r=64<=e&&e<=95?1===i?u[t]:c[t]:1===i?d[t]:f[t];var o=this.interpretPAC(r,e);return this.channels[i-1].setPAC(o),this.lastCmdA=t,this.lastCmdB=e,this.currChNr=i,!0}},{key:"interpretPAC",value:function(t,e){var i=e,r={color:null,italics:!1,indent:null,underline:!1,row:t};return i=e>95?e-96:e-64,r.underline=1==(1&i),i<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((i-16)/2),r}},{key:"parseChars",value:function(t,e){var i=null,r=null,n=null;if(t>=25?(i=2,n=t-8):(i=1,n=t),17<=n&&n<=19){var a=e;a=17===n?e+80:18===n?e+112:e+144,p.log("INFO","Special char '"+o(a)+"' in channel "+i),r=[a]}else 32<=t&&t<=127&&(r=0===e?[t]:[t,e]);if(r){var s=g(r);p.log("DEBUG","Char codes =  "+s.join(",")),this.lastCmdA=null,this.lastCmdB=null}return r}},{key:"parseBackgroundAttributes",value:function(t,e){var i,r,n,a,o=(16===t||24===t)&&32<=e&&e<=47,s=(23===t||31===t)&&45<=e&&e<=47;return!(!o&&!s)&&(i={},16===t||24===t?(r=Math.floor((e-32)/2),i.background=h[r],e%2==1&&(i.background=i.background+"_semi")):45===e?i.background="transparent":(i.foreground="black",47===e&&(i.underline=!0)),n=t<24?1:2,a=this.channels[n-1],a.setBkgData(i),this.lastCmdA=null,this.lastCmdB=null,!0)}},{key:"reset",value:function(){for(var t=0;t<this.channels.length;t++)this.channels[t]&&this.channels[t].reset();this.lastCmdA=null,this.lastCmdB=null}},{key:"cueSplitAtTime",value:function(t){for(var e=0;e<this.channels.length;e++)this.channels[e]&&this.channels[e].cueSplitAtTime(t)}}]),t}();i.default=E},{}],50:[function(t,e,i){"use strict";var r=t(56),n={newCue:function(t,e,i,n){for(var a,o,s,l,u,d=window.VTTCue||window.TextTrackCue,c=0;c<n.rows.length;c++)if(a=n.rows[c],s=!0,l=0,u="",!a.isEmpty()){for(var f=0;f<a.chars.length;f++)a.chars[f].uchar.match(/\s/)&&s?l++:(u+=a.chars[f].uchar,s=!1);a.cueStartTime=e,e===i&&(i+=1e-4),o=new d(e,i,(0,r.fixLineBreaks)(u.trim())),l>=16?l--:l++,navigator.userAgent.match(/Firefox\//)?o.line=c+1:o.line=c>7?c-2:c+1,o.align="left",o.position=Math.max(0,Math.min(100,l/32*100+(navigator.userAgent.match(/Firefox\//)?50:0))),t.addCue(o)}}};e.exports=n},{56:56}],51:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(52),o=function(t){return t&&t.__esModule?t:{default:t}}(a),s=function(){function t(e,i,n,a){r(this,t),this.hls=e,this.defaultEstimate_=a,this.minWeight_=.001,this.minDelayMs_=50,this.slow_=new o.default(i),this.fast_=new o.default(n)}return n(t,[{key:"sample",value:function(t,e){t=Math.max(t,this.minDelayMs_);var i=8e3*e/t,r=t/1e3;this.fast_.sample(r,i),this.slow_.sample(r,i)}},{key:"canEstimate",value:function(){var t=this.fast_;return t&&t.getTotalWeight()>=this.minWeight_}},{key:"getEstimate",value:function(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}},{key:"destroy",value:function(){}}]),t}();i.default=s},{52:52}],52:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=function(){function t(e){r(this,t),this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=0,this.totalWeight_=0}return n(t,[{key:"sample",value:function(t,e){var i=Math.pow(this.alpha_,t);this.estimate_=e*(1-i)+i*this.estimate_,this.totalWeight_+=t}},{key:"getTotalWeight",value:function(){return this.totalWeight_}},{key:"getEstimate",value:function(){if(this.alpha_){var t=1-Math.pow(this.alpha_,this.totalWeight_);return this.estimate_/t}return this.estimate_}}]),t}();i.default=a},{}],53:[function(t,e,i){"use strict";function r(){}function n(t,e){return e="["+t+"] > "+e}function a(t){var e=self.console[t];return e?function(){for(var i=arguments.length,r=Array(i),a=0;a<i;a++)r[a]=arguments[a];r[0]&&(r[0]=n(t,r[0])),e.apply(self.console,r)}:r}function o(t){for(var e=arguments.length,i=Array(e>1?e-1:0),r=1;r<e;r++)i[r-1]=arguments[r];i.forEach(function(e){u[e]=t[e]?t[e].bind(t):a(e)})}Object.defineProperty(i,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},l={trace:r,debug:r,log:r,warn:r,info:r,error:r},u=l;i.enableLogs=function(t){if(!0===t||"object"===(void 0===t?"undefined":s(t))){o(t,"debug","log","info","warn","error");try{u.log()}catch(t){u=l}}else u=l},i.logger=u},{}],54:[function(t,e,i){"use strict";var r={toString:function(t){for(var e="",i=t.length,r=0;r<i;r++)e+="["+t.start(r).toFixed(3)+","+t.end(r).toFixed(3)+"]";return e}};e.exports=r},{}],55:[function(t,e,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default=function(){function t(t){return"string"==typeof t&&(!!a[t.toLowerCase()]&&t.toLowerCase())}function e(t){return"string"==typeof t&&(!!o[t.toLowerCase()]&&t.toLowerCase())}function i(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var r in i)t[r]=i[r]}return t}function r(r,a,o){var s=this,l=function(){if("undefined"!=typeof navigator)return/MSIE\s8\.0/.test(navigator.userAgent)}(),u={};l?s=document.createElement("custom"):u.enumerable=!0,s.hasBeenReset=!1;var d="",c=!1,f=r,h=a,p=o,g=null,y="",v=!0,m="auto",b="start",_=50,E="middle",T=50,k="middle";if(Object.defineProperty(s,"id",i({},u,{get:function(){return d},set:function(t){d=""+t}})),Object.defineProperty(s,"pauseOnExit",i({},u,{get:function(){return c},set:function(t){c=!!t}})),Object.defineProperty(s,"startTime",i({},u,{get:function(){return f},set:function(t){if("number"!=typeof t)throw new TypeError("Start time must be set to a number.");f=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"endTime",i({},u,{get:function(){return h},set:function(t){if("number"!=typeof t)throw new TypeError("End time must be set to a number.");h=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"text",i({},u,{get:function(){return p},set:function(t){p=""+t,this.hasBeenReset=!0}})),Object.defineProperty(s,"region",i({},u,{get:function(){return g},set:function(t){g=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"vertical",i({},u,{get:function(){return y},set:function(e){var i=t(e);if(!1===i)throw new SyntaxError("An invalid or illegal string was specified.");y=i,this.hasBeenReset=!0}})),Object.defineProperty(s,"snapToLines",i({},u,{get:function(){return v},set:function(t){v=!!t,this.hasBeenReset=!0}})),Object.defineProperty(s,"line",i({},u,{get:function(){return m},set:function(t){if("number"!=typeof t&&t!==n)throw new SyntaxError("An invalid number or illegal string was specified.");m=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"lineAlign",i({},u,{get:function(){return b},set:function(t){var i=e(t);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");b=i,this.hasBeenReset=!0}})),Object.defineProperty(s,"position",i({},u,{get:function(){return _},set:function(t){if(t<0||t>100)throw new Error("Position must be between 0 and 100.");_=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"positionAlign",i({},u,{get:function(){return E},set:function(t){var i=e(t);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");E=i,this.hasBeenReset=!0}})),Object.defineProperty(s,"size",i({},u,{get:function(){return T},set:function(t){if(t<0||t>100)throw new Error("Size must be between 0 and 100.");T=t,this.hasBeenReset=!0}})),Object.defineProperty(s,"align",i({},u,{get:function(){return k},set:function(t){var i=e(t);if(!i)throw new SyntaxError("An invalid or illegal string was specified.");k=i,this.hasBeenReset=!0}})),s.displayState=void 0,l)return s}if("undefined"!=typeof window&&window.VTTCue)return window.VTTCue;var n="auto",a={"":!0,lr:!0,rl:!0},o={start:!0,middle:!0,end:!0,left:!0,right:!0};return r.prototype.getCueAsHTML=function(){return window.WebVTT.convertCueToDOMTree(window,this.text)},r}()},{}],56:[function(t,e,i){"use strict";function r(){this.window=window,this.state="INITIAL",this.buffer="",this.decoder=new c,this.regionList=[]}function n(t){function e(t,e,i,r){return 3600*(0|t)+60*(0|e)+(0|i)+(0|r)/1e3}var i=t.match(/^(\d+):(\d{2})(:\d{2})?\.(\d{3})/);return i?i[3]?e(i[1],i[2],i[3].replace(":",""),i[4]):i[1]>59?e(i[1],i[2],0,i[4]):e(0,i[1],i[2],i[4]):null}function a(){this.values=Object.create(null)}function o(t,e,i,r){var n=r?t.split(r):[t];for(var a in n)if("string"==typeof n[a]){var o=n[a].split(i);if(2===o.length){var s=o[0],l=o[1];e(s,l)}}}function s(t,e,i){function r(){var e=n(t);if(null===e)throw new Error("Malformed timestamp: "+l);return t=t.replace(/^[^\sa-zA-Z-]+/,""),e}function s(){t=t.replace(/^\s+/,"")}var l=t;if(s(),e.startTime=r(),s(),"--\x3e"!==t.substr(0,3))throw new Error("Malformed time stamp (time stamps must be separated by '--\x3e'): "+l);t=t.substr(3),s(),e.endTime=r(),s(),function(t,e){var r=new a;o(t,function(t,e){switch(t){case"region":for(var n=i.length-1;n>=0;n--)if(i[n].id===e){r.set(t,i[n].region);break}break;case"vertical":r.alt(t,e,["rl","lr"]);break;case"line":var a=e.split(","),o=a[0];r.integer(t,o),r.percent(t,o)&&r.set("snapToLines",!1),r.alt(t,o,["auto"]),2===a.length&&r.alt("lineAlign",a[1],["start",h,"end"]);break;case"position":a=e.split(","),r.percent(t,a[0]),2===a.length&&r.alt("positionAlign",a[1],["start",h,"end","line-left","line-right","auto"]);break;case"size":r.percent(t,e);break;case"align":r.alt(t,e,["start",h,"end","left","right"])}},/:/,/\s/),e.region=r.get("region",null),e.vertical=r.get("vertical","");var n=r.get("line","auto");"auto"===n&&-1===f.line&&(n=-1),e.line=n,e.lineAlign=r.get("lineAlign","start"),e.snapToLines=r.get("snapToLines",!0),e.size=r.get("size",100),e.align=r.get("align",h);var s=r.get("position","auto");"auto"===s&&50===f.position&&(s="start"===e.align||"left"===e.align?0:"end"===e.align||"right"===e.align?100:50),e.position=s}(t,e)}function l(t){return t.replace(/<br(?: \/)?>/gi,"\n")}Object.defineProperty(i,"__esModule",{value:!0}),i.fixLineBreaks=void 0;var u=t(55),d=function(t){return t&&t.__esModule?t:{default:t}}(u),c=function(){return{decode:function(t){if(!t)return"";if("string"!=typeof t)throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(t))}}};a.prototype={set:function(t,e){this.get(t)||""===e||(this.values[t]=e)},get:function(t,e,i){return i?this.has(t)?this.values[t]:e[i]:this.has(t)?this.values[t]:e},has:function(t){return t in this.values},alt:function(t,e,i){for(var r=0;r<i.length;++r)if(e===i[r]){this.set(t,e);break}},integer:function(t,e){/^-?\d+$/.test(e)&&this.set(t,parseInt(e,10))},percent:function(t,e){return!!(e.match(/^([\d]{1,3})(\.[\d]*)?%$/)&&(e=parseFloat(e))>=0&&e<=100)&&(this.set(t,e),!0)}};var f=new d.default(0,0,0),h="middle"===f.align?"middle":"center";r.prototype={parse:function(t){function e(){var t=i.buffer,e=0;for(t=l(t);e<t.length&&"\r"!==t[e]&&"\n"!==t[e];)++e;var r=t.substr(0,e);return"\r"===t[e]&&++e,"\n"===t[e]&&++e,i.buffer=t.substr(e),r}var i=this;t&&(i.buffer+=i.decoder.decode(t,{stream:!0}));try{var r;if("INITIAL"===i.state){if(!/\r\n|\n/.test(i.buffer))return this;r=e();var n=r.match(/^WEBVTT([ \t].*)?$/);if(!n||!n[0])throw new Error("Malformed WebVTT signature.");i.state="HEADER"}for(var a=!1;i.buffer;){if(!/\r\n|\n/.test(i.buffer))return this;switch(a?a=!1:r=e(),i.state){case"HEADER":/:/.test(r)?function(t){o(t,function(t,e){switch(t){case"Region":console.log("parse region",e)}},/:/)}(r):r||(i.state="ID");continue;case"NOTE":r||(i.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){i.state="NOTE";break}if(!r)continue;if(i.cue=new d.default(0,0,""),i.state="CUE",-1===r.indexOf("--\x3e")){i.cue.id=r;continue}case"CUE":try{s(r,i.cue,i.regionList)}catch(t){i.cue=null,i.state="BADCUE";continue}i.state="CUETEXT";continue;case"CUETEXT":var u=-1!==r.indexOf("--\x3e");if(!r||u&&(a=!0)){i.oncue&&i.oncue(i.cue),i.cue=null,i.state="ID";continue}i.cue.text&&(i.cue.text+="\n"),i.cue.text+=r;continue;case"BADCUE":r||(i.state="ID");continue}}}catch(t){"CUETEXT"===i.state&&i.cue&&i.oncue&&i.oncue(i.cue),i.cue=null,i.state="INITIAL"===i.state?"BADWEBVTT":"BADCUE"}return this},flush:function(){var t=this;try{if(t.buffer+=t.decoder.decode(),(t.cue||"HEADER"===t.state)&&(t.buffer+="\n\n",t.parse()),"INITIAL"===t.state)throw new Error("Malformed WebVTT signature.")}catch(t){throw t}return t.onflush&&t.onflush(),this}},i.fixLineBreaks=l,i.default=r},{55:55}],57:[function(t,e,i){"use strict";var r=t(56),n=function(t){return t&&t.__esModule?t:{default:t}}(r),a=function(t,e,i){return t.substr(i||0,e.length)===e},o=function(t){var e=parseInt(t.substr(-3)),i=parseInt(t.substr(-6,2)),r=parseInt(t.substr(-9,2)),n=t.length>9?parseInt(t.substr(0,t.indexOf(":"))):0;return isNaN(e)||isNaN(i)||isNaN(r)||isNaN(n)?-1:(e+=1e3*i,e+=6e4*r,e+=36e5*n)},s=function(t){for(var e=5381,i=t.length;i;)e=33*e^t.charCodeAt(--i);return(e>>>0).toString()},l=function(t,e,i){var r=t[e],n=t[r.prevCC];if(!n||!n.new&&r.new)return t.ccOffset=t.presentationOffset=r.start,void(r.new=!1);for(;n&&n.new;)t.ccOffset+=r.start-n.start,r.new=!1,r=n,n=t[r.prevCC];t.presentationOffset=i},u={parse:function(t,e,i,r,u,d){var c=/\r\n|\n\r|\n|\r/g,f=String.fromCharCode.apply(null,new Uint8Array(t)).trim().replace(c,"\n").split("\n"),h="00:00.000",p=0,g=0,y=0,v=[],m=void 0,b=!0,_=new n.default;_.oncue=function(t){var e=i[r],n=i.ccOffset;e&&e.new&&(void 0!==g?n=i.ccOffset=e.start:l(i,r,y)),y&&(n=y+i.ccOffset-i.presentationOffset),t.startTime+=n-g,t.endTime+=n-g,t.id=s(t.startTime)+s(t.endTime)+s(t.text),t.text=decodeURIComponent(escape(t.text)),t.endTime>0&&v.push(t)},_.onparsingerror=function(t){m=t},_.onflush=function(){if(m&&d)return void d(m);u(v)},f.forEach(function(t){if(b){if(a(t,"X-TIMESTAMP-MAP=")){b=!1,t.substr(16).split(",").forEach(function(t){a(t,"LOCAL:")?h=t.substr(6):a(t,"MPEGTS:")&&(p=parseInt(t.substr(7)))});try{e=e<0?e+8589934592:e,p-=e,g=o(h)/1e3,y=p/9e4,-1===g&&(m=new Error("Malformed X-TIMESTAMP-MAP: "+t))}catch(e){m=new Error("Malformed X-TIMESTAMP-MAP: "+t)}return}""===t&&(b=!1)}_.parse(t+"\n")}),_.flush()}};e.exports=u},{56:56}],58:[function(t,e,i){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),a=t(53),o=function(){function t(e){r(this,t),e&&e.xhrSetup&&(this.xhrSetup=e.xhrSetup)}return n(t,[{key:"destroy",value:function(){this.abort(),this.loader=null}},{key:"abort",value:function(){var t=this.loader;t&&4!==t.readyState&&(this.stats.aborted=!0,t.abort()),window.clearTimeout(this.requestTimeout),this.requestTimeout=null,window.clearTimeout(this.retryTimeout),this.retryTimeout=null}},{key:"load",value:function(t,e,i){this.context=t,this.config=e,this.callbacks=i,this.stats={trequest:performance.now(),retry:0},this.retryDelay=e.retryDelay,this.loadInternal()}},{key:"loadInternal",value:function(){var t,e=this.context;t="undefined"!=typeof XDomainRequest?this.loader=new XDomainRequest:this.loader=new XMLHttpRequest;var i=this.stats;i.tfirst=0,i.loaded=0;var r=this.xhrSetup;try{if(r)try{r(t,e.url)}catch(i){t.open("GET",e.url,!0),r(t,e.url)}t.readyState||t.open("GET",e.url,!0)}catch(i){return void this.callbacks.onError({code:t.status,text:i.message},e)}e.rangeEnd&&t.setRequestHeader("Range","bytes="+e.rangeStart+"-"+(e.rangeEnd-1)),t.onreadystatechange=this.readystatechange.bind(this),t.onprogress=this.loadprogress.bind(this),t.responseType=e.responseType,this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),this.config.timeout),t.send()}},{key:"readystatechange",value:function(t){var e=t.currentTarget,i=e.readyState,r=this.stats,n=this.context,o=this.config;if(!r.aborted&&i>=2)if(window.clearTimeout(this.requestTimeout),0===r.tfirst&&(r.tfirst=Math.max(performance.now(),r.trequest)),4===i){var s=e.status;if(s>=200&&s<300){r.tload=Math.max(r.tfirst,performance.now());var l=void 0,u=void 0;"arraybuffer"===n.responseType?(l=e.response,u=l.byteLength):(l=e.responseText,u=l.length),r.loaded=r.total=u;var d={url:e.responseURL,data:l};this.callbacks.onSuccess(d,r,n)}else r.retry>=o.maxRetry||s>=400&&s<499?(a.logger.error(s+" while loading "+n.url),this.callbacks.onError({code:s,text:e.statusText},n)):(a.logger.warn(s+" while loading "+n.url+", retrying in "+this.retryDelay+"..."),this.destroy(),this.retryTimeout=window.setTimeout(this.loadInternal.bind(this),this.retryDelay),this.retryDelay=Math.min(2*this.retryDelay,o.maxRetryDelay),r.retry++)}else this.requestTimeout=window.setTimeout(this.loadtimeout.bind(this),o.timeout)}},{key:"loadtimeout",value:function(){a.logger.warn("timeout while loading "+this.context.url),this.callbacks.onTimeout(this.stats,this.context)}},{key:"loadprogress",value:function(t){var e=this.stats;e.loaded=t.loaded,t.lengthComputable&&(e.total=t.total);var i=this.callbacks.onProgress;i&&i(e,this.context,null)}}]),t}();i.default=o},{53:53}]},{},[40])(40)})},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(9),h=r(f),p=i(7),g=r(p),y=i(175),v=r(y),m=i(4),b=r(m),_=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.el.src=i.src,r}return(0,c.default)(e,t),e.prototype.getPlaybackType=function(){return h.default.NO_OP},(0,u.default)(e,[{key:"name",get:function(){return"html_img"}},{key:"tagName",get:function(){return"img"}},{key:"attributes",get:function(){return{"data-html-img":""}}},{key:"events",get:function(){return{load:"_onLoad",abort:"_onError",error:"_onError"}}}]),e.prototype.render=function(){var t=g.default.getStyleFor(v.default);return this.$el.append(t),this.trigger(b.default.PLAYBACK_READY,this.name),this},e.prototype._onLoad=function(){this.trigger(b.default.PLAYBACK_ENDED,this.name)},e.prototype._onError=function(t){var e="error"===t.type?"load error":"loading aborted";this.trigger(b.default.PLAYBACK_ERROR,{message:e},this.name)},e}(h.default);e.default=_,_.canPlay=function(t){return/\.(png|jpg|jpeg|gif|bmp|tiff|pgm|pnm|webp)(|\?.*)$/i.test(t)},t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,"[data-html-img]{max-width:100%;max-height:100%}",""])},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(9),p=r(h),g=i(8),y=r(g),v=i(7),m=r(v),b=i(4),_=r(b),E=i(177),T=r(E),k=i(178),A=r(k),S=function(t){function e(){(0,a.default)(this,e);for(var i=arguments.length,r=Array(i),n=0;n<i;n++)r[n]=arguments[n];var o=(0,s.default)(this,t.call.apply(t,[this].concat(r)));return o._noiseFrameNum=-1,o._started=!1,o}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"no_op"}},{key:"template",get:function(){return(0,y.default)(A.default)}},{key:"attributes",get:function(){return{"data-no-op":""}}}]),e.prototype.render=function(){var t=m.default.getStyleFor(T.default),e=this.options.playbackNotSupportedMessage||this.i18n.t("playback_not_supported");this.$el.html(this.template({message:e})),this.$el.append(t),this.trigger(_.default.PLAYBACK_READY,this.name);var i=!(!this.options.poster||!this.options.poster.showForNoOp);return!this.options.autoPlay&&i||this.play(),this},e.prototype.play=function(){this._started||(this._started=!0,this.trigger(_.default.PLAYBACK_PLAY),this._animate())},e.prototype._noise=function(){if(this._noiseFrameNum=(this._noiseFrameNum+1)%5,!this._noiseFrameNum){var t=this.context.createImageData(this.context.canvas.width,this.context.canvas.height),e=void 0;try{e=new Uint32Array(t.data.buffer)}catch(n){e=new Uint32Array(this.context.canvas.width*this.context.canvas.height*4);for(var i=t.data,r=0;r<i.length;r++)e[r]=i[r]}for(var n=e.length,a=6*Math.random()+4,o=0,s=0,l=0;l<n;){if(o<0){o=a*Math.random();s=255*Math.pow(Math.random(),.4)<<24}o-=1,e[l++]=s}this.context.putImageData(t,0,0)}},e.prototype._loop=function(){var t=this;this._stop||(this._noise(),this._animationHandle=(0,f.requestAnimationFrame)(function(){return t._loop()}))},e.prototype.destroy=function(){this._animationHandle&&((0,f.cancelAnimationFrame)(this._animationHandle),this._stop=!0)},e.prototype._animate=function(){this.canvas=this.$el.find("canvas[data-no-op-canvas]")[0],this.context=this.canvas.getContext("2d"),this._loop()},e}(p.default);e.default=S,S.canPlay=function(t){return!0},t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,"[data-no-op]{position:absolute;height:100%;width:100%;text-align:center}[data-no-op] p[data-no-op-msg]{position:absolute;text-align:center;font-size:25px;left:0;right:0;color:#fff;padding:10px;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%);max-height:100%;overflow:auto}[data-no-op] canvas[data-no-op-canvas]{background-color:#777;height:100%;width:100%}",""])},function(t,e){t.exports="<canvas data-no-op-canvas></canvas>\n<p data-no-op-msg><%=message%><p>\n"},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(180),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(36),h=r(f),p=i(4),g=r(p),y=i(7),v=r(y),m=i(8),b=r(m),_=i(181),E=r(_),T=i(182),k=r(T),A=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.template=(0,b.default)(E.default),r.showTimeout=null,r.listenTo(r.container,g.default.CONTAINER_STATE_BUFFERING,r.onBuffering),r.listenTo(r.container,g.default.CONTAINER_STATE_BUFFERFULL,r.onBufferFull),r.listenTo(r.container,g.default.CONTAINER_STOP,r.onStop),r.listenTo(r.container,g.default.CONTAINER_ENDED,r.onStop),r.listenTo(r.container,g.default.CONTAINER_ERROR,r.onStop),r.render(),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"spinner"}},{key:"attributes",get:function(){return{"data-spinner":"",class:"spinner-three-bounce"}}}]),e.prototype.onBuffering=function(){this.show()},e.prototype.onBufferFull=function(){this.hide()},e.prototype.onStop=function(){this.hide()},e.prototype.show=function(){var t=this;null===this.showTimeout&&(this.showTimeout=setTimeout(function(){return t.$el.show()},300))},e.prototype.hide=function(){null!==this.showTimeout&&(clearTimeout(this.showTimeout),this.showTimeout=null),this.$el.hide()},e.prototype.render=function(){this.$el.html(this.template());var t=v.default.getStyleFor(k.default);return this.container.$el.append(t),this.container.$el.append(this.$el),this.$el.hide(),this.container.buffering&&this.onBuffering(),this},e}(h.default);e.default=A,t.exports=e.default},function(t,e){t.exports="<div data-bounce1></div><div data-bounce2></div><div data-bounce3></div>\n"},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".spinner-three-bounce[data-spinner]{position:absolute;margin:0 auto;width:70px;text-align:center;z-index:999;left:0;right:0;margin-left:auto;margin-right:auto;top:50%;-webkit-transform:translateY(-50%);-moz-transform:translateY(-50%);-ms-transform:translateY(-50%);-o-transform:translateY(-50%);transform:translateY(-50%)}.spinner-three-bounce[data-spinner]>div{width:18px;height:18px;background-color:#fff;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;-moz-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;-moz-animation-fill-mode:both;animation-fill-mode:both}.spinner-three-bounce[data-spinner] [data-bounce1]{-webkit-animation-delay:-.32s;-moz-animation-delay:-.32s;animation-delay:-.32s}.spinner-three-bounce[data-spinner] [data-bounce2]{-webkit-animation-delay:-.16s;-moz-animation-delay:-.16s;animation-delay:-.16s}@-webkit-keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@-moz-keyframes bouncedelay{0%,80%,to{-moz-transform:scale(0)}40%{-moz-transform:scale(1)}}@keyframes bouncedelay{0%,80%,to{-webkit-transform:scale(0);-moz-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0)}40%{-webkit-transform:scale(1);-moz-transform:scale(1);-ms-transform:scale(1);-o-transform:scale(1);transform:scale(1)}}",""])},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(184),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(37),h=r(f),p=i(4),g=r(p),y=i(6),v=r(y),m=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.setInitialAttrs(),r.reportInterval=r.options.reportInterval||5e3,r.state="IDLE",r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"stats"}}]),e.prototype.bindEvents=function(){this.listenTo(this.container.playback,g.default.PLAYBACK_PLAY,this.onPlay),this.listenTo(this.container,g.default.CONTAINER_STOP,this.onStop),this.listenTo(this.container,g.default.CONTAINER_ENDED,this.onStop),this.listenTo(this.container,g.default.CONTAINER_DESTROYED,this.onStop),this.listenTo(this.container,g.default.CONTAINER_STATE_BUFFERING,this.onBuffering),this.listenTo(this.container,g.default.CONTAINER_STATE_BUFFERFULL,this.onBufferFull),this.listenTo(this.container,g.default.CONTAINER_STATS_ADD,this.onStatsAdd),this.listenTo(this.container,g.default.CONTAINER_BITRATE,this.onStatsAdd),this.listenTo(this.container.playback,g.default.PLAYBACK_STATS_ADD,this.onStatsAdd)},e.prototype.setInitialAttrs=function(){this.firstPlay=!0,this.startupTime=0,this.rebufferingTime=0,this.watchingTime=0,this.rebuffers=0,this.externalMetrics={}},e.prototype.onPlay=function(){this.state="PLAYING",this.watchingTimeInit=Date.now(),this.intervalId||(this.intervalId=setInterval(this.report.bind(this),this.reportInterval))},e.prototype.onStop=function(){clearInterval(this.intervalId),this.report(),this.intervalId=void 0,this.state="STOPPED"},e.prototype.onBuffering=function(){this.firstPlay?this.startupTimeInit=Date.now():this.rebufferingTimeInit=Date.now(),this.state="BUFFERING",this.rebuffers++},e.prototype.onBufferFull=function(){this.firstPlay&&this.startupTimeInit?(this.firstPlay=!1,this.startupTime=Date.now()-this.startupTimeInit,this.watchingTimeInit=Date.now()):this.rebufferingTimeInit&&(this.rebufferingTime+=this.getRebufferingTime()),this.rebufferingTimeInit=void 0,this.state="PLAYING"},e.prototype.getRebufferingTime=function(){return Date.now()-this.rebufferingTimeInit},e.prototype.getWatchingTime=function(){return Date.now()-this.watchingTimeInit-this.rebufferingTime},e.prototype.isRebuffering=function(){return!!this.rebufferingTimeInit},e.prototype.onStatsAdd=function(t){v.default.extend(this.externalMetrics,t)},e.prototype.getStats=function(){var t={startupTime:this.startupTime,rebuffers:this.rebuffers,rebufferingTime:this.isRebuffering()?this.rebufferingTime+this.getRebufferingTime():this.rebufferingTime,watchingTime:this.isRebuffering()?this.getWatchingTime()-this.getRebufferingTime():this.getWatchingTime()};return v.default.extend(t,this.externalMetrics),t},e.prototype.report=function(){this.container.statsReport(this.getStats())},e}(h.default);e.default=m,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(186),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(36),h=r(f),p=i(4),g=r(p),y=i(7),v=r(y),m=i(8),b=r(m),_=i(187),E=r(_),T=i(188),k=r(T),A=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.configure(),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"watermark"}},{key:"template",get:function(){return(0,b.default)(k.default)}}]),e.prototype.bindEvents=function(){this.listenTo(this.container,g.default.CONTAINER_PLAY,this.onPlay),this.listenTo(this.container,g.default.CONTAINER_STOP,this.onStop),this.listenTo(this.container,g.default.CONTAINER_OPTIONS_CHANGE,this.configure)},e.prototype.configure=function(){this.position=this.options.position||"bottom-right",this.options.watermark?(this.imageUrl=this.options.watermark,this.imageLink=this.options.watermarkLink,this.render()):this.$el.remove()},e.prototype.onPlay=function(){this.hidden||this.$el.show()},e.prototype.onStop=function(){this.$el.hide()},e.prototype.render=function(){this.$el.hide();var t={position:this.position,imageUrl:this.imageUrl,imageLink:this.imageLink};this.$el.html(this.template(t));var e=v.default.getStyleFor(E.default);return this.container.$el.append(e),this.container.$el.append(this.$el),this},e}(h.default);e.default=A,t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,"[data-watermark]{position:absolute;min-width:70px;max-width:200px;width:12%;text-align:center;z-index:10}[data-watermark] a{outline:none;cursor:pointer}[data-watermark] img{max-width:100%}[data-watermark-bottom-left]{bottom:10px;left:10px}[data-watermark-bottom-right]{bottom:10px;right:42px}[data-watermark-top-left]{top:10px;left:10px}[data-watermark-top-right]{top:10px;right:37px}",""])},function(t,e){t.exports="<div data-watermark data-watermark-<%=position %>>\n<% if(typeof imageLink !== 'undefined') { %>\n<a target=_blank href=\"<%= imageLink %>\">\n<% } %>\n<img src=\"<%= imageUrl %>\">\n<% if(typeof imageLink !== 'undefined') { %>\n</a>\n<% } %>\n</div>\n"},function(t,e,i){"use strict";(function(r){function n(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var a=i(0),o=n(a),s=i(1),l=n(s),u=i(3),d=n(u),c=i(2),f=n(c),h=i(36),p=n(h),g=i(4),y=n(g),v=i(7),m=n(v),b=i(8),_=n(b),E=i(9),T=n(E),k=i(190),A=n(k),S=i(191),L=n(S),R=i(58),w=n(R),C=function(t){function e(i){(0,o.default)(this,e);var n=(0,l.default)(this,t.call(this,i));return n.hasStartedPlaying=!1,n.playRequested=!1,n.render(),r.nextTick(function(){return n.update()}),n}return(0,f.default)(e,t),(0,d.default)(e,[{key:"name",get:function(){return"poster"}},{key:"template",get:function(){return(0,_.default)(L.default)}},{key:"shouldRender",get:function(){var t=!(!this.options.poster||!this.options.poster.showForNoOp);return"html_img"!==this.container.playback.name&&(this.container.playback.getPlaybackType()!==T.default.NO_OP||t)}},{key:"attributes",get:function(){return{class:"player-poster","data-poster":""}}},{key:"events",get:function(){return{click:"clicked"}}},{key:"showOnVideoEnd",get:function(){return!this.options.poster||this.options.poster.showOnVideoEnd||void 0===this.options.poster.showOnVideoEnd}}]),e.prototype.bindEvents=function(){this.listenTo(this.container,y.default.CONTAINER_STOP,this.onStop),this.listenTo(this.container,y.default.CONTAINER_PLAY,this.onPlay),this.listenTo(this.container,y.default.CONTAINER_STATE_BUFFERING,this.update),this.listenTo(this.container,y.default.CONTAINER_STATE_BUFFERFULL,this.update),this.listenTo(this.container,y.default.CONTAINER_OPTIONS_CHANGE,this.render),this.showOnVideoEnd&&this.listenTo(this.container,y.default.CONTAINER_ENDED,this.onStop)},e.prototype.stopListening=function(){t.prototype.stopListening.call(this)},e.prototype.onPlay=function(){this.hasStartedPlaying=!0,this.update()},e.prototype.onStop=function(){this.hasStartedPlaying=!1,this.playRequested=!1,this.update()},e.prototype.showPlayButton=function(t){!t||this.options.chromeless&&!this.options.allowUserInteraction?(this.$playButton.hide(),this.$el.removeClass("clickable")):(this.$playButton.show(),this.$el.addClass("clickable"))},e.prototype.clicked=function(){return this.options.chromeless&&!this.options.allowUserInteraction||(this.playRequested=!0,this.update(),this.container.play()),!1},e.prototype.shouldHideOnPlay=function(){return!this.container.playback.isAudioOnly},e.prototype.update=function(){if(this.shouldRender){var t=!this.playRequested&&!this.hasStartedPlaying&&!this.container.buffering;this.showPlayButton(t),this.hasStartedPlaying?(this.container.enableMediaControl(),this.shouldHideOnPlay()&&this.$el.hide()):(this.container.disableMediaControl(),this.$el.show())}},e.prototype.render=function(){if(this.shouldRender){var t=m.default.getStyleFor(A.default,{baseUrl:this.options.baseUrl});this.$el.html(this.template()),this.$el.append(t);if(this.options.poster&&void 0==this.options.poster.custom){var e=this.options.poster.url||this.options.poster;this.$el.css({"background-image":"url("+e+")"})}else this.options.poster&&this.$el.css({background:this.options.poster.custom});this.container.$el.append(this.el),this.$playWrapper=this.$el.find(".play-wrapper"),this.$playWrapper.append(w.default),this.$playButton=this.$playWrapper.find("svg"),this.$playButton.addClass("poster-icon"),this.$playButton.attr("data-poster","");var i=this.options.mediacontrol&&this.options.mediacontrol.buttons;return i&&this.$el.find("svg path").css("fill",i),this.options.mediacontrol&&this.options.mediacontrol.buttons&&(i=this.options.mediacontrol.buttons,this.$playButton.css("color",i)),this.update(),this}},e}(p.default);e.default=C,t.exports=e.default}).call(e,i(57))},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".player-poster[data-poster]{display:-webkit-box;display:-moz-box;display:box;display:-webkit-flex;display:-moz-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-moz-box-pack:center;box-pack:center;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;-o-justify-content:center;justify-content:center;-ms-flex-pack:center;-webkit-box-align:center;-moz-box-align:center;box-align:center;-webkit-align-items:center;-moz-align-items:center;-ms-align-items:center;-o-align-items:center;align-items:center;-ms-flex-align:center;position:absolute;height:100%;width:100%;z-index:998;top:0;left:0;background-color:#000;background-size:cover;background-repeat:no-repeat;background-position:50% 50%}.player-poster[data-poster].clickable{cursor:pointer}.player-poster[data-poster]:hover .play-wrapper[data-poster]{opacity:1}.player-poster[data-poster] .play-wrapper[data-poster]{width:100%;height:25%;margin:0 auto;opacity:.75;-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;transition:opacity .1s ease}.player-poster[data-poster] .play-wrapper[data-poster] svg{height:100%}.player-poster[data-poster] .play-wrapper[data-poster] svg path{fill:#fff}",""])},function(t,e){t.exports='<div class="play-wrapper" data-poster></div>\n'},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(193),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(37),h=r(f),p=i(4),g=r(p),y=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.container.options.gaAccount&&(r.account=r.container.options.gaAccount,r.trackerName=r.container.options.gaTrackerName?r.container.options.gaTrackerName+".":"Clappr.",r.domainName=r.container.options.gaDomainName,r.currentHDState=void 0,r.embedScript()),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"google_analytics"}}]),e.prototype.embedScript=function(){var t=this;if(window._gat)this.addEventListeners();else{var e=document.createElement("script");e.setAttribute("type","text/javascript"),e.setAttribute("async","async"),e.setAttribute("src","//www.google-analytics.com/ga.js"),e.onload=function(){return t.addEventListeners()},document.body.appendChild(e)}},e.prototype.addEventListeners=function(){var t=this;this.container&&(this.listenTo(this.container,g.default.CONTAINER_READY,this.onReady),this.listenTo(this.container,g.default.CONTAINER_PLAY,this.onPlay),this.listenTo(this.container,g.default.CONTAINER_STOP,this.onStop),this.listenTo(this.container,g.default.CONTAINER_PAUSE,this.onPause),this.listenTo(this.container,g.default.CONTAINER_ENDED,this.onEnded),this.listenTo(this.container,g.default.CONTAINER_STATE_BUFFERING,this.onBuffering),this.listenTo(this.container,g.default.CONTAINER_STATE_BUFFERFULL,this.onBufferFull),this.listenTo(this.container,g.default.CONTAINER_ERROR,this.onError),this.listenTo(this.container,g.default.CONTAINER_PLAYBACKSTATE,this.onPlaybackChanged),this.listenTo(this.container,g.default.CONTAINER_VOLUME,function(e){return t.onVolumeChanged(e)}),this.listenTo(this.container,g.default.CONTAINER_SEEK,function(e){return t.onSeek(e)}),this.listenTo(this.container,g.default.CONTAINER_FULL_SCREEN,this.onFullscreen),this.listenTo(this.container,g.default.CONTAINER_HIGHDEFINITIONUPDATE,this.onHD),this.listenTo(this.container,g.default.CONTAINER_PLAYBACKDVRSTATECHANGED,this.onDVR)),_gaq.push([this.trackerName+"_setAccount",this.account]),this.domainName&&_gaq.push([this.trackerName+"_setDomainName",this.domainName])},e.prototype.onReady=function(){this.push(["Video","Playback",this.container.playback.name])},e.prototype.onPlay=function(){this.push(["Video","Play",this.container.playback.src])},e.prototype.onStop=function(){this.push(["Video","Stop",this.container.playback.src])},e.prototype.onEnded=function(){this.push(["Video","Ended",this.container.playback.src])},e.prototype.onBuffering=function(){this.push(["Video","Buffering",this.container.playback.src])},e.prototype.onBufferFull=function(){this.push(["Video","Bufferfull",this.container.playback.src])},e.prototype.onError=function(){this.push(["Video","Error",this.container.playback.src])},e.prototype.onHD=function(t){var e=t?"ON":"OFF";e!==this.currentHDState&&(this.currentHDState=e,this.push(["Video","HD - "+e,this.container.playback.src]))},e.prototype.onPlaybackChanged=function(t){null!==t.type&&this.push(["Video","Playback Type - "+t.type,this.container.playback.src])},e.prototype.onDVR=function(t){var e=t?"ON":"OFF";this.push(["Interaction","DVR - "+e,this.container.playback.src])},e.prototype.onPause=function(){this.push(["Video","Pause",this.container.playback.src])},e.prototype.onSeek=function(){this.push(["Video","Seek",this.container.playback.src])},e.prototype.onVolumeChanged=function(){this.push(["Interaction","Volume",this.container.playback.src])},e.prototype.onFullscreen=function(){this.push(["Interaction","Fullscreen",this.container.playback.src])},e.prototype.push=function(t){var e=[this.trackerName+"_trackEvent"].concat(t);_gaq.push(e)},e}(h.default);e.default=y,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(195),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(37),h=r(f),p=i(4),g=r(p),y=i(9),v=r(y),m=function(t){function e(i){return(0,a.default)(this,e),(0,s.default)(this,t.call(this,i))}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"click_to_pause"}}]),e.prototype.bindEvents=function(){this.listenTo(this.container,g.default.CONTAINER_CLICK,this.click),this.listenTo(this.container,g.default.CONTAINER_SETTINGSUPDATE,this.settingsUpdate)},e.prototype.click=function(){(this.container.getPlaybackType()!==v.default.LIVE||this.container.isDvrEnabled())&&(this.container.isPlaying()?this.container.pause():this.container.play())},e.prototype.settingsUpdate=function(){var t=this.container.getPlaybackType()!==v.default.LIVE||this.container.isDvrEnabled();if(t!==this.pointerEnabled){var e=t?"addClass":"removeClass";this.container.$el[e]("pointer-enabled"),this.pointerEnabled=t}},e}(h.default);e.default=m,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(197),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(38),h=r(f),p=i(8),g=r(p),y=i(9),v=r(y),m=i(7),b=r(m),_=i(4),E=r(_),T=i(198),k=r(T),A=i(199),S=r(A),L=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.settingsUpdate(),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"template",get:function(){return(0,g.default)(S.default)}},{key:"name",get:function(){return"dvr_controls"}},{key:"events",get:function(){return{"click .live-button":"click"}}},{key:"attributes",get:function(){return{class:"dvr-controls","data-dvr-controls":""}}}]),e.prototype.bindEvents=function(){this.listenTo(this.core.mediaControl,E.default.MEDIACONTROL_CONTAINERCHANGED,this.containerChanged),this.listenTo(this.core.mediaControl,E.default.MEDIACONTROL_RENDERED,this.settingsUpdate),this.listenTo(this.core,E.default.CORE_OPTIONS_CHANGE,this.render),this.core.getCurrentContainer()&&(this.listenToOnce(this.core.getCurrentContainer(),E.default.CONTAINER_TIMEUPDATE,this.render),this.listenTo(this.core.getCurrentContainer(),E.default.CONTAINER_PLAYBACKDVRSTATECHANGED,this.dvrChanged))},e.prototype.containerChanged=function(){this.stopListening(),this.bindEvents()},e.prototype.dvrChanged=function(t){this.settingsUpdate(),this.core.mediaControl.$el.addClass("live"),t?(this.core.mediaControl.$el.addClass("dvr"),this.core.mediaControl.$el.find(".media-control-indicator[data-position], .media-control-indicator[data-duration]").hide()):this.core.mediaControl.$el.removeClass("dvr")},e.prototype.click=function(){var t=this.core.mediaControl,e=t.container;e.isPlaying()||e.play(),t.$el.hasClass("dvr")&&e.seek(e.getDuration())},e.prototype.settingsUpdate=function(){var t=this;this.stopListening(),this.shouldRender()&&(this.render(),this.$el.click(function(){return t.click()})),this.bindEvents()},e.prototype.shouldRender=function(){return(void 0===this.core.options.useDvrControls||!!this.core.options.useDvrControls)&&this.core.getPlaybackType()===v.default.LIVE},e.prototype.render=function(){return this.style=this.style||b.default.getStyleFor(k.default,{baseUrl:this.core.options.baseUrl}),this.$el.html(this.template({live:this.core.i18n.t("live"),backToLive:this.core.i18n.t("back_to_live")})),this.$el.append(this.style),this.shouldRender()&&(this.core.mediaControl.$el.addClass("live"),this.core.mediaControl.$(".media-control-left-panel[data-media-control]").append(this.$el)),this},e}(h.default);e.default=L,t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,'.dvr-controls[data-dvr-controls]{display:inline-block;float:left;color:#fff;line-height:32px;font-size:10px;font-weight:700;margin-left:6px}.dvr-controls[data-dvr-controls] .live-info{cursor:default;font-family:Roboto,Open Sans,Arial,sans-serif;text-transform:uppercase}.dvr-controls[data-dvr-controls] .live-info:before{content:"";display:inline-block;position:relative;width:7px;height:7px;border-radius:3.5px;margin-right:3.5px;background-color:#ff0101}.dvr-controls[data-dvr-controls] .live-info.disabled{opacity:.3}.dvr-controls[data-dvr-controls] .live-info.disabled:before{background-color:#fff}.dvr-controls[data-dvr-controls] .live-button{cursor:pointer;outline:none;display:none;border:0;color:#fff;background-color:transparent;height:32px;padding:0;opacity:.7;font-family:Roboto,Open Sans,Arial,sans-serif;text-transform:uppercase;-webkit-transition:all .1s ease;-moz-transition:all .1s ease;transition:all .1s ease}.dvr-controls[data-dvr-controls] .live-button:before{content:"";display:inline-block;position:relative;width:7px;height:7px;border-radius:3.5px;margin-right:3.5px;background-color:#fff}.dvr-controls[data-dvr-controls] .live-button:hover{opacity:1;text-shadow:hsla(0,0%,100%,.75) 0 0 5px}.dvr .dvr-controls[data-dvr-controls] .live-info{display:none}.dvr .dvr-controls[data-dvr-controls] .live-button{display:block}.dvr.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar]{background-color:#005aff}.media-control.live[data-media-control] .media-control-layer[data-controls] .bar-container[data-seekbar] .bar-background[data-seekbar] .bar-fill-2[data-seekbar]{background-color:#ff0101}',""])},function(t,e){t.exports='<div class="live-info"><%= live %></div>\n<button type="button" class="live-button" aria-label="<%= backToLive %>"><%= backToLive %></button>\n'},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(201),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(38),h=r(f),p=i(8),g=r(p),y=i(7),v=r(y),m=i(4),b=r(m),_=i(202),E=r(_),T=i(203),k=r(T),A=i(204),S=r(A),L=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i)),n=i.options.closedCaptionsConfig;return r._title=n&&n.title?n.title:null,r._ariaLabel=n&&n.ariaLabel?n.ariaLabel:"cc-button",r._labelCb=n&&n.labelCallback&&"function"==typeof n.labelCallback?n.labelCallback:function(t){return t.name},r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"closed_captions"}},{key:"template",get:function(){return(0,g.default)(S.default)}},{key:"events",get:function(){return{"click [data-cc-button]":"toggleContextMenu","click [data-cc-select]":"onTrackSelect"}}},{key:"attributes",get:function(){return{class:"cc-controls","data-cc-controls":""}}}]),e.prototype.bindEvents=function(){this.listenTo(this.core.mediaControl,b.default.MEDIACONTROL_CONTAINERCHANGED,this.containerChanged),this.listenTo(this.core.mediaControl,b.default.MEDIACONTROL_RENDERED,this.render),this.listenTo(this.core.mediaControl,b.default.MEDIACONTROL_HIDE,this.hideContextMenu),this.container=this.core.getCurrentContainer(),this.container&&(this.listenTo(this.container,b.default.CONTAINER_SUBTITLE_AVAILABLE,this.onSubtitleAvailable),this.listenTo(this.container,b.default.CONTAINER_SUBTITLE_CHANGED,this.onSubtitleChanged),this.listenTo(this.container,b.default.CONTAINER_STOP,this.onContainerStop))},e.prototype.onContainerStop=function(){this.ccAvailable(!1)},e.prototype.containerChanged=function(){this.ccAvailable(!1),this.stopListening(),this.bindEvents()},e.prototype.onSubtitleAvailable=function(){this.renderCcButton(),this.ccAvailable(!0)},e.prototype.onSubtitleChanged=function(t){this.setCurrentContextMenuElement(t.id)},e.prototype.onTrackSelect=function(t){var e=parseInt(t.target.dataset.ccSelect,10);return this.container.closedCaptionsTrackId=e,this.hideContextMenu(),t.stopPropagation(),!1},e.prototype.ccAvailable=function(t){var e=t?"addClass":"removeClass";this.$el[e]("available")},e.prototype.toggleContextMenu=function(){this.$el.find("ul").toggle()},e.prototype.hideContextMenu=function(){this.$el.find("ul").hide()},e.prototype.contextMenuElement=function(t){return this.$el.find("ul a"+(isNaN(t)?"":'[data-cc-select="'+t+'"]')).parent()},e.prototype.setCurrentContextMenuElement=function(t){if(this._trackId!==t){this.contextMenuElement().removeClass("current"),this.contextMenuElement(t).addClass("current");var e=t>-1?"addClass":"removeClass";this.$ccButton[e]("enabled"),this._trackId=t}},e.prototype.renderCcButton=function(){for(var t=this.container?this.container.closedCaptionsTracks:[],e=0;e<t.length;e++)t[e].label=this._labelCb(t[e]);this.$el.html(this.template({ariaLabel:this._ariaLabel,disabledLabel:this.core.i18n.t("disabled"),title:this._title,tracks:t})),this.$ccButton=this.$el.find("button.cc-button[data-cc-button]"),this.$ccButton.append(E.default),this.$el.append(this.style)},e.prototype.render=function(){this.style||(this.style=v.default.getStyleFor(k.default,{baseUrl:this.core.options.baseUrl})),this.renderCcButton();var t=this.core.mediaControl.$el.find("button[data-fullscreen]");return t[0]?this.$el.insertAfter(t):this.core.mediaControl.$el.find(".media-control-right-panel[data-media-control]").prepend(this.$el),this},e}(h.default);e.default=L,t.exports=e.default},function(t,e){t.exports='<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 49 41.8" style="enable-background:new 0 0 49 41.8;" xml:space="preserve"><path d="M47.1,0H3.2C1.6,0,0,1.2,0,2.8v31.5C0,35.9,1.6,37,3.2,37h11.9l3.2,1.9l4.7,2.7c0.9,0.5,2-0.1,2-1.1V37h22.1 c1.6,0,1.9-1.1,1.9-2.7V2.8C49,1.2,48.7,0,47.1,0z M7.2,18.6c0-4.8,3.5-9.3,9.9-9.3c4.8,0,7.1,2.7,7.1,2.7l-2.5,4 c0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2c0,0-2.7,2.9-7.6,2.9 C10.8,27.9,7.2,23.5,7.2,18.6z M36.9,27.9c-6.4,0-9.9-4.4-9.9-9.3c0-4.8,3.5-9.3,9.9-9.3C41.7,9.3,44,12,44,12l-2.5,4 c0,0-1.7-1.7-4.2-1.7c-2.8,0-4.3,2.1-4.3,4.3c0,2.1,1.5,4.4,4.5,4.4c2.5,0,4.9-2.1,4.9-2.1l2.2,4.2C44.5,25,41.9,27.9,36.9,27.9z"></path></svg>'},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,".cc-controls[data-cc-controls]{float:right;position:relative;display:none}.cc-controls[data-cc-controls].available{display:block}.cc-controls[data-cc-controls] .cc-button{padding:6px!important}.cc-controls[data-cc-controls] .cc-button.enabled{display:block;opacity:1}.cc-controls[data-cc-controls] .cc-button.enabled:hover{opacity:1;text-shadow:none}.cc-controls[data-cc-controls]>ul{list-style-type:none;position:absolute;bottom:25px;border:1px solid #000;display:none;background-color:#e6e6e6}.cc-controls[data-cc-controls] li{font-size:10px}.cc-controls[data-cc-controls] li[data-title]{background-color:#c3c2c2;padding:5px}.cc-controls[data-cc-controls] li a{color:#444;padding:2px 10px;display:block;text-decoration:none}.cc-controls[data-cc-controls] li a:hover{background-color:#555;color:#fff}.cc-controls[data-cc-controls] li a:hover a{color:#fff;text-decoration:none}.cc-controls[data-cc-controls] li.current a{color:red}",""])},function(t,e){t.exports='<button type="button" class="cc-button media-control-button media-control-icon" data-cc-button aria-label="<%= ariaLabel %>"></button>\n<ul>\n  <% if (title) { %>\n  <li data-title><%= title %></li>\n  <% }; %>\n  <li><a href="#" data-cc-select="-1"><%= disabledLabel %></a></li>\n  <% for (var i = 0; i < tracks.length; i++) { %>\n    <li><a href="#" data-cc-select="<%= tracks[i].id %>"><%= tracks[i].label %></a></li>\n  <% }; %>\n</ul>\n'},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(206),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(30),h=r(f),p=i(4),g=r(p),y=i(6),v=r(y),m=i(58),b=r(m),_=i(76),E=r(_),T=(0,v.default)('link[rel="shortcut icon"]'),k=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r._container=null,r.configure(),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"favicon"}},{key:"oldIcon",get:function(){return T}}]),e.prototype.configure=function(){this.core.options.changeFavicon?this.enabled||(this.stopListening(this.core,g.default.CORE_OPTIONS_CHANGE),this.enable()):this.enabled&&(this.disable(),this.listenTo(this.core,g.default.CORE_OPTIONS_CHANGE,this.configure))},e.prototype.bindEvents=function(){this.listenTo(this.core,g.default.CORE_OPTIONS_CHANGE,this.configure),this.listenTo(this.core.mediaControl,g.default.MEDIACONTROL_CONTAINERCHANGED,this.containerChanged),this.core.mediaControl.container&&this.containerChanged()},e.prototype.containerChanged=function(){this._container&&this.stopListening(this._container),this._container=this.core.mediaControl.container,this.listenTo(this._container,g.default.CONTAINER_PLAY,this.setPlayIcon),this.listenTo(this._container,g.default.CONTAINER_PAUSE,this.setPauseIcon),this.listenTo(this._container,g.default.CONTAINER_STOP,this.resetIcon),this.listenTo(this._container,g.default.CONTAINER_ENDED,this.resetIcon),this.listenTo(this._container,g.default.CONTAINER_ERROR,this.resetIcon),this.resetIcon()},e.prototype.disable=function(){t.prototype.disable.call(this),this.resetIcon()},e.prototype.destroy=function(){t.prototype.destroy.call(this),this.resetIcon()},e.prototype.createIcon=function(t){var e=(0,v.default)("<canvas/>");e[0].width=16,e[0].height=16;var i=e[0].getContext("2d");i.fillStyle="#000";var r=(0,v.default)(t).find("path").attr("d"),n=new Path2D(r);i.fill(n);var a=(0,v.default)('<link rel="shortcut icon" type="image/png"/>');return a.attr("href",e[0].toDataURL("image/png")),a},e.prototype.setPlayIcon=function(){this.playIcon||(this.playIcon=this.createIcon(b.default)),this.changeIcon(this.playIcon)},e.prototype.setPauseIcon=function(){this.pauseIcon||(this.pauseIcon=this.createIcon(E.default)),this.changeIcon(this.pauseIcon)},e.prototype.resetIcon=function(){(0,v.default)('link[rel="shortcut icon"]').remove(),(0,v.default)("head").append(this.oldIcon)},e.prototype.changeIcon=function(t){t&&((0,v.default)('link[rel="shortcut icon"]').remove(),(0,v.default)("head").append(t))},e}(h.default);e.default=k,t.exports=e.default},function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r=i(208),n=function(t){return t&&t.__esModule?t:{default:t}}(r);e.default=n.default,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(1),s=r(o),l=i(3),u=r(l),d=i(2),c=r(d),f=i(5),h=i(38),p=r(h),g=i(7),y=r(g),v=i(8),m=r(v),b=i(4),_=r(b),E=i(9),T=r(E),k=i(209),A=r(k),S=i(210),L=r(S),R=function(t){function e(i){(0,a.default)(this,e);var r=(0,s.default)(this,t.call(this,i));return r.hoveringOverSeekBar=!1,r.hoverPosition=null,r.duration=null,r.actualLiveTime=!!r.mediaControl.options.actualLiveTime,r.actualLiveTime&&(r.mediaControl.options.actualLiveServerTime?r.actualLiveServerTimeDiff=(new Date).getTime()-new Date(r.mediaControl.options.actualLiveServerTime).getTime():r.actualLiveServerTimeDiff=0),r}return(0,c.default)(e,t),(0,u.default)(e,[{key:"name",get:function(){return"seek_time"}},{key:"template",get:function(){return(0,m.default)(L.default)}},{key:"attributes",get:function(){return{class:"seek-time","data-seek-time":""}}},{key:"mediaControl",get:function(){return this.core.mediaControl}},{key:"mediaControlContainer",get:function(){return this.mediaControl.container}},{key:"isLiveStreamWithDvr",get:function(){return this.mediaControlContainer&&this.mediaControlContainer.getPlaybackType()===T.default.LIVE&&this.mediaControlContainer.isDvrEnabled()}},{key:"durationShown",get:function(){return this.isLiveStreamWithDvr&&!this.useActualLiveTime}},{key:"useActualLiveTime",get:function(){return this.actualLiveTime&&this.isLiveStreamWithDvr}}]),e.prototype.bindEvents=function(){this.listenTo(this.mediaControl,_.default.MEDIACONTROL_RENDERED,this.render),this.listenTo(this.mediaControl,_.default.MEDIACONTROL_MOUSEMOVE_SEEKBAR,this.showTime),this.listenTo(this.mediaControl,_.default.MEDIACONTROL_MOUSELEAVE_SEEKBAR,this.hideTime),this.listenTo(this.mediaControl,_.default.MEDIACONTROL_CONTAINERCHANGED,this.onContainerChanged),this.mediaControlContainer&&(this.listenTo(this.mediaControlContainer,_.default.CONTAINER_PLAYBACKDVRSTATECHANGED,this.update),this.listenTo(this.mediaControlContainer,_.default.CONTAINER_TIMEUPDATE,this.updateDuration))},e.prototype.onContainerChanged=function(){this.stopListening(),this.bindEvents()},e.prototype.updateDuration=function(t){this.duration=t.total,this.update()},e.prototype.showTime=function(t){this.hoveringOverSeekBar=!0,this.calculateHoverPosition(t),this.update()},e.prototype.hideTime=function(){this.hoveringOverSeekBar=!1,this.update()},e.prototype.calculateHoverPosition=function(t){var e=t.pageX-this.mediaControl.$seekBarContainer.offset().left;this.hoverPosition=Math.min(1,Math.max(e/this.mediaControl.$seekBarContainer.width(),0))},e.prototype.getSeekTime=function(){var t=void 0,e=void 0;if(this.useActualLiveTime){var i=new Date((new Date).getTime()-this.actualLiveServerTimeDiff);e=(new Date(i)-i.setHours(0,0,0,0))/1e3,t=e-this.duration+this.hoverPosition*this.duration,t<0&&(t+=86400)}else t=this.hoverPosition*this.duration;return{seekTime:t,secondsSinceMidnight:e}},e.prototype.update=function(){if(this.rendered)if(this.shouldBeVisible()){var t=this.getSeekTime(),e=(0,f.formatTime)(t.seekTime,this.useActualLiveTime);if(e!==this.displayedSeekTime&&(this.$seekTimeEl.text(e),this.displayedSeekTime=e),this.durationShown){this.$durationEl.show();var i=(0,f.formatTime)(this.actualLiveTime?t.secondsSinceMidnight:this.duration,this.actualLiveTime);i!==this.displayedDuration&&(this.$durationEl.text(i),this.displayedDuration=i)}else this.$durationEl.hide();this.$el.show();var r=this.mediaControl.$seekBarContainer.width(),n=this.$el.width(),a=this.hoverPosition*r;a-=n/2,a=Math.max(0,Math.min(a,r-n)),this.$el.css("left",a)}else this.$el.hide(),this.$el.css("left","-100%")},e.prototype.shouldBeVisible=function(){return this.mediaControlContainer&&this.mediaControlContainer.settings.seekEnabled&&this.hoveringOverSeekBar&&null!==this.hoverPosition&&null!==this.duration},e.prototype.render=function(){this.rendered=!0,this.displayedDuration=null,this.displayedSeekTime=null;var t=y.default.getStyleFor(A.default);this.$el.html(this.template()),this.$el.append(t),this.$el.hide(),this.mediaControl.$el.append(this.el),this.$seekTimeEl=this.$el.find("[data-seek-time]"),this.$durationEl=this.$el.find("[data-duration]"),this.$durationEl.hide(),this.update()},e}(p.default);e.default=R,t.exports=e.default},function(t,e,i){e=t.exports=i(10)(void 0),e.push([t.i,'.seek-time[data-seek-time]{position:absolute;white-space:nowrap;height:20px;line-height:20px;font-size:0;left:-100%;bottom:55px;background-color:rgba(2,2,2,.5);z-index:9999;-webkit-transition:opacity .1s ease;-moz-transition:opacity .1s ease;transition:opacity .1s ease}.seek-time[data-seek-time].hidden[data-seek-time]{opacity:0}.seek-time[data-seek-time] [data-seek-time]{display:inline-block;color:#fff;font-size:10px;padding-left:7px;padding-right:7px;vertical-align:top}.seek-time[data-seek-time] [data-duration]{display:inline-block;color:hsla(0,0%,100%,.5);font-size:10px;padding-right:7px;vertical-align:top}.seek-time[data-seek-time] [data-duration]:before{content:"|";margin-right:7px}',""])},function(t,e){t.exports="<span data-seek-time></span>\n<span data-duration></span>\n"},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(3),s=r(o),l=i(1),u=r(l),d=i(2),c=r(d),f=i(30),h=r(f),p=i(4),g=r(p),y=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,t.apply(this,arguments))}return(0,c.default)(e,t),e.prototype.bindEvents=function(){this.listenTo(this.core,g.default.CORE_CONTAINERS_CREATED,this.onContainersCreated)},e.prototype.onContainersCreated=function(){var t=this.core.containers.filter(function(t){return"no_op"!==t.playback.name})[0]||this.core.containers[0];t&&this.core.containers.forEach(function(e){e!==t&&e.destroy()})},(0,s.default)(e,[{key:"name",get:function(){return"sources"}}]),e}(h.default);e.default=y,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(0),a=r(n),o=i(3),s=r(o),l=i(1),u=r(l),d=i(2),c=r(d),f=i(4),h=r(f),p=i(30),g=r(p),y=i(5),v=function(t){function e(){return(0,a.default)(this,e),(0,u.default)(this,t.apply(this,arguments))}return(0,c.default)(e,t),e.prototype.bindEvents=function(){this.listenTo(this.core.mediaControl,h.default.MEDIACONTROL_CONTAINERCHANGED,this.containerChanged);var t=this.core.getCurrentContainer();t&&(this.listenTo(t,h.default.CONTAINER_ENDED,this.ended),this.listenTo(t,h.default.CONTAINER_STOP,this.ended))},e.prototype.containerChanged=function(){this.stopListening(),this.bindEvents()},e.prototype.ended=function(){(void 0===this.core.options.exitFullscreenOnEnd||this.core.options.exitFullscreenOnEnd)&&y.Fullscreen.isFullscreen()&&this.core.toggleFullscreen()},(0,s.default)(e,[{key:"name",get:function(){return"end_video"}}]),e}(g.default);e.default=v,t.exports=e.default},function(t,e,i){"use strict";function r(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,"__esModule",{value:!0});var n=i(31),a=r(n),o=i(0),s=r(o),l=i(1),u=r(l),d=i(3),c=r(d),f=i(2),h=r(f),p=i(5),g=i(6),y=r(g),v=i(30),m=r(v),b=function(t){function e(i){(0,s.default)(this,e);var r=(0,u.default)(this,t.call(this,i));return r._initializeMessages(),r}return(0,h.default)(e,t),(0,c.default)(e,[{key:"name",get:function(){return"strings"}}]),e.prototype.t=function(t){var e=this._language();return(e&&this._messages[e]||this._messages.en)[t]||t},e.prototype._language=function(){return this.core.options.language||(0,p.getBrowserLanguage)()},e.prototype._initializeMessages=function(){var t={en:{live:"live",back_to_live:"back to live",disabled:"Disabled",playback_not_supported:"Your browser does not support the playback of this video. Please try using a different browser."},pt:{live:"ao vivo",back_to_live:"voltar para o ao vivo",disabled:"Desativado",playback_not_supported:"Seu navegador não supporta a reprodução deste video. Por favor, tente usar um navegador diferente."},es:{live:"vivo",back_to_live:"volver en vivo",disabled:"Discapacitado",playback_not_supported:"Su navegador no soporta la reproducción de un video. Por favor, trate de usar un navegador diferente."},ru:{live:"прямой эфир",back_to_live:"к прямому эфиру",disabled:"Отключено",playback_not_supported:"Ваш браузер не поддерживает воспроизведение этого видео. Пожалуйста, попробуйте другой браузер."},fr:{live:"en direct",disabled:"Désactivé",back_to_live:"retour au direct",playback_not_supported:"Votre navigateur ne supporte pas la lecture de cette vidéo. Merci de tenter sur un autre navigateur."},tr:{live:"canlı",back_to_live:"canlı yayına dön",disabled:"Engelli",playback_not_supported:"Tarayıcınız bu videoyu oynatma desteğine sahip değil. Lütfen farklı bir tarayıcı ile deneyin."},et:{live:"Otseülekanne",back_to_live:"Tagasi otseülekande juurde",disabled:"Keelatud",playback_not_supported:"Teie brauser ei toeta selle video taasesitust. Proovige kasutada muud brauserit."}},e=this.core.options.strings||{};this._messages=(0,a.default)(t).reduce(function(i,r){return i[r]=y.default.extend({},t[r],e[r]),i},{}),this._messages["pt-BR"]=this._messages.pt,this._messages["en-US"]=this._messages.en,this._messages["es-419"]=this._messages.es,this._messages["fr-FR"]=this._messages.fr,this._messages["tr-TR"]=this._messages.tr,this._messages["et-EE"]=this._messages.et},e}(m.default);e.default=b,t.exports=e.default}])});;
(function(factory){"use strict";if(typeof define==='function'&&define.amd){define(['jquery'],factory);}else if(typeof exports==='object'&&typeof require==='function'){factory(require('jquery'));}else{factory(jQuery);}}(function($){"use strict";function ColorHelperToRGB(color){var obj=document.getElementById('ngyColorHelperToRGB');if(obj===null){obj=document.createElement('div');obj.id="ngyColorHelperToRGB";obj.style.cssText='display: none; color:'+color+';';document.body.appendChild(obj);}
var rgb=getComputedStyle(obj).color;return rgb;}
function ShadeBlendConvert(p,from,to){var rgba='';if(from.toUpperCase().substring(0,5)=='RGBA('){rgba='a';from='rgb('+from.substring(5);}
if(typeof(p)!="number"||p<-1||p>1||typeof(from)!="string"||(from[0]!='r'&&from[0]!='#')||(typeof(to)!="string"&&typeof(to)!="undefined"))return null;function sbcRip(d){var l=d.length,RGB=new Object();if(l>9){d=d.split(",");if(d.length<3||d.length>4)return null;RGB[0]=i(d[0].slice(4)),RGB[1]=i(d[1]),RGB[2]=i(d[2]),RGB[3]=d[3]?parseFloat(d[3]):-1;}else{if(l==8||l==6||l<4)return null;if(l<6)d="#"+d[1]+d[1]+d[2]+d[2]+d[3]+d[3]+(l>4?d[4]+""+d[4]:"");d=i(d.slice(1),16),RGB[0]=d>>16&255,RGB[1]=d>>8&255,RGB[2]=d&255,RGB[3]=l==9||l==5?r(((d>>24&255)/255)*10000)/10000:-1;}
return RGB;}
var i=parseInt,r=Math.round,h=from.length>9,h=typeof(to)=="string"?to.length>9?true:to=="c"?!h:false:h,b=p<0,p=b?p*-1:p,to=to&&to!="c"?to:b?"#000000":"#FFFFFF",f=sbcRip(from),t=sbcRip(to);if(!f||!t)return null;if(h)return"rgb"+rgba+"("+r((t[0]-f[0])*p+f[0])+","+r((t[1]-f[1])*p+f[1])+","+r((t[2]-f[2])*p+f[2])+(f[3]<0&&t[3]<0?")":","+(f[3]>-1&&t[3]>-1?r(((t[3]-f[3])*p+f[3])*10000)/10000:t[3]<0?f[3]:t[3])+")");else return"#"+(0x100000000+(f[3]>-1&&t[3]>-1?r(((t[3]-f[3])*p+f[3])*255):t[3]>-1?r(t[3]*255):f[3]>-1?r(f[3]*255):255)*0x1000000+r((t[0]-f[0])*p+f[0])*0x10000+r((t[1]-f[1])*p+f[1])*0x100+r((t[2]-f[2])*p+f[2])).toString(16).slice(f[3]>-1||t[3]>-1?1:3);}
function cloneJSObject(obj){if(obj===null||typeof obj!=='object'){return obj;}
var temp=obj.constructor();for(var key in obj){temp[key]=cloneJSObject(obj[key]);}
return temp;}
function getViewport(){var $win=jQuery(window);return{l:$win.scrollLeft(),t:$win.scrollTop(),w:$win.width(),h:$win.height()}}
function inViewportVert($elt,threshold){var wp=getViewport(),eltOS=$elt.offset(),th=$elt.outerHeight(true);if(wp.t==0&&(eltOS.top)<=(wp.t+wp.h)){return true;}
if(eltOS.top>=wp.t&&(eltOS.top+th)<=(wp.t+wp.h-threshold)){return true;}
else{return false;}}
function topInViewportVert($elt,threshold){var wp=getViewport(),eltOS=$elt.offset();if(eltOS.top>=wp.t&&eltOS.top<=(wp.t+wp.h-threshold)){return true;}
else{return false;}}
function setElementOnTop(start,elt){var highest_index=0;if(start==''){start='*';}
jQuery(start).each(function(){var cur=parseInt(jQuery(this).css('z-index'));highest_index=cur>highest_index?cur:highest_index;});highest_index++;jQuery(elt).css('z-index',highest_index);}
var toType=function(obj){return({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()};$.nanogallery2=function(elt,options){var _this=this;_this.$e=jQuery(elt);_this.e=elt;_this.$e.data('nanogallery2data',_this);_this.init=function(){if(typeof window.NGY2Item==='undefined'){window.NGY2Tools=(function(){function NGY2Tools(){var nextId=1;}
NGY2Tools.FilterAlbumName=function(title,ID){var s=title.toUpperCase();if(this.albumList.length>0){for(var j=0;j<this.albumList.length;j++){if(s===this.albumList[j].toUpperCase()||ID===this.albumList[j]){return true;}}}
else{var found=false;if(this.allowList!==null){for(var j=0;j<this.allowList.length;j++){if(s.indexOf(this.allowList[j])!==-1){found=true;}}
if(!found){return false;}}
if(this.blockList!==null){for(var j=0;j<this.blockList.length;j++){if(s.indexOf(this.blockList[j])!==-1){return false;}}}
return true;}};NGY2Tools.NanoAlert=function(context,msg,verbose){NGY2Tools.NanoConsoleLog.call(context,msg);if(context.$E.conConsole!=null){context.$E.conConsole.css({visibility:'visible',minHeight:'100px'});if(verbose==false){context.$E.conConsole.append('<p>'+msg+'</p>');}
else{context.$E.conConsole.append('<p>nanogallery2: '+msg+' ['+context.baseEltID+']</p>');}}};NGY2Tools.NanoConsoleLog=function(context,msg){if(window.console){console.log('nanogallery2: '+msg+' ['+context.baseEltID+']');}};NGY2Tools.PreloaderDisplay=function(display){if(display===true){this.$E.conLoadingB.removeClass('nanoGalleryLBarOff').addClass('nanoGalleryLBar');if(this.GOM.albumIdxLoading!=undefined&&this.GOM.albumIdxLoading!=-1){let item=this.I[this.GOM.albumIdxLoading];item.$Elts['.nGY2TnImg'].addClass('nGY2GThumbnailLoaderDisplayed');}}
else{this.$E.conLoadingB.removeClass('nanoGalleryLBar').addClass('nanoGalleryLBarOff');if(this.GOM.albumIdxLoading!=undefined&&this.GOM.albumIdxLoading!=-1){let item=this.I[this.GOM.albumIdxLoading];item.$Elts['.nGY2TnImg'].removeClass('nGY2GThumbnailLoaderDisplayed');}}};NGY2Tools.AreaShuffle=function(o){for(var j,x,i=o.length;i;j=Math.floor(Math.random()*i),x=o[--i],o[i]=o[j],o[j]=x);return o;};NGY2Tools.GetImageTitleFromURL=function(imageURL){if(this.O.thumbnailLabel.get('title')=='%filename'){return(imageURL.split('/').pop()).replace('_',' ');}
if(this.O.thumbnailLabel.get('title')=='%filenameNoExt'){var s=imageURL.split('/').pop();return(s.split('.').shift()).replace('_',' ');}
return'';};NGY2Tools.AlbumPostProcess=function(albumID){var sortOrder=this.gallerySorting[this.GOM.curNavLevel];var maxItems=this.galleryMaxItems[this.GOM.curNavLevel];if(sortOrder!=''||maxItems>0){var currentAlbum=this.I.filter(function(obj){return(obj.albumID==albumID&&obj.kind!='albumUp');});switch(sortOrder){case'RANDOM':currentAlbum=NGY2Tools.AreaShuffle(currentAlbum);break;case'REVERSED':currentAlbum=currentAlbum.reverse();break;case'TITLEASC':currentAlbum.sort(function(a,b){return((a.title.toUpperCase()<b.title.toUpperCase())?-1:((a.title.toUpperCase()>b.title.toUpperCase())?1:0));});break;case'TITLEDESC':currentAlbum.sort(function(a,b){return((a.title.toUpperCase()>b.title.toUpperCase())?-1:((a.title.toUpperCase()<b.title.toUpperCase())?1:0));});break;}
if(maxItems>0&&currentAlbum.length>maxItems){currentAlbum.splice(maxItems-1,currentAlbum.length-maxItems);}
this.I.ngy2removeIf(function(obj){return(obj.albumID==albumID&&obj.kind!='albumUp');});this.I.push.apply(this.I,currentAlbum);}};return NGY2Tools;})();window.NGY2Item=(function(){var nextId=1;function NGY2Item(itemID){var ID=0;if(itemID===undefined||itemID===null){ID=nextId++;}
else{ID=itemID;}
this.GetID=function(){return ID;};this.kind='';this.mediaKind='img';this.mediaMarkup='';this.G=null;this.title='';this.description='';this.albumID=0;this.src='';this.width=0;this.height=0;this.destinationURL='';this.downloadURL='';this.author='';this.left=0;this.top=0;this.width=0;this.height=0;this.resizedContentWidth=0;this.resizedContentHeight=0;this.thumbs={url:{l1:{xs:'',sm:'',me:'',la:'',xl:''},lN:{xs:'',sm:'',me:'',la:'',xl:''}},width:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},height:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}}};this.thumbnailImgRevealed=false;this.imageDominantColors=null;this.imageDominantColor=null;this.featured=false;this.flickrThumbSizes={};this.picasaThumbs=null;this.hovered=false;this.hoverInitDone=false;this.contentIsLoaded=false;this.contentLength=0;this.numberItems=0;this.mediaNumber=0;this.mediaCounter=0;this.eltTransform=[];this.eltFilter=[];this.eltEffect=[];this.paginationLastPage=0;this.paginationLastWidth=0;this.customData={};this.selected=false;this.imageWidth=0;this.imageHeight=0;this.$elt=null;this.$Elts=[];this.tags=[];this.albumTagList=[];this.albumTagListSel=[];this.exif={exposure:'',flash:'',focallength:'',fstop:'',iso:'',model:'',time:'',location:''};this.deleted=false;this.rotationAngle=0;}
NGY2Item.Get=function(instance,ID){var l=instance.I.length;for(var i=0;i<l;i++){if(instance.I[i].GetID()==ID){return instance.I[i];}}
return null;};NGY2Item.GetIdx=function(instance,ID){var l=instance.I.length;for(var i=0;i<l;i++){if(instance.I[i].GetID()==ID){return i;}}
return-1;};NGY2Item.New=function(instance,title,description,ID,albumID,kind,tags){var album=NGY2Item.Get(instance,albumID);if(instance.O.titleTranslationMap!==null){let obj=instance.O.titleTranslationMap.find(o=>o.title===title);if(obj!==undefined){title=obj.replace;}}
if(albumID!=-1&&albumID!=0&&title!='image gallery by nanogallery2 [build]'){if(instance.O.thumbnailLevelUp&&album.getContentLength(false)==0&&instance.O.album==''){let item=new NGY2Item('0');instance.I.push(item);album.contentLength+=1;item.title='UP';item.albumID=albumID;item.kind='albumUp';item.G=instance;jQuery.extend(true,item.thumbs.width,instance.tn.defaultSize.width);jQuery.extend(true,item.thumbs.height,instance.tn.defaultSize.height);}}
var item=NGY2Item.Get(instance,ID);if(item===null){item=new NGY2Item(ID);instance.I.push(item);if(albumID!=-1&&title!='image gallery by nanogallery2 [build]'){album.contentLength+=1;}}
item.G=instance;item.albumID=albumID;item.kind=kind;if(kind=='image'){album.mediaCounter+=1;item.mediaNumber=album.mediaCounter;}
var kw=instance.O.thumbnailFeaturedKeyword;if(kw!=''){kw=kw.toUpperCase();var p=title.toUpperCase().indexOf(kw);if(p>-1){item.featured=true;title=title.substring(0,p)+title.substring(p+kw.length,title.length);}
p=description.toUpperCase().indexOf(kw);if(p>-1){item.featured=true;description=description.substring(0,p)+description.substring(p+kw.length,description.length);}}
if(typeof instance.galleryFilterTags.Get()=='string'){switch(instance.galleryFilterTags.Get().toUpperCase()){case'TITLE':{let re=/(?:^|\W)#(\w+)(?!\w)/g,match,matches=[];while(match=re.exec(title)){matches.push(match[1].replace(/^\s*|\s*$/,''));}
item.setTags(matches);title=title.split('#').join('');break;}
case'DESCRIPTION':{let re=/(?:^|\W)#(\w+)(?!\w)/g,match2,matches2=[];while(match2=re.exec(description)){matches2.push(match2[1].replace(/^\s*|\s*$/,''));}
item.setTags(matches2);description=description.split('#').join('');break;}}}
else{if(tags!=''&&tags!=undefined){item.setTags(tags.split(' '));}}
item.title=escapeHtml(instance,title);item.description=escapeHtml(instance,description);return item;};NGY2Item.prototype.delete=function(){this.deleted=true;this.G.I[NGY2Item.GetIdx(this.G,this.albumID)].contentLength--;this.G.I[NGY2Item.GetIdx(this.G,this.albumID)].numberItems--;var nbTn=this.G.GOM.items.length;var ID=this.GetID();var foundIdx=-1;var foundGOMidx=-1;for(var i=0;i<nbTn;i++){var curTn=this.G.GOM.items[i];var item=this.G.I[curTn.thumbnailIdx];if(item.GetID()==ID){if(!curTn.neverDisplayed){foundIdx=curTn.thumbnailIdx;foundGOMidx=i;}}
else{if(foundIdx!=-1){if(!curTn.neverDisplayed){item.$getElt('.nGY2GThumbnail').data('index',i-1);item.$getElt('.nGY2GThumbnailImg').data('index',i-1);}}}}
if(foundIdx!=-1){var G=this.G;if(this.selected==true){this.selected=false;G.GOM.nbSelected--;}
if(G.I[foundIdx].$elt!==null){G.I[foundIdx].$elt.remove();}
G.GOM.items.splice(foundGOMidx,1);if(G.GOM.lastDisplayedIdx!=-1){G.GOM.lastDisplayedIdx-=1;}}}
NGY2Item.prototype.addToGOM=function(){var ID=this.GetID();var l=this.G.I.length;for(var idx=0;idx<l;idx++){var item=this.G.I[idx];if(item.GetID()==ID){var w=item.thumbImg().width;var h=item.thumbImg().height;if(h==0){h=this.G.tn.defaultSize.getHeight();}
if(w==0){w=this.G.tn.defaultSize.getWidth();}
var tn=new this.G.GOM.GTn(idx,w,h);this.G.GOM.items.push(tn);break;}}}
var entityMap={'&':'&amp;','<':'&lt;','>':'&gt;','"':'&quot;',"'":'&#39;','/':'&#x2F;','`':'&#x60;','=':'&#x3D;'};function escapeHtml(instance,string){if(instance.O.allowHTMLinData==true){return string;}
else{return String(string).replace(/[&<>"'`=\/]/g,function fromEntityMap(s){return entityMap[s];});}}
NGY2Item.get_nextId=function(){return nextId;};NGY2Item.prototype.$getElt=function(elt,forceRefresh){if(this.$elt==null){return null;}
if(this.$Elts[elt]!==undefined&&!forceRefresh==true){return this.$Elts[elt];}
else{if(elt=='.nGY2GThumbnail'){this.$Elts[elt]=this.$elt;}
else{this.$Elts[elt]=this.$elt.find(elt);}
return this.$Elts[elt];}};NGY2Item.prototype.removeElt=function(elt){if(this.$elt==null){return;}
if(this.$Elts[elt]==undefined){return;}
this.$Elts[elt].remove();var index=this.$Elts.indexOf(elt);this.$Elts.splice(index,1);};NGY2Item.prototype.album=function(){return this.G.I[NGY2Item.GetIdx(this.G,this.albumID)];};NGY2Item.prototype.mediaTransition=function(){if(this.G.O.viewerTransitionMediaKind.indexOf(this.mediaKind)>-1){return true;}
return false;};NGY2Item.prototype.imageSet=function(src,w,h){this.src=src;this.width=w;this.height=h;};NGY2Item.prototype.thumbSet=function(src,w,h,screenSize,level){var lst=['xs','sm','me','la','xl'];if(typeof screenSize==='undefined'||screenSize==''||screenSize==null){for(var i=0;i<lst.length;i++){if(typeof level==='undefined'||level==''){this.thumbs.url.l1[lst[i]]=src;this.thumbs.height.l1[lst[i]]=h;this.thumbs.width.l1[lst[i]]=w;this.thumbs.url.lN[lst[i]]=src;this.thumbs.height.lN[lst[i]]=h;this.thumbs.width.lN[lst[i]]=w;}
else{this.thumbs.url[level][lst[i]]=src;this.thumbs.height[level][lst[i]]=h;this.thumbs.width[level][lst[i]]=w;}}}
else{if(typeof level==='undefined'||level==''||level==null){this.thumbs.url.l1[screenSize]=src;this.thumbs.height.l1[screenSize]=h;this.thumbs.width.l1[screenSize]=w;this.thumbs.url.lN[screenSize]=src;this.thumbs.height.lN[screenSize]=h;this.thumbs.width.lN[screenSize]=w;}
else{this.thumbs.url[level][screenSize]=src;this.thumbs.height[level][screenSize]=h;this.thumbs.width[level][screenSize]=w;}}
for(var i=0;i<lst.length;i++){this.thumbs.height.l1[lst[i]]=h;}
for(var i=0;i<lst.length;i++){if(this.G.tn.settings.height.lN[lst[i]]==this.G.tn.settings.getH()&&this.G.tn.settings.width.l1[lst[i]]==this.G.tn.settings.getW()){this.thumbs.height.lN[lst[i]]=h;}}};NGY2Item.prototype.thumbSetImgHeight=function(h){var lst=['xs','sm','me','la','xl'];for(var i=0;i<lst.length;i++){if(this.G.tn.settings.height.l1[lst[i]]==this.G.tn.settings.getH()&&this.G.tn.settings.width.l1[lst[i]]==this.G.tn.settings.getW()){this.thumbs.height.l1[lst[i]]=h;}}
for(var i=0;i<lst.length;i++){if(this.G.tn.settings.height.lN[lst[i]]==this.G.tn.settings.getH()&&this.G.tn.settings.width.l1[lst[i]]==this.G.tn.settings.getW()){this.thumbs.height.lN[lst[i]]=h;}}};NGY2Item.prototype.thumbSetImgWidth=function(w){var lst=['xs','sm','me','la','xl'];for(var i=0;i<lst.length;i++){if(this.G.tn.settings.height.l1[lst[i]]==this.G.tn.settings.getH()&&this.G.tn.settings.width.l1[lst[i]]==this.G.tn.settings.getW()){this.thumbs.width.l1[lst[i]]=w;}}
for(var i=0;i<lst.length;i++){if(this.G.tn.settings.height.lN[lst[i]]==this.G.tn.settings.getH()&&this.G.tn.settings.width.l1[lst[i]]==this.G.tn.settings.getW()){this.thumbs.width.lN[lst[i]]=w;}}};NGY2Item.prototype.thumbImg=function(){var tnImg={src:'',width:0,height:0};if(this.title=='image gallery by nanogallery2 [build]'){tnImg.src=this.G.emptyGif;tnImg.url=this.G.emptyGif;return tnImg;}
tnImg.src=this.thumbs.url[this.G.GOM.curNavLevel][this.G.GOM.curWidth];tnImg.width=this.thumbs.width[this.G.GOM.curNavLevel][this.G.GOM.curWidth];tnImg.height=this.thumbs.height[this.G.GOM.curNavLevel][this.G.GOM.curWidth];return tnImg;};NGY2Item.prototype.setTags=function(tags){if(tags.length>0){this.tags=tags;var lstTags=this.album().albumTagList;for(var i=0;i<tags.length;i++){var tfound=false;for(var j=0;j<lstTags.length;j++){if(tags[i].toUpperCase()==lstTags[j].toUpperCase()){tfound=true;}}
if(tfound==false){this.album().albumTagList.push(tags[i])}}}};NGY2Item.prototype.checkTagFilter=function(){if(this.G.galleryFilterTags.Get()!=false&&this.album().albumTagList.length>0){if(this.G.O.thumbnailLevelUp&&this.kind=='albumUp'){return true;}
var found=false;var lstTags=this.album().albumTagListSel;if(lstTags.length==0){return true;}
for(var i=0;i<this.tags.length;i++){for(var j=0;j<lstTags.length;j++){if(this.tags[i].toUpperCase()==lstTags[j].toUpperCase()){found=true;break;}}}
return found;}
else
return true;};NGY2Item.prototype.isSearchTagFound=function(){if(this.G.GOM.albumSearchTags==''){return true;}
if(this.G.O.thumbnailLevelUp&&this.kind=='albumUp'){return true;}
for(var i=0;i<this.tags.length;i++){if(this.tags[i].toUpperCase().indexOf(this.G.GOM.albumSearchTags)>=0){return true;}}
return false;};NGY2Item.prototype.setMediaURL=function(url,mediaKind){this.src=url;this.mediaKind=mediaKind;if(mediaKind=='img'){this.mediaMarkup='<img class="nGY2ViewerMedia" src="'+url+'" alt=" " itemprop="contentURL" draggable="false">';}};NGY2Item.prototype.isToDisplay=function(albumID){return this.albumID==albumID&&this.checkTagFilter()&&this.isSearchFound()&&this.isSearchTagFound()&&this.deleted==false;};NGY2Item.prototype.getContentLength=function(filterTags){if(filterTags==false||this.albumTagList.length==0||this.G.galleryFilterTags.Get()==false){return this.contentLength;}
else{var l=this.G.I.length;var cnt=0;var albumID=this.GetID();for(var idx=0;idx<l;idx++){var item=this.G.I[idx];if(item.isToDisplay(albumID)){cnt++;}}
return cnt;}};NGY2Item.prototype.isSearchFound=function(){if(this.G.GOM.albumSearch!=''){if(this.title.toUpperCase().indexOf(this.G.GOM.albumSearch)==-1){return false;}}
return true;}
NGY2Item.prototype.responsiveURL=function(){var url='';switch(this.G.O.kind){case'':url=this.src;break;case'flickr':url=this.src;break;case'picasa':case'google':case'google2':default:url=this.src;break;}
return url;};NGY2Item.prototype.ThumbnailImageReveal=function(){if(this.thumbnailImgRevealed==false){this.thumbnailImgRevealed=true;new NGTweenable().tween({from:{opacity:0},to:{opacity:1},attachment:{item:this},delay:30,duration:400,easing:'easeOutQuart',step:function(state,att){var $e=att.item.$getElt('.nGY2TnImg');if($e!=null){$e.css(state);}}});}};function ValueApplyPercent(str,percent){str=String(str);if(str==='0'||percent==1){return str;}
var n=Number(str.replace(/[a-zA-Z]/g,''));var ar=str.match(/([^\-0-9\.]+)/g);var a='';if(ar!=null&&ar.length>0){a=ar.join();}
if(isNaN(n)||n==0){return str;}
n=n*percent;return n+a;}
NGY2Item.prototype.CSSTransformApply=function(eltClass){var obj=this.eltTransform[eltClass];if(eltClass=='.nGY2GThumbnail'){var nbStacks=obj.$elt.length-1;var pTranslateX=1;var pTranslateY=1;var pTranslateZ=1;var pTranslate=1;var pRotateX=1;var pRotateY=1;var pRotateZ=1;var pRotate=1;var pScale=1;for(var n=nbStacks;n>=0;n--){var v='translateX('+ValueApplyPercent(obj.translateX,pTranslateX)+') translateY('+ValueApplyPercent(obj.translateY,pTranslateY)+') translateZ('+ValueApplyPercent(obj.translateZ,pTranslateZ)+') scale('+ValueApplyPercent(obj.scale,pScale)+') translate('+ValueApplyPercent(obj.translate,pTranslate)+')';if(!(this.G.IE<=9)&&!this.G.isGingerbread){v+=' rotateX('+ValueApplyPercent(obj.rotateX,pRotateX)+') rotateY('+ValueApplyPercent(obj.rotateY,pRotateY)+') rotateZ('+ValueApplyPercent(obj.rotateZ,pRotateZ)+') rotate('+ValueApplyPercent(obj.rotate,pRotate)+')';}
else{v+=' rotate('+ValueApplyPercent(obj.rotateZ,pRotateZ)+')';}
obj.$elt[n].style[this.G.CSStransformName]=v;if(nbStacks>0){pTranslateX-=this.G.tn.opt.Get('stacksTranslateX');pTranslateY-=this.G.tn.opt.Get('stacksTranslateY');pTranslateZ-=this.G.tn.opt.Get('stacksTranslateZ');pRotateX-=this.G.tn.opt.Get('stacksRotateX');pRotateY-=this.G.tn.opt.Get('stacksRotateY');pRotateZ-=this.G.tn.opt.Get('stacksRotateZ');pScale-=this.G.tn.opt.Get('stacksScale');}}}
else{if(obj.$elt!=null){for(var n=0;n<obj.$elt.length;n++){if(obj.$elt[n]!=undefined){var v='translateX('+obj.translateX+') translateY('+obj.translateY+') translateZ('+obj.translateZ+') scale('+obj.scale+') translate('+obj.translate+')';if(!(this.G.IE<=9)&&!this.G.isGingerbread){v+=' rotateX('+obj.rotateX+') rotateY('+obj.rotateY+') rotateZ('+obj.rotateZ+') rotate('+obj.rotate+')';}
else{v+=' rotate('+obj.rotateZ+')';}
obj.$elt[n].style[this.G.CSStransformName]=v;}}}}};NGY2Item.prototype.CSSTransformSet=function(eltClass,transform,value,forceRefresh){if(this.eltTransform[eltClass]==undefined){this.eltTransform[eltClass]={translateX:0,translateY:0,translateZ:0,rotateX:0,rotateY:0,rotateZ:0,scale:1,translate:'0px,0px',rotate:0};this.eltTransform[eltClass].$elt=this.$getElt(eltClass);}
this.eltTransform[eltClass][transform]=value;if(forceRefresh===true){this.eltTransform[eltClass].$elt=this.$getElt(eltClass,true);}};NGY2Item.prototype.CSSFilterApply=function(eltClass){var obj=this.eltFilter[eltClass];var v='blur('+obj.blur+') brightness('+obj.brightness+') grayscale('+obj.grayscale+') sepia('+obj.sepia+') contrast('+obj.contrast+') opacity('+obj.opacity+') saturate('+obj.saturate+')';if(obj.$elt!=null){for(var n=0;n<obj.$elt.length;n++){if(obj.$elt[n]!=undefined){obj.$elt[n].style.WebkitFilter=v;obj.$elt[n].style.filter=v;}}}};NGY2Item.prototype.CSSFilterSet=function(eltClass,filter,value,forceRefresh){if(this.eltFilter[eltClass]==undefined){this.eltFilter[eltClass]={blur:0,brightness:'100%',grayscale:'0%',sepia:'0%',contrast:'100%',opacity:'100%',saturate:'100%'};this.eltFilter[eltClass].$elt=this.$getElt(eltClass);}
this.eltFilter[eltClass][filter]=value;if(forceRefresh===true){this.eltTransform[eltClass].$elt=this.$getElt(eltClass,true);}};NGY2Item.prototype.animate=function(effect,delay,hoverIn){if(this.$getElt()==null){return;}
var context={};context.G=this.G;context.item=this;context.effect=effect;context.hoverIn=hoverIn;context.cssKind='';if(hoverIn){if(this.eltEffect[effect.element]==undefined){this.eltEffect[effect.element]=[];}
if(this.eltEffect[effect.element][effect.type]==undefined){this.eltEffect[effect.element][effect.type]={initialValue:0,lastValue:0};}
if(effect.firstKeyframe){this.eltEffect[effect.element][effect.type]={initialValue:effect.from,lastValue:effect.from};}
context.animeFrom=effect.from;context.animeTo=effect.to;context.animeDuration=parseInt(effect.duration);context.animeDelay=30+parseInt(effect.delay+delay);context.animeEasing=effect.easing;}
else{context.animeFrom=this.eltEffect[effect.element][effect.type].lastValue;context.animeTo=this.eltEffect[effect.element][effect.type].initialValue;context.animeDuration=parseInt(effect.durationBack);context.animeDelay=30+parseInt(effect.delayBack+delay);context.animeEasing=effect.easingBack;}
var transform=['translateX','translateY','translateZ','scale','rotateX','rotateY','rotateZ'];for(var i=0;i<transform.length;i++){if(effect.type==transform[i]){context.cssKind='transform';break;}}
var filter=['blur','brightness','grayscale','sepia','contrast','opacity','saturate'];for(var i=0;i<filter.length;i++){if(effect.type==filter[i]){context.cssKind='filter';break;}}
if(hoverIn&&effect.element=='.nGY2GThumbnail'&&(effect.type=='scale'||effect.type=='rotateX')){this.G.GOM.lastZIndex++;this.$getElt(effect.element).css('z-index',this.G.GOM.lastZIndex);}
var tweenable=new NGTweenable();context.tweenable=tweenable;tweenable.tween({attachment:context,from:{'v':context.animeFrom},to:{'v':context.animeTo},duration:context.animeDuration,delay:context.animeDelay,easing:context.animeEasing,step:function(state,att){if(att.item.$getElt()==null){att.tweenable.stop(false);return;}
if(att.hoverIn&&!att.item.hovered){att.tweenable.stop(false);return;}
if(att.G.VOM.viewerDisplayed){att.tweenable.stop(false);return;}
if(state.v==att.animeFrom){return;}
switch(att.cssKind){case'transform':att.item.CSSTransformSet(att.effect.element,att.effect.type,state.v);att.item.CSSTransformApply(att.effect.element);break;case'filter':att.item.CSSFilterSet(att.effect.element,att.effect.type,state.v);att.item.CSSFilterApply(att.effect.element);break;default:var v=state.v;if(state.v.substring(0,4)=='rgb('||state.v.substring(0,5)=='rgba('){v=ShadeBlendConvert(0,v);}
att.item.$getElt(att.effect.element).css(att.effect.type,v);break;}
if(hoverIn){att.item.eltEffect[att.effect.element][att.effect.type].lastValue=state.v;}},finish:function(state,att){if(hoverIn){att.item.eltEffect[att.effect.element][att.effect.type].lastValue=state.v;}
if(att.item.$getElt()==null){return;}
if(att.hoverIn&&!att.item.hovered){return;}
if(att.G.VOM.viewerDisplayed){return;}
switch(att.cssKind){case'transform':att.item.CSSTransformSet(att.effect.element,att.effect.type,att.animeTo);att.item.CSSTransformApply(att.effect.element);break;case'filter':att.item.CSSFilterSet(att.effect.element,att.effect.type,att.animeTo);att.item.CSSFilterApply(att.effect.element);break;default:att.item.$getElt(att.effect.element).css(att.effect.type,att.animeTo);break;}}});};return NGY2Item;})();}
_this.options=jQuery.extend(true,{},jQuery.nanogallery2.defaultOptions,options);_this.nG2=null;_this.nG2=new nanoGALLERY2();_this.nG2.initiateGallery2(_this.e,_this.options);};_this.test=function(){}
_this.init();};jQuery.nanogallery2.defaultOptions={kind:'',userID:'',photoset:'',album:'',blockList:'scrapbook|profil|auto backup',tagBlockList:'',allowList:'',albumList:'',albumList2:null,RTL:false,flickrSkipOriginal:true,flickrAPIKey:'',breadcrumbAutoHideTopLevel:true,displayBreadcrumb:true,breadcrumbOnlyCurrentLevel:true,breadcrumbHideIcons:true,theme:'nGY2',galleryTheme:'dark',viewerTheme:'dark',items:null,itemsBaseURL:'',thumbnailSelectable:false,dataProvider:'',allowHTMLinData:false,locationHash:true,slideshowDelay:3000,slideshowAutoStart:false,debugMode:false,titleTranslationMap:null,galleryDisplayMoreStep:2,galleryDisplayMode:'fullContent',galleryL1DisplayMode:null,galleryPaginationMode:'rectangles',galleryPaginationTopButtons:true,galleryMaxRows:2,galleryL1MaxRows:null,galleryLastRowFull:false,galleryL1LastRowFull:null,galleryLayoutEngine:'default',paginationSwipe:true,paginationVisiblePages:10,galleryFilterTags:false,galleryL1FilterTags:null,galleryFilterTagsMode:'single',galleryL1FilterTagsMode:null,galleryMaxItems:0,galleryL1MaxItems:null,gallerySorting:'',galleryL1Sorting:null,galleryDisplayTransition:'none',galleryL1DisplayTransition:null,galleryDisplayTransitionDuration:1000,galleryL1DisplayTransitionDuration:null,galleryResizeAnimation:false,galleryRenderDelay:10,thumbnailCrop:true,thumbnailL1Crop:null,thumbnailCropScaleFactor:1.5,thumbnailLevelUp:false,thumbnailAlignment:'fillWidth',thumbnailWidth:300,thumbnailL1Width:null,thumbnailHeight:200,thumbnailL1Height:null,thumbnailBaseGridHeight:0,thumbnailL1BaseGridHeight:null,thumbnailGutterWidth:2,thumbnailL1GutterWidth:null,thumbnailGutterHeight:2,thumbnailL1GutterHeight:null,thumbnailBorderVertical:2,thumbnailL1BorderVertical:null,thumbnailBorderHorizontal:2,thumbnailL1BorderHorizontal:null,thumbnailFeaturedKeyword:'*featured',thumbnailAlbumDisplayImage:false,thumbnailHoverEffect2:'toolsAppear',thumbnailBuildInit2:'',thumbnailStacks:0,thumbnailL1Stacks:null,thumbnailStacksTranslateX:0,thumbnailL1StacksTranslateX:null,thumbnailStacksTranslateY:0,thumbnailL1StacksTranslateY:null,thumbnailStacksTranslateZ:0,thumbnailL1StacksTranslateZ:null,thumbnailStacksRotateX:0,thumbnailL1StacksRotateX:null,thumbnailStacksRotateY:0,thumbnailL1StacksRotateY:null,thumbnailStacksRotateZ:0,thumbnailL1StacksRotateZ:null,thumbnailStacksScale:0,thumbnailL1StacksScale:null,thumbnailDisplayOutsideScreen:true,thumbnailWaitImageLoaded:true,thumbnailSliderDelay:2000,galleryBuildInit2:'',portable:false,eventsDebounceDelay:10,touchAnimation:false,touchAnimationL1:undefined,touchAutoOpenDelay:0,thumbnailLabel:{position:'overImage',align:'center',valign:'bottom',display:true,displayDescription:false,titleMaxLength:0,titleMultiLine:false,descriptionMaxLength:0,descriptionMultiLine:false,hideIcons:true,title:''},thumbnailToolbarImage:{topLeft:'select',topRight:'featured'},thumbnailToolbarAlbum:{topLeft:'select',topRight:'counter'},thumbnailDisplayOrder:'',thumbnailL1DisplayOrder:null,thumbnailDisplayInterval:15,thumbnailL1DisplayInterval:null,thumbnailDisplayTransition:'fadeIn',thumbnailL1DisplayTransition:null,thumbnailDisplayTransitionEasing:'easeOutQuart',thumbnailL1DisplayTransitionEasing:null,thumbnailDisplayTransitionDuration:240,thumbnailL1DisplayTransitionDuration:null,thumbnailOpenInLightox:true,thumbnailOpenOriginal:false,lightboxStandalone:false,viewer:'internal',viewerFullscreen:false,imageTransition:'swipe2',viewerTransitionMediaKind:'img',viewerZoom:true,viewerRelativePinchZoom:false,viewerMinZoom:0.2,viewerResetZoomAtMin:false,viewerZoomOutScale:3.0,viewerImageDisplay:'',openOnStart:'',viewerHideToolsDelay:4000,viewerToolbar:{display:false,position:'bottom',fullWidth:false,align:'center',autoMinimize:0,standard:'minimizeButton,label',minimized:'minimizeButton,label,infoButton,shareButton,fullscreenButton'},viewerTools:{topLeft:'pageCounter,playPauseButton',topRight:'rotateLeft,rotateRight,fullscreenButton,closeButton'},viewerGallery:'bottomOverMedia',viewerGalleryTWidth:40,viewerGalleryTHeight:40,breakpointSizeSM:480,breakpointSizeME:992,breakpointSizeLA:1200,breakpointSizeXL:1800,fnThumbnailInit:null,fnThumbnailHoverInit:null,fnThumbnailHover:null,fnThumbnailHoverOut:null,fnThumbnailDisplayEffect:null,fnViewerInfo:null,fnImgToolbarCustInit:null,fnImgToolbarCustDisplay:null,fnImgToolbarCustClick:null,fnProcessData:null,fnThumbnailSelection:null,fnGalleryRenderStart:null,fnGalleryRenderEnd:null,fnGalleryObjectModelBuilt:null,fnGalleryLayoutApplied:null,fnThumbnailClicked:null,fnShoppingCartUpdated:null,fnThumbnailToolCustAction:null,fnThumbnailOpen:null,fnImgDisplayed:null,fnPopupMediaInfo:null,i18n:{'breadcrumbHome':'Galleries','breadcrumbHome_FR':'Galeries','thumbnailImageTitle':'','thumbnailAlbumTitle':'','thumbnailImageDescription':'','thumbnailAlbumDescription':'','infoBoxPhoto':'Photo','infoBoxDate':'Date','infoBoxAlbum':'Album','infoBoxDimensions':'Dimensions','infoBoxFilename':'Filename','infoBoxFileSize':'File size','infoBoxCamera':'Camera','infoBoxFocalLength':'Focal length','infoBoxExposure':'Exposure','infoBoxFNumber':'F Number','infoBoxISO':'ISO','infoBoxMake':'Make','infoBoxFlash':'Flash','infoBoxViews':'Views','infoBoxComments':'Comments'},icons:{thumbnailAlbum:'<i class="nGY2Icon-folder-empty"></i>',thumbnailImage:'<i class="nGY2Icon-picture"></i>',breadcrumbAlbum:'<i class="nGY2Icon-folder-empty"></i>',breadcrumbHome:'<i class="nGY2Icon-home"></i>',breadcrumbSeparator:'<i class="nGY2Icon-left-open"></i>',breadcrumbSeparatorRtl:'<i class="nGY2Icon-right-open"></i>',navigationFilterSelected:'<i style="color:#fff;" class="nGY2Icon-ok"></i>',navigationFilterUnselected:'<i style="color:#ddd;opacity:0.3;" class="nGY2Icon-circle-empty"></i>',navigationFilterSelectedAll:'<i class="nGY2Icon-ccw"></i>',navigationPaginationPrevious:'<i class="nGY2Icon-ngy2_chevron-left"></i>',navigationPaginationNext:'<i class="nGY2Icon-ngy2_chevron-right"></i>',thumbnailSelected:'<i style="color:#bff;" class="nGY2Icon-ok-circled"></i>',thumbnailUnselected:'<i style="color:#bff;" class="nGY2Icon-circle-empty"></i>',thumbnailFeatured:'<i style="color:#dd5;" class="nGY2Icon-star"></i>',thumbnailCounter:'<i class="nGY2Icon-picture"></i>',thumbnailShare:'<i class="nGY2Icon-ngy2_share2"></i>',thumbnailDownload:'<i class="nGY2Icon-ngy2_download2"></i>',thumbnailInfo:'<i class="nGY2Icon-ngy2_info2"></i>',thumbnailShoppingcart:'<i class="nGY2Icon-basket"></i>',thumbnailDisplay:'<i class="nGY2Icon-resize-full"></i>',thumbnailCustomTool1:'T1',thumbnailCustomTool2:'T2',thumbnailCustomTool3:'T3',thumbnailCustomTool4:'T4',thumbnailCustomTool5:'T5',thumbnailCustomTool6:'T6',thumbnailCustomTool7:'T7',thumbnailCustomTool8:'T8',thumbnailCustomTool9:'T9',thumbnailCustomTool10:'T10',thumbnailAlbumUp:'<i style="font-size: 3em;" class="nGY2Icon-ngy2_chevron_up2"></i>',paginationNext:'<i class="nGY2Icon-right-open"></i>',paginationPrevious:'<i class="nGY2Icon-left-open"></i>',galleryMoreButton:'<i class="nGY2Icon-picture"></i> &nbsp; <i class="nGY2Icon-right-open"></i>',buttonClose:'<i class="nGY2Icon-ngy2_close2"></i>',viewerPrevious:'<i class="nGY2Icon-ngy2_chevron-left"></i>',viewerNext:'<i class="nGY2Icon-ngy2_chevron-right"></i>',viewerImgPrevious:'<i class="nGY2Icon-ngy2_chevron_left3"></i>',viewerImgNext:'<i class="nGY2Icon-ngy2_chevron_right3"></i>',viewerDownload:'<i class="nGY2Icon-ngy2_download2"></i>',viewerToolbarMin:'<i class="nGY2Icon-ellipsis-vert"></i>',viewerToolbarStd:'<i class="nGY2Icon-menu"></i>',viewerPlay:'<i class="nGY2Icon-play"></i>',viewerPause:'<i class="nGY2Icon-pause"></i>',viewerFullscreenOn:'<i class="nGY2Icon-resize-full"></i>',viewerFullscreenOff:'<i class="nGY2Icon-resize-small"></i>',viewerZoomIn:'<i class="nGY2Icon-ngy2_zoom_in2"></i>',viewerZoomOut:'<i class="nGY2Icon-ngy2_zoom_out2"></i>',viewerLinkOriginal:'<i class="nGY2Icon-ngy2_external2"></i>',viewerInfo:'<i class="nGY2Icon-ngy2_info2"></i>',viewerShare:'<i class="nGY2Icon-ngy2_share2"></i>',viewerRotateLeft:'<i class="nGY2Icon-ccw"></i>',viewerRotateRight:'<i class="nGY2Icon-cw"></i>',viewerShoppingcart:'<i class="nGY2Icon-basket"></i>',user:'<i class="nGY2Icon-user"></i>',location:'<i class="nGY2Icon-location"></i>',picture:'<i class="nGY2Icon-picture"></i>',config:'<i class="nGY2Icon-wrench"></i>',shareFacebook:'<i style="color:#3b5998;" class="nGY2Icon-facebook-squared"></i>',shareTwitter:'<i style="color:#00aced;" class="nGY2Icon-twitter-squared"></i>',shareTumblr:'<i style="color:#32506d;" class="nGY2Icon-tumblr-squared"></i>',sharePinterest:'<i style="color:#cb2027;" class="nGY2Icon-pinterest-squared"></i>',shareVK:'<i style="color:#3b5998;" class="nGY2Icon-vkontakte"></i>',shareMail:'<i style="color:#555;" class="nGY2Icon-mail-alt"></i>',viewerCustomTool1:'T1',viewerCustomTool2:'T2',viewerCustomTool3:'T3',viewerCustomTool4:'T4',viewerCustomTool5:'T5',viewerCustomTool6:'T6',viewerCustomTool7:'T7',viewerCustomTool8:'T8',viewerCustomTool9:'T9',viewerCustomTool10:'T10'}};jQuery.fn.nanogallery2=function(args,option,value){if(typeof jQuery(this).data('nanogallery2data')==='undefined'){if(args=='destroy'){return;}
return this.each(function(){(new jQuery.nanogallery2(this,args));});}
else{var nG2=$(this).data('nanogallery2data').nG2;if(args!==undefined&&args.lightboxStandalone===true){nG2.LightboxReOpen();return;}
switch(args){case'displayItem':nG2.DisplayItem(option);break;case'search':return(nG2.Search(option));break;case'search2':return nG2.Search2(option,value);break;case'search2Execute':return nG2.Search2Execute();break;case'refresh':nG2.Refresh();break;case'resize':nG2.Resize();break;case'instance':return nG2;break;case'data':nG2.data={items:nG2.I,gallery:nG2.GOM,lightbox:nG2.VOM,shoppingcart:nG2.shoppingCart};return nG2.data;break;case'reload':nG2.ReloadAlbum();return $(this);break;case'itemsSelectedGet':return nG2.ItemsSelectedGet();break;case'itemsSetSelectedValue':nG2.ItemsSetSelectedValue(option,value);break;case'option':if(typeof value==='undefined'){return nG2.Get(option);}else{nG2.Set(option,value);if(option=='demoViewportWidth'){$(window).trigger('resize');}}
break;case'destroy':nG2.Destroy();$(this).removeData('nanogallery2data');break;case'shoppingCartGet':return nG2.shoppingCart;break;case'shoppingCartUpdate':if(typeof value==='undefined'||typeof option==='undefined'){return false;}
var item_ID=option;var new_qty=value;for(var i=0;i<nG2.shoppingCart.length;i++){if(nG2.shoppingCart[i].ID==item_ID){nG2.shoppingCart[i].qty=new_qty;let item=nG2.I[nG2.shoppingCart[i].idx];nG2.ThumbnailToolbarOneCartUpdate(item);if(new_qty==0){nG2.shoppingCart.splice(i,1);}
var fu=nG2.O.fnShoppingCartUpdated;if(fu!==null){typeof fu=='function'?fu(nG2.shoppingCart,item,'api'):window[fu](nG2.shoppingCart,item,'api');}
break;}}
return nG2.shoppingCart;break;case'shoppingCartRemove':if(typeof option==='undefined'){return false;}
var ID=option;for(var i=0;i<nG2.shoppingCart.length;i++){if(nG2.shoppingCart[i].ID==ID){var item=nG2.I[nG2.shoppingCart[i].idx];nG2.shoppingCart[i].qty=0;nG2.ThumbnailToolbarOneCartUpdate(item);nG2.shoppingCart.splice(i,1);var fu=nG2.O.fnShoppingCartUpdated;if(fu!==null){typeof fu=='function'?fu(nG2.shoppingCart,item,'api'):window[fu](nG2.shoppingCart,item,'api');}
break;}}
return nG2.shoppingCart;break;case'closeViewer':nG2.CloseViewer();break;case'minimizeToolbar':nG2.MinimizeToolbar();break;case'maximizeToolbar':nG2.MaximizeToolbar();break;case'paginationPreviousPage':nG2.PaginationPreviousPage();break;case'paginationNextPage':nG2.paginationNextPage();break;case'paginationGotoPage':nG2.PaginationGotoPage(option);break;case'paginationCountPages':nG2.PaginationCountPages();break;}
return $(this);}};function nanoGALLERY2(){"use strict";this.LightboxReOpen=function(){LightboxStandaloneDisplay();}
this.ReloadAlbum=function(){if(G.O.kind===''){throw'Not supported for this content source:'+G.O.kind;}
var albumIdx=G.GOM.albumIdx;if(albumIdx==-1){throw('Current album not found.');}
var albumID=G.I[albumIdx].GetID();var l=G.I.length;for(var i=0;i<l;i++){var item=G.I[i];if(item.albumID==albumID){item.selected=false;}}
G.I[albumIdx].contentIsLoaded=false;DisplayAlbum('-1',albumID);};this.ItemsSetSelectedValue=function(items,value){var l=items.length;for(var j=0;j<l;j++){ThumbnailSelectionSet(items[j],value);}};this.ItemsSelectedGet=function(){var selectedItems=[];var l=G.I.length;for(var i=0;i<l;i++){if(G.I[i].selected==true){selectedItems.push(G.I[i]);}}
return selectedItems;};this.Get=function(option){return G.O[option];};this.Set=function(option,value){G.O[option]=value;switch(option){case'thumbnailSelectable':ThumbnailSelectionClear();GalleryRender(G.GOM.albumIdx);break;}};this.Refresh=function(){GalleryRender(G.GOM.albumIdx);};this.Resize=function(){GalleryResize();};this.DisplayItem=function(itemID){var IDs=parseIDs(itemID);if(IDs.imageID!='0'){DisplayPhoto(IDs.imageID,IDs.albumID);}
else{DisplayAlbum('-1',IDs.albumID);}};this.ThumbnailToolbarOneCartUpdate=function(item){ThumbnailBuildToolbarOneCartUpdate(item);}
var CountItemsToDisplay=function(gIdx){if(G.I[gIdx]==undefined){return 0;}
var albumID=G.I[gIdx].GetID();var l=G.I.length;var cnt=0;for(var idx=0;idx<l;idx++){var item=G.I[idx];if(item.isToDisplay(albumID)){cnt++;}}
return cnt;}
this.Search=function(search){G.GOM.albumSearch=search.toUpperCase();var gIdx=G.GOM.albumIdx;GalleryRender(G.GOM.albumIdx);return CountItemsToDisplay(gIdx);};this.Search2=function(searchTitle,searchTags){if(searchTitle!=undefined&&searchTitle!=null){G.GOM.albumSearch=searchTitle.toUpperCase().trim();}
else{G.GOM.albumSearch='';}
if(searchTags!=null&&searchTags!=undefined){G.GOM.albumSearchTags=searchTags.toUpperCase().trim();}
else{G.GOM.albumSearchTags='';}
return CountItemsToDisplay(G.GOM.albumIdx);};this.Search2Execute=function(){var gIdx=G.GOM.albumIdx;GalleryRender(G.GOM.albumIdx);return CountItemsToDisplay(gIdx);};this.Destroy=function(){if(G.GOM.hammertime!=null){G.GOM.hammertime.destroy();G.GOM.hammertime=null;}
if(G.VOM.hammertime!=null){G.VOM.hammertime.destroy();G.VOM.hammertime=null;}
$('#ngycs_'+G.baseEltID).remove()
G.GOM.items=[];NGY2Item.New(G,G.i18nTranslations.breadcrumbHome,'','0','-1','album');G.GOM.navigationBar.$newContent=null;G.$E.base.empty();G.$E.base.removeData();if(G.O.locationHash){jQuery(window).off('hashchange.nanogallery2.'+G.baseEltID);}
jQuery(window).off('resize.nanogallery2.'+G.baseEltID);jQuery(window).off('orientationChange.nanogallery2.'+G.baseEltID);jQuery(window).off('scroll.nanogallery2.'+G.baseEltID);if(G.$E.scrollableParent!==null){G.$E.scrollableParent.off('scroll.nanogallery2.'+G.baseEltID);}
G.GOM.firstDisplay=true;};this.CloseViewer=function(){LightboxClose(null);return false;};this.MinimizeToolbar=function(){ViewerToolbarForVisibilityMin();return false;};this.MaximizeToolbar=function(){ViewerToolbarForVisibilityStd();return false;};this.PaginationPreviousPage=function(){paginationPreviousPage();return false;};this.PaginationNextPage=function(){paginationNextPage();return false;};this.PaginationGotoPage=function(page){if(page>1){page--;}
G.GOM.pagination.currentPage=page;G.GOM.ScrollToTop();GalleryDisplayPart1();GalleryDisplayPart2(true);return false;};this.PaginationCountPages=function(){if(G.GOM.items.length==0){return 0;}
var nbPages=Math.ceil((G.GOM.items[G.GOM.items.length-1].row+1)/G.galleryMaxRows.Get());return nbPages;};var throttle=function(func,wait,options){var context,args,result;var timeout=null;var previous=0;if(!options)options={};var later=function(){previous=options.leading===false?0:new Date().getTime();timeout=null;result=func.apply(context,args);if(!timeout)context=args=null;};return function(){var now=new Date().getTime();if(!previous&&options.leading===false)previous=now;var remaining=wait-(now-previous);context=this;args=arguments;if(remaining<=0||remaining>wait){if(timeout){clearTimeout(timeout);timeout=null;}
previous=now;result=func.apply(context,args);if(!timeout)context=args=null;}else if(!timeout&&options.trailing!==false){timeout=setTimeout(later,remaining);}
return result;};};var debounce=function(func,threshold,execAsap){var timeout;return function debounced(){var obj=this,args=arguments;function delayed(){if(!execAsap)
func.apply(obj,args);timeout=null;};if(timeout)
clearTimeout(timeout);else if(execAsap)
func.apply(obj,args);timeout=setTimeout(delayed,threshold||100);};}
window.ng_draf=function(cb){return requestAnimationFrame(function(){window.requestAnimationFrame(cb)})}
window.requestTimeout=function(fn,delay){if(!window.requestAnimationFrame&&!window.webkitRequestAnimationFrame&&!(window.mozRequestAnimationFrame&&window.mozCancelRequestAnimationFrame)&&!window.oRequestAnimationFrame&&!window.msRequestAnimationFrame)
return window.setTimeout(fn,delay);var start=new Date().getTime(),handle=new Object();function loop(){var current=new Date().getTime(),delta=current-start;delta>=delay?fn.call():handle.value=requestAnimFrame(loop);};handle.value=requestAnimFrame(loop);return handle;};window.requestAnimFrame=(function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback,element){window.setTimeout(callback,1000/60);};})();window.clearRequestTimeout=function(handle){window.cancelAnimationFrame?window.cancelAnimationFrame(handle.value):window.webkitCancelAnimationFrame?window.webkitCancelAnimationFrame(handle.value):window.webkitCancelRequestAnimationFrame?window.webkitCancelRequestAnimationFrame(handle.value):window.mozCancelRequestAnimationFrame?window.mozCancelRequestAnimationFrame(handle.value):window.oCancelRequestAnimationFrame?window.oCancelRequestAnimationFrame(handle.value):window.msCancelRequestAnimationFrame?window.msCancelRequestAnimationFrame(handle.value):clearTimeout(handle);};var G=this;G.I=[];G.Id=[];G.O=null;G.baseEltID=null;G.$E={base:null,conTnParent:null,conLoadingB:null,conConsole:null,conNavigationBar:null,conTnBottom:null,scrollableParent:null};G.shoppingCart=[];G.layout={internal:true,engine:'',support:{rows:false},prerequisite:{imageSize:false},SetEngine:function(){if(G.layout.internal){if(G.tn.settings.width[G.GOM.curNavLevel][G.GOM.curWidth]=='auto'||G.tn.settings.width[G.GOM.curNavLevel][G.GOM.curWidth]==''){G.layout.engine='JUSTIFIED';G.layout.support.rows=true;G.layout.prerequisite.imageSize=true;return;}
if(G.tn.settings.height[G.GOM.curNavLevel][G.GOM.curWidth]=='auto'||G.tn.settings.height[G.GOM.curNavLevel][G.GOM.curWidth]==''){G.layout.engine='CASCADING';G.layout.support.rows=false;G.layout.prerequisite.imageSize=true;return;}
if(G.tn.settings.getMosaic()!=null){G.layout.engine='MOSAIC';G.layout.support.rows=true;G.layout.prerequisite.imageSize=false;return;}
G.layout.engine='GRID';G.layout.support.rows=true;G.layout.prerequisite.imageSize=false;}}};G.galleryResizeEventEnabled=false;G.galleryMaxRows={l1:0,lN:0,Get:function(){return G.galleryMaxRows[G.GOM.curNavLevel];}};G.galleryMaxItems={l1:0,lN:0,Get:function(){return G.galleryMaxItems[G.GOM.curNavLevel];}};G.galleryFilterTags={l1:0,lN:0,Get:function(){return G.galleryFilterTags[G.GOM.curNavLevel];}};G.galleryFilterTagsMode={l1:0,lN:0,Get:function(){return G.galleryFilterTagsMode[G.GOM.curNavLevel];}};G.galleryDisplayMode={l1:'FULLCONTENT',lN:'FULLCONTENT',Get:function(){return G.galleryDisplayMode[G.GOM.curNavLevel];}};G.galleryLastRowFull={l1:false,lN:false,Get:function(){return G.galleryLastRowFull[G.GOM.curNavLevel];}};G.gallerySorting={l1:'',lN:'',Get:function(){return G.gallerySorting[G.GOM.curNavLevel];}};G.galleryDisplayTransition={l1:'none',lN:'none',Get:function(){return G.galleryDisplayTransition[G.GOM.curNavLevel];}};G.galleryDisplayTransitionDuration={l1:500,lN:500,Get:function(){return G.galleryDisplayTransitionDuration[G.GOM.curNavLevel];}};G.$currentTouchedThumbnail=null;G.tn={opt:{l1:{crop:true,stacks:0,stacksTranslateX:0,stacksTranslateY:0,stacksTranslateZ:0,stacksRotateX:0,stacksRotateY:0,stacksRotateZ:0,stacksScale:0,borderHorizontal:0,borderVertical:0,baseGridHeight:0,displayTransition:'FADEIN',displayTransitionStartVal:0,displayTransitionEasing:'easeOutQuart',displayTransitionDuration:240,displayInterval:15},lN:{crop:true,stacks:0,stacksTranslateX:0,stacksTranslateY:0,stacksTranslateZ:0,stacksRotateX:0,stacksRotateY:0,stacksRotateZ:0,stacksScale:0,borderHorizontal:0,borderVertical:0,baseGridHeight:0,displayTransition:'FADEIN',displayTransitionStartVal:0,displayTransitionEasing:'easeOutQuart',displayTransitionDuration:240,displayInterval:15},Get:function(opt){return G.tn.opt[G.GOM.curNavLevel][opt];}},scale:1,labelHeight:{l1:0,lN:0,get:function(){return G.tn.labelHeight[G.GOM.curNavLevel];}},defaultSize:{width:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},height:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},getWidth:function(){return G.tn.defaultSize.width[G.GOM.curNavLevel][G.GOM.curWidth];},getOuterWidth:function(){G.tn.borderWidth=G.tn.opt.Get('borderHorizontal');G.tn.borderHeight=G.tn.opt.Get('borderVertical');var w=G.tn.defaultSize.width[G.GOM.curNavLevel][G.GOM.curWidth]+G.tn.opt.Get('borderHorizontal')*2;if(G.O.thumbnailLabel.get('position')=='right'||G.O.thumbnailLabel.get('position')=='left'){w+=G.tn.defaultSize.width[G.GOM.curNavLevel][G.GOM.curWidth];}
return w;},getHeight:function(){return G.tn.defaultSize.height[G.GOM.curNavLevel][G.GOM.curWidth];},getOuterHeight:function(){return G.tn.defaultSize.height[G.GOM.curNavLevel][G.GOM.curWidth]+G.tn.opt.Get('borderVertical')*2;}},settings:{width:{l1:{xs:0,sm:0,me:0,la:0,xl:0,xsc:'u',smc:'u',mec:'u',lac:'u',xlc:'u'},lN:{xs:0,sm:0,me:0,la:0,xl:0,xsc:'u',smc:'u',mec:'u',lac:'u',xlc:'u'}},height:{l1:{xs:0,sm:0,me:0,la:0,xl:0,xsc:'u',smc:'u',mec:'u',lac:'u',xlc:'u'},lN:{xs:0,sm:0,me:0,la:0,xl:0,xsc:'u',smc:'u',mec:'u',lac:'u',xlc:'u'}},getH:function(l,w){var cl=(l==undefined?G.GOM.curNavLevel:l);var cw=(w==undefined?G.GOM.curWidth:w);if(G.layout.engine=='MOSAIC'){return this.height[cl][cw]*this.mosaic[cl+'Factor']['h'][cw];}
else{return this.height[cl][cw];}},getW:function(l,w){var cl=(l==undefined?G.GOM.curNavLevel:l);var cw=(w==undefined?G.GOM.curWidth:w);if(G.layout.engine=='MOSAIC'){return this.width[cl][cw]*this.mosaic[cl+'Factor']['w'][cw];}
else{return this.width[cl][cw];}},mosaic:{l1:{xs:null,sm:null,me:null,la:null,xl:null},lN:{xs:null,sm:null,me:null,la:null,xl:null},l1Factor:{h:{xs:1,sm:1,me:1,la:1,xl:1},w:{xs:1,sm:1,me:1,la:1,xl:1}},lNFactor:{h:{xs:1,sm:1,me:1,la:1,xl:1},w:{xs:1,sm:1,me:1,la:1,xl:1}}},getMosaic:function(){return this.mosaic[G.GOM.curNavLevel][G.GOM.curWidth];},mosaicCalcFactor:function(l,w){var maxW=1;var maxH=1;for(var n=0;n<G.tn.settings.mosaic[l][w].length;n++){maxW=Math.max(maxW,this.mosaic[l][w][n]['w']);maxH=Math.max(maxH,this.mosaic[l][w][n]['h']);}
this.mosaic[l+'Factor']['h'][w]=maxH;this.mosaic[l+'Factor']['w'][w]=maxW;},gutterHeight:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},gutterWidth:{l1:{xs:0,sm:0,me:0,la:0,xl:0},lN:{xs:0,sm:0,me:0,la:0,xl:0}},GetResponsive:function(setting){return this[setting][G.GOM.curNavLevel][G.GOM.curWidth];}},hoverEffects:{std:[],level1:[],get:function(){if(G.GOM.curNavLevel=='l1'&&this.level1.length!==0){return this.level1;}
else{return this.std;}}},buildInit:{std:[],level1:[],get:function(){if(G.GOM.curNavLevel=='l1'&&this.level1.length!==0){return this.level1;}
else{return this.std;}}},toolbar:{album:{topLeft:'',topRight:'',bottomLeft:'',bottomRight:''},image:{topLeft:'',topRight:'',bottomLeft:'',bottomRight:''},albumUp:{topLeft:'',topRight:'',bottomLeft:'',bottomRight:''},get:function(item){return this[item.kind];},},style:{l1:{label:'',title:'',desc:''},lN:{label:'',title:'',desc:''},getTitle:function(){return('style="'+this[G.GOM.curNavLevel].title+'"');},getDesc:function(){return('style="'+this[G.GOM.curNavLevel].desc+'"');},getLabel:function(){var s='style="'+this[G.GOM.curNavLevel].label;s+=(G.O.RTL?'"direction:RTL;"':'');s+='"';return s;}}};G.scrollTimeOut=0;G.i18nTranslations={'paginationPrevious':'Previous','paginationNext':'Next','breadcrumbHome':'List of Albums','thumbnailImageTitle':'','thumbnailAlbumTitle':'','thumbnailImageDescription':'','thumbnailAlbumDescription':''};G.emptyGif='data:image/gif;base64,R0lGODlhEAAQAIAAAP///////yH5BAEKAAEALAAAAAAQABAAAAIOjI+py+0Po5y02ouzPgUAOw==';G.CSStransformName=FirstSupportedPropertyName(["transform","msTransform","MozTransform","WebkitTransform","OTransform"]);G.CSStransformStyle=FirstSupportedPropertyName(["transformStyle","msTransformStyle","MozTransformStyle","WebkitTransformStyle","OTransformStyle"]);G.CSSperspective=FirstSupportedPropertyName(["perspective","msPerspective","MozPerspective","WebkitPerspective","OPerspective"]);G.CSSbackfaceVisibilityName=FirstSupportedPropertyName(["backfaceVisibility","msBackfaceVisibility","MozBackfaceVisibility","WebkitBackfaceVisibility","OBackfaceVisibility"]);G.CSStransitionName=FirstSupportedPropertyName(["transition","msTransition","MozTransition","WebkitTransition","OTransition"]);G.CSSanimationName=FirstSupportedPropertyName(["animation","msAnimation","MozAnimation","WebkitAnimation","OAnimation"]);G.GalleryResizeThrottled=throttle(GalleryResize,15,{leading:false});G.blockList=null;G.allowList=null;G.albumList=[];G.locationHashLastUsed='';G.custGlobals={};G.touchAutoOpenDelayTimerID=0;G.i18nLang='';G.timeLastTouchStart=0;G.custGlobals={};G.markupOrApiProcessed=false;G.GOM={albumIdx:-1,clipArea:{top:0,height:0},displayArea:{width:0,height:0},displayAreaLast:{width:0,height:0},displayedMoreSteps:0,items:[],$imgPreloader:[],thumbnails2Display:[],itemsDisplayed:0,firstDisplay:true,firstDisplayTime:0,navigationBar:{displayed:false,$newContent:''},cache:{viewport:null,containerOffset:null,areaWidth:100},nbSelected:0,pagination:{currentPage:0},panThreshold:60,panYOnly:false,lastFullRow:-1,lastDisplayedIdx:-1,displayInterval:{from:0,len:0},hammertime:null,curNavLevel:'l1',curWidth:'me',albumSearch:'',albumSearchTags:'',lastZIndex:0,lastRandomValue:0,slider:{hostIdx:-1,hostItem:null,currentIdx:0,nextIdx:0,timerID:0,tween:null},NGY2Item:function(idx){if(G.GOM.items[idx]==undefined||G.GOM.items[idx]==null){return null;}
var i=G.GOM.items[idx].thumbnailIdx;return G.I[i];},GTn:function(index,width,height){this.thumbnailIdx=index;this.width=0;this.height=0;this.top=0;this.left=0;this.row=0;this.imageWidth=width;this.imageHeight=height;this.resizedContentWidth=0;this.resizedContentHeight=0;this.displayed=false;this.neverDisplayed=true;this.inDisplayArea=false;},ScrollToTop:function(){if(G.GOM.firstDisplay){return;}
if(G.$E.scrollableParent===null&&!topInViewportVert(G.$E.base,20)){G.$E.base.get(0).scrollIntoView();}
if(G.$E.scrollableParent!==null){var scrollTop=G.$E.scrollableParent.scrollTop();var dist=Math.abs(G.$E.scrollableParent.offset().top-G.$E.base.offset().top-scrollTop);if(scrollTop>dist){window.ng_draf(function(){G.$E.scrollableParent.scrollTop(dist);});}}}};G.VOM={viewerDisplayed:false,viewerIsFullscreen:false,infoDisplayed:false,toolbarsDisplayed:true,toolsHide:null,zoom:{posX:0,posY:0,userFactor:1,isZooming:false,lastScale:1,},padding:{H:0,V:0},window:{lastWidth:0,lastHeight:0},$viewer:null,$toolbar:null,$toolbarTL:null,$toolbarTR:null,toolbarMode:'std',playSlideshow:false,playSlideshowTimerID:0,slideshowDelay:3000,albumID:-1,viewerMediaIsChanged:false,items:[],panMode:'off',$baseCont:null,$content:null,content:{previous:{vIdx:-1,$media:null,NGY2Item:function(){return G.I[G.VOM.items[G.VOM.content.previous.vIdx].ngy2ItemIdx];}},current:{vIdx:-1,$media:null,NGY2Item:function(){return G.I[G.VOM.items[G.VOM.content.current.vIdx].ngy2ItemIdx];}},next:{vIdx:-1,$media:null,NGY2Item:function(){return G.I[G.VOM.items[G.VOM.content.next.vIdx].ngy2ItemIdx];}}},IdxNext:function(){var n=0;if(G.VOM.content.current.vIdx<(G.VOM.items.length-1)){n=G.VOM.content.current.vIdx+1;}
return n;},IdxPrevious:function(){var n=G.VOM.content.current.vIdx-1;if(G.VOM.content.current.vIdx==0){n=G.VOM.items.length-1;}
return n;},gallery:{$elt:null,$tmbCont:null,gwidth:0,vwidth:0,oneTmbWidth:0,firstDisplay:true,posX:0,SetThumbnailActive(){if(G.O.viewerGallery=='none'){return;}
this.$tmbCont.children().removeClass('activeVThumbnail');this.$tmbCont.children().eq(G.VOM.content.current.vIdx).addClass('activeVThumbnail');this.firstDisplay=false;},Resize:function(){if(G.O.viewerGallery=='none'){return;}
if(!this.firstDisplay){var viewerW=G.VOM.$viewer.width();var maxTmb=Math.trunc(viewerW/this.oneTmbWidth);this.vwidth=maxTmb*this.oneTmbWidth;this.$elt.css({width:this.vwidth,left:(viewerW-this.vwidth)/2});if(G.VOM.items.length>=maxTmb){var tmbPos=this.oneTmbWidth*G.VOM.content.current.vIdx;if((tmbPos+this.posX)<this.vwidth){if(tmbPos+this.posX<0){this.posX=-tmbPos;}}
else{if(tmbPos+this.posX>=this.vwidth){this.posX=this.vwidth-(tmbPos+this.oneTmbWidth)}}}
this.PanGallery(0);}
else{new NGTweenable().tween({from:{opacity:0},to:{opacity:1},easing:'easeInOutSine',duration:1000,step:function(state){},finish:function(state){}});}},PanGallery:function(panX){if(this.gwidth<G.VOM.$viewer.width()){this.posX=(G.VOM.$viewer.width()-this.gwidth)/2;panX=0;}
if(this.posX>(this.vwidth-this.oneTmbWidth)){this.posX=this.vwidth-this.oneTmbWidth;}
if((this.posX+this.gwidth)<this.oneTmbWidth){this.posX=-this.gwidth+this.oneTmbWidth;}
this.$tmbCont.css(G.CSStransformName,'translateX('+(this.posX+panX)+'px)');},PanGalleryEnd:function(velocity){var d=velocity*100;new NGTweenable().tween({from:{pan:G.VOM.gallery.posX},to:{pan:G.VOM.gallery.posX+d},easing:'easeOutQuad',duration:500,step:function(state){G.VOM.gallery.posX=state.pan;G.VOM.gallery.PanGallery(0);}});}},hammertime:null,swipePosX:0,panPosX:0,panPosY:0,panThreshold:60,panXOnly:false,singletapTime:0,viewerTheme:'',timeImgChanged:0,ImageLoader:{maxChecks:1000,list:[],intervalHandle:null,loadImage:function(callback,ngitem){if(ngitem.mediaKind!='img'){return;}
var img=new Image();img.src=ngitem.responsiveURL();if(img.width&&img.height){callback(img.width,img.height,ngitem,0);}
else{var obj={image:img,url:ngitem.responsiveURL(),ngitem:ngitem,callback:callback,checks:1};var i;for(i=0;i<this.list.length;i++){if(this.list[i]==null)
break;}
this.list[i]=obj;if(!this.intervalHandle)
this.intervalHandle=setInterval(this.interval,50);}},interval:function(){var count=0;var list=G.VOM.ImageLoader.list,item;for(var i=0;i<list.length;i++){item=list[i];if(item!=null){if(item.image.width&&item.image.height){G.VOM.ImageLoader.list[i]=null;item.callback(item.image.width,item.image.height,item.ngitem,item.checks);}
else if(item.checks>G.VOM.ImageLoader.maxChecks){G.VOM.ImageLoader.list[i]=null;item.callback(0,0,item.ngitem,item.checks);}
else{count++;item.checks++;}}}
if(count==0){G.VOM.ImageLoader.list=[];clearInterval(G.VOM.ImageLoader.intervalHandle);delete G.VOM.ImageLoader.intervalHandle;}}}}
function VImg(index){this.$e=null;this.ngy2ItemIdx=index;this.mediaNumber=G.VOM.items.length+1;this.posX=0;this.posY=0;}
G.popup={isDisplayed:false,$elt:null,close:function(){if(this.$elt!=null){var tweenable=new NGTweenable();tweenable.tween({from:{opacity:1},to:{opacity:0},attachment:{t:this},easing:'easeInOutSine',duration:100,step:function(state,att){if(att.t.$elt!=null){att.t.$elt.css('opacity',state.opacity);}},finish:function(state,att){if(att.t.$elt!=null){att.t.$elt.remove();att.t.$elt=null;}
att.t.isDisplayed=false;}});}}}
G.galleryTheme_dark={navigationBar:{background:'none',borderTop:'',borderBottom:'',borderRight:'',borderLeft:''},navigationBreadcrumb:{background:'#111',color:'#fff',colorHover:'#ccc',borderRadius:'4px'},navigationFilter:{color:'#ddd',background:'#111',colorSelected:'#fff',backgroundSelected:'#111',borderRadius:'4px'},navigationPagination:{background:'#111',color:'#fff',colorHover:'#ccc',borderRadius:'4px'},thumbnail:{background:'#444',backgroundImage:'linear-gradient(315deg, #111 0%, #445 90%)',borderColor:'#000',borderRadius:'0px',labelOpacity:1,labelBackground:'rgba(34, 34, 34, 0)',titleColor:'#fff',titleBgColor:'transparent',titleShadow:'',descriptionColor:'#ccc',descriptionBgColor:'transparent',descriptionShadow:'',stackBackground:'#aaa'},thumbnailIcon:{padding:'5px',color:'#fff',shadow:''},pagination:{background:'#181818',backgroundSelected:'#666',color:'#fff',borderRadius:'2px',shapeBorder:'3px solid #666',shapeColor:'#444',shapeSelectedColor:'#aaa'}};G.galleryTheme_light={navigationBar:{background:'none',borderTop:'',borderBottom:'',borderRight:'',borderLeft:''},navigationBreadcrumb:{background:'#eee',color:'#000',colorHover:'#333',borderRadius:'4px'},navigationFilter:{background:'#eee',color:'#222',colorSelected:'#000',backgroundSelected:'#eee',borderRadius:'4px'},navigationPagination:{background:'#eee',color:'#000',colorHover:'#333',borderRadius:'4px'},thumbnail:{background:'#444',backgroundImage:'linear-gradient(315deg, #111 0%, #445 90%)',borderColor:'#000',labelOpacity:1,labelBackground:'rgba(34, 34, 34, 0)',titleColor:'#fff',titleBgColor:'transparent',titleShadow:'',descriptionColor:'#ccc',descriptionBgColor:'transparent',descriptionShadow:'',stackBackground:'#888'},thumbnailIcon:{padding:'5px',color:'#fff'},pagination:{background:'#eee',backgroundSelected:'#aaa',color:'#000',borderRadius:'2px',shapeBorder:'3px solid #666',shapeColor:'#444',shapeSelectedColor:'#aaa'}};G.viewerTheme_dark={background:'#000',barBackground:'rgba(4, 4, 4, 0.2)',barBorder:'0px solid #111',barColor:'#fff',barDescriptionColor:'#ccc'};G.viewerTheme_light={background:'#f8f8f8',barBackground:'rgba(4, 4, 4, 0.7)',barBorder:'0px solid #111',barColor:'#fff',barDescriptionColor:'#ccc'};var NanoAlert=NGY2Tools.NanoAlert;var NanoConsoleLog=NGY2Tools.NanoConsoleLog;this.initiateGallery2=function(element,params){G.O=params;G.$E.base=jQuery(element);G.baseEltID=G.$E.base.attr('id');if(G.baseEltID==undefined){var base_id='my_nanogallery';var c='';var f=true;while(f){if(document.getElementById(base_id+c)){if(c==''){c=1;}
else{c++;}}
else{f=false;G.baseEltID='my_nanogallery'+c;}}
G.$E.base.attr('id',G.baseEltID)}
G.O.$markup=[];DefineVariables();SetPolyFills();BuildSkeleton();G.GOM.firstDisplayTime=Date.now();SetGlobalEvents();if(!G.O.lightboxStandalone){var albumToDisplay=G.O.album;if(albumToDisplay==''&&G.O.photoset!=''){albumToDisplay=G.O.photoset;G.O.album=G.O.photoset;}
if(albumToDisplay!=''){G.O.displayBreadcrumb=false;if(albumToDisplay.toUpperCase()!='NONE'){if(G.O.kind=="nano_photos_provider2"){if(albumToDisplay==decodeURIComponent(albumToDisplay)){albumToDisplay=encodeURIComponent(albumToDisplay);G.O.album=albumToDisplay;}}
NGY2Item.New(G,'','',albumToDisplay,'-1','album');if(!ProcessLocationHash()){DisplayAlbum('-1',albumToDisplay);}
return;}}}
NGY2Item.New(G,G.i18nTranslations.breadcrumbHome,'','0','-1','album');processStartOptions();}
function processStartOptions(){if(!ProcessLocationHash()){processStartOptionsPart2();}}
function processStartOptionsPart2(){if(G.O.lightboxStandalone){LightboxStandaloneFindContent();}
else{if(G.O.openOnStart!=''){var IDs=parseIDs(G.O.openOnStart);if(IDs.imageID!='0'){DisplayPhoto(IDs.imageID,IDs.albumID);}
else{DisplayAlbum('-1',IDs.albumID);}}
else{DisplayAlbum('-1',0);}}}
function LightboxStandaloneFindContent(){G.GOM.curNavLevel='l1';if(G.O.items==null){var elts=jQuery('[data-nanogallery2-Lightbox');var g=G.$E.base[0].dataset.nanogallery2Lgroup;GetContentMarkup(elts,g);}
else{GetContentApiObject();}
LightboxStandaloneDisplay();}
function LightboxStandaloneDisplay(){G.VOM.items=[];G.VOM.albumID='0';G.GOM.curNavLevel='l1';var vcnt=0;var elt=G.$E.base[0].attributes;var thumbsrc='';if(elt.hasOwnProperty('src')){thumbsrc=elt['src'].nodeValue;}
if(thumbsrc==''&&elt.hasOwnProperty('data-ngthumb')){thumbsrc=elt['data-ngthumb'].nodeValue;}
var displayIdx=undefined;for(var idx=0;idx<G.I.length;idx++){if(G.I[idx].kind=='image'){var vimg=new VImg(idx);G.VOM.items.push(vimg);if(G.I[idx].thumbImg().src==thumbsrc){displayIdx=vcnt;}
vcnt++;}}
if(G.VOM.items.length>0){LightboxOpen(displayIdx);}
else{NanoConsoleLog(G,'No content for Lightbox standalone.');}}
function parseIDs(IDs){var r={albumID:'0',imageID:'0'};var t=IDs.split('/');if(t.length>0){r.albumID=t[0];if(t.length>1){r.imageID=t[1];}}
return r;}
function DisplayAlbum(imageID,albumID){if(G.VOM.viewerDisplayed){LightboxClose(null);}
var albumIdx=NGY2Item.GetIdx(G,albumID);G.GOM.curNavLevel='lN';if(albumIdx==0){G.GOM.curNavLevel='l1';}
G.layout.SetEngine();G.galleryResizeEventEnabled=false;if(albumIdx==-1){NGY2Item.New(G,'','',albumID,'0','album');albumIdx=G.I.length-1;}
if(!G.I[albumIdx].contentIsLoaded){AlbumGetContent(albumID,DisplayAlbum,imageID,albumID);return;}
ThumbnailSelectionClear();G.GOM.pagination.currentPage=0;SetLocationHash(albumID,'');GalleryRender(albumIdx);}
function GalleryBottomManage(){switch(G.galleryDisplayMode.Get()){case'PAGINATION':if(G.layout.support.rows&&G.galleryMaxRows.Get()>0){ManagePagination();}
break;case'MOREBUTTON':G.$E.conTnBottom.off('click');var nb=G.GOM.items.length-G.GOM.itemsDisplayed;if(nb==0){G.$E.conTnBottom.empty();}
else{G.$E.conTnBottom.html('<div class="nGY2GalleryMoreButton"><div class="nGY2GalleryMoreButtonAnnotation">+'+nb+' '+G.O.icons.galleryMoreButton+'</div></div>');G.$E.conTnBottom.on('click',function(e){G.GOM.displayedMoreSteps++;GalleryResize();});}
break;case'FULLCONTENT':default:break;}}
function breadcrumbAdd(albumIdx){var ic='';if(!G.O.breadcrumbHideIcons){ic=G.O.icons.breadcrumbAlbum;if(albumIdx==0){ic=G.O.icons.breadcrumbHome;}}
var $newDiv=jQuery('<div class="oneItem">'+ic+G.I[albumIdx].title+'</div>').appendTo(G.GOM.navigationBar.$newContent.find('.nGY2Breadcrumb'));if(G.O.breadcrumbOnlyCurrentLevel){if(albumIdx==0){jQuery($newDiv).data('albumID','0');}
else{jQuery($newDiv).data('albumID',G.I[albumIdx].albumID);}}
else{jQuery($newDiv).data('albumID',G.I[albumIdx].GetID());}
$newDiv.click(function(){var cAlbumID=jQuery(this).data('albumID');DisplayAlbum('-1',cAlbumID);return;});}
function breadcrumbAddSeparator(lastAlbumID){var $newSep=jQuery('<div class="oneItem">'+(G.O.RTL?G.O.icons.breadcrumbSeparatorRtl:G.O.icons.breadcrumbSeparator)+'</div>').appendTo(G.GOM.navigationBar.$newContent.find('.nGY2Breadcrumb'));jQuery($newSep).data('albumIdx',lastAlbumID);$newSep.click(function(){var sepAlbumIdx=jQuery(this).data('albumIdx');DisplayAlbum('-1',G.I[sepAlbumIdx].GetID());return;});}
function GalleryNavigationBar(albumIdx){G.GOM.navigationBar.$newContent=jQuery('<div class="nGY2Navigationbar"></div>');if(G.O.displayBreadcrumb==true&&!G.O.thumbnailAlbumDisplayImage){var newLevel=0,lstItems=[];if(albumIdx!=0){var l=G.I.length,parentID=0;lstItems.push(albumIdx);var curIdx=albumIdx;newLevel++;while(G.I[curIdx].albumID!=0&&G.I[curIdx].albumID!=-1){for(var i=1;i<l;i++){if(G.I[i].GetID()==G.I[curIdx].albumID){curIdx=i;lstItems.push(curIdx);newLevel++;break;}}}}
if(!(G.O.breadcrumbAutoHideTopLevel&&newLevel==0)){BreadcrumbBuild(lstItems);}}
if(G.galleryFilterTags.Get()!=false){var nTags=G.I[albumIdx].albumTagList.length;if(nTags>0){for(var i=0;i<nTags;i++){var s=G.I[albumIdx].albumTagList[i];var ic=G.O.icons.navigationFilterUnselected;var tagClass='Unselected';if(jQuery.inArray(s,G.I[albumIdx].albumTagListSel)>=0){tagClass='Selected';ic=G.O.icons.navigationFilterSelected;}
var $newTag=jQuery('<div class="nGY2NavigationbarItem nGY2NavFilter'+tagClass+'">'+ic+' '+s+'</div>').appendTo(G.GOM.navigationBar.$newContent);$newTag.click(function(){var $this=jQuery(this);var tag=$this.text().replace(/^\s*|\s*$/,'');if(G.galleryFilterTagsMode.Get()=='single'){G.I[albumIdx].albumTagListSel=[];G.I[albumIdx].albumTagListSel.push(tag);}
else{if($this.hasClass('nGY2NavFilterUnselected')){G.I[albumIdx].albumTagListSel.push(tag);}
else{var tidx=jQuery.inArray(tag,G.I[albumIdx].albumTagListSel);if(tidx!=-1){G.I[albumIdx].albumTagListSel.splice(tidx,1);}}
$this.toggleClass('nGY2NavFilters-oneTagUnselected nGY2NavFilters-oneTagSelected');}
DisplayAlbum('-1',G.I[albumIdx].GetID());});}
var $newClearFilter=jQuery('<div class="nGY2NavigationbarItem nGY2NavFilterSelectAll">'+G.O.icons.navigationFilterSelectedAll+'</div>').appendTo(G.GOM.navigationBar.$newContent);$newClearFilter.click(function(){G.I[albumIdx].albumTagListSel=[];DisplayAlbum('-1',G.I[albumIdx].GetID());});}}
if(G.galleryDisplayMode.Get()=="PAGINATION"&&G.O.galleryPaginationTopButtons){if(G.layout.support.rows&&G.galleryMaxRows.Get()>0){var $newTagPrev=jQuery('<div class="nGY2NavigationbarItem nGY2NavPagination">'+G.O.icons.navigationPaginationPrevious+'</div>').appendTo(G.GOM.navigationBar.$newContent);$newTagPrev.click(function(){paginationPreviousPage();});var $newTagNext=jQuery('<div class="nGY2NavigationbarItem nGY2NavPagination">'+G.O.icons.navigationPaginationNext+'</div>').appendTo(G.GOM.navigationBar.$newContent);$newTagNext.click(function(){paginationNextPage();});}}}
function BreadcrumbBuild(lstItems){jQuery('<div class="nGY2NavigationbarItem nGY2Breadcrumb"></div>').appendTo(G.GOM.navigationBar.$newContent);if(G.O.breadcrumbOnlyCurrentLevel){if(lstItems.length==0){breadcrumbAdd(0);}
else{if(lstItems.length==1){breadcrumbAddSeparator(0);}
else{breadcrumbAddSeparator(lstItems[0]);}
breadcrumbAdd(lstItems[0]);}}
else{breadcrumbAdd(0);if(lstItems.length>0){breadcrumbAddSeparator(0);for(var i=lstItems.length-1;i>=0;i--){breadcrumbAdd(lstItems[i]);if(i>0){breadcrumbAddSeparator(lstItems[i-1]);}}}}}
function ManagePagination(){G.$E.conTnBottom.css('opacity',0);G.$E.conTnBottom.children().remove();if(G.GOM.items.length==0){return;}
var nbPages=Math.ceil((G.GOM.items[G.GOM.items.length-1].row+1)/G.galleryMaxRows.Get());if(nbPages==1){return;}
if(G.GOM.pagination.currentPage>(nbPages-1)){G.GOM.pagination.currentPage=nbPages-1;}
GalleryRenderGetInterval();if(G.GOM.displayInterval.len==0){return;}
if(G.O.galleryPaginationMode=='NUMBERS'&&G.GOM.pagination.currentPage>0){var $eltPrev=jQuery('<div class="nGY2PaginationPrev">'+G.O.icons.paginationPrevious+'</div>').appendTo(G.$E.conTnBottom);$eltPrev.click(function(e){paginationPreviousPage();});}
var firstPage=0;var lastPage=nbPages;if(G.O.galleryPaginationMode!='NUMBERS'){firstPage=0;}
else{var numberOfPagesToDisplay=G.O.paginationVisiblePages;if(numberOfPagesToDisplay>=nbPages){firstPage=0;}
else{var nbBeforeAfter=0;if(isOdd(numberOfPagesToDisplay)){nbBeforeAfter=(numberOfPagesToDisplay+1)/2;}
else{nbBeforeAfter=numberOfPagesToDisplay/2;}
if(G.GOM.pagination.currentPage<nbBeforeAfter){firstPage=0;lastPage=numberOfPagesToDisplay-1;if(lastPage>nbPages){lastPage=nbPages-1;}}
else{firstPage=G.GOM.pagination.currentPage-nbBeforeAfter;lastPage=firstPage+numberOfPagesToDisplay;if(lastPage>nbPages){lastPage=nbPages-1;}}
if((lastPage-firstPage)<numberOfPagesToDisplay){firstPage=lastPage-numberOfPagesToDisplay;if(firstPage<0){firstPage=0;}}}}
for(var i=firstPage;i<lastPage;i++){var c='';var p='';switch(G.O.galleryPaginationMode){case'NUMBERS':c='nGY2paginationItem';p=i+1;break;case'DOTS':c='nGY2paginationDot';break;case'RECTANGLES':c='nGY2paginationRectangle';break;}
if(i==G.GOM.pagination.currentPage){c+='CurrentPage';}
var elt$=jQuery('<div class="'+c+'">'+p+'</div>').appendTo(G.$E.conTnBottom);elt$.data('pageNumber',i);elt$.click(function(e){G.GOM.pagination.currentPage=jQuery(this).data('pageNumber');TriggerCustomEvent('pageChanged');G.GOM.ScrollToTop();GalleryDisplayPart1();GalleryDisplayPart2(true);});}
if(G.O.galleryPaginationMode=='NUMBERS'&&(G.GOM.pagination.currentPage+1)<nbPages){var $eltNext=jQuery('<div class="nGY2PaginationNext">'+G.O.icons.paginationNext+'</div>').appendTo(G.$E.conTnBottom);$eltNext.click(function(e){paginationNextPage();});}
G.$E.conTnBottom.css('opacity',1);}
function isOdd(num){return(num%2)==1;}
function paginationNextPage(){var n1=0;ThumbnailHoverOutAll();if(G.galleryMaxRows.Get()>0){n1=(G.GOM.items[G.GOM.items.length-1].row+1)/G.galleryMaxRows.Get();}
var n2=Math.ceil(n1);var pn=G.GOM.pagination.currentPage;if(pn<(n2-1)){pn++;}
else{pn=0;}
G.GOM.pagination.currentPage=pn;TriggerCustomEvent('pageChanged');G.GOM.ScrollToTop();GalleryDisplayPart1();GalleryDisplayPart2(true);}
function paginationPreviousPage(){var n1=0;ThumbnailHoverOutAll();if(G.galleryMaxRows.Get()>0){n1=(G.GOM.items[G.GOM.items.length-1].row+1)/G.galleryMaxRows.Get();}
var n2=Math.ceil(n1);var pn=G.GOM.pagination.currentPage;if(pn>0){pn--;}
else{pn=n2-1;}
G.GOM.pagination.currentPage=pn;TriggerCustomEvent('pageChanged');G.GOM.ScrollToTop();GalleryDisplayPart1();GalleryDisplayPart2(true);}
function GalleryRenderGetInterval(){G.GOM.displayInterval.from=0;G.GOM.displayInterval.len=G.I.length;switch(G.galleryDisplayMode.Get()){case'PAGINATION':if(G.layout.support.rows){let nbTn=G.GOM.items.length;var firstRow=G.GOM.pagination.currentPage*G.galleryMaxRows.Get();var lastRow=firstRow+G.galleryMaxRows.Get();var firstTn=-1;G.GOM.displayInterval.len=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.row>=firstRow&&curTn.row<lastRow){if(firstTn==-1){G.GOM.displayInterval.from=i;firstTn=i;}
G.GOM.displayInterval.len++;}}}
break;case'MOREBUTTON':if(G.layout.support.rows){let nbTn=G.GOM.items.length;let lastRow=G.O.galleryDisplayMoreStep*(G.GOM.displayedMoreSteps+1);G.GOM.displayInterval.len=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.row<lastRow){G.GOM.displayInterval.len++;}}}
break;case'ROWS':if(G.layout.support.rows){let nbTn=G.GOM.items.length;let lastRow=G.galleryMaxRows.Get();if(G.galleryLastRowFull.Get()&&G.GOM.lastFullRow!=-1){if(lastRow>(G.GOM.lastFullRow+1)){lastRow=G.GOM.lastFullRow+1;}}
G.GOM.displayInterval.len=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.row<lastRow){G.GOM.displayInterval.len++;}}}
break;default:case'FULLCONTENT':if(G.layout.support.rows&&G.galleryLastRowFull.Get()&&G.GOM.lastFullRow!=-1){let nbTn=G.GOM.items.length;let lastRow=G.GOM.lastFullRow+1;G.GOM.displayInterval.len=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.row<lastRow){G.GOM.displayInterval.len++;}}}
break;}}
function GalleryRender(albumIdx){TriggerCustomEvent('galleryRenderStart');clearTimeout(G.GOM.slider.timerID);G.GOM.slider.hostIdx=-1;var fu=G.O.fnGalleryRenderStart;if(fu!==null){typeof fu=='function'?fu(G.I[G.GOM.albumIdx]):window[fu](G.I[G.GOM.albumIdx]);}
G.layout.SetEngine();G.galleryResizeEventEnabled=false;G.GOM.albumIdx=-1;G.GOM.lastDisplayedIdx=-1;if(G.$E.conTnBottom!==undefined){G.$E.conTnBottom.empty();}
GalleryNavigationBar(albumIdx);if(G.GOM.firstDisplay){G.GOM.firstDisplay=false;var d=Date.now()-G.GOM.firstDisplayTime;if(d<G.O.galleryRenderDelay){requestTimeout(function(){GalleryRenderPart1(albumIdx)},G.O.galleryRenderDelay-d);}
else{GalleryRenderPart1(albumIdx);}
G.O.galleryRenderDelay=0;}
else{var hideNavigationBar=false;if(G.GOM.navigationBar.$newContent.children().length==0){hideNavigationBar=true;}
var tweenable=new NGTweenable();tweenable.tween({from:{'opacity':1},to:{'opacity':0},duration:300,easing:'easeInQuart',attachment:{h:hideNavigationBar},step:function(state,att){G.$E.conTnParent.css({'opacity':state.opacity});if(att.h){G.$E.conNavigationBar.css({'opacity':state.opacity});}},finish:function(state,att){if(att.h){G.$E.conNavigationBar.css({'opacity':0,'display':'none'});}
G.GOM.ScrollToTop();GalleryRenderPart1(albumIdx);}});}}
function GalleryRenderPart1(albumIdx){var oldN=G.$E.conNavigationBar.children().length;G.$E.conNavigationBar.empty();G.GOM.navigationBar.$newContent.children().clone(true,true).appendTo(G.$E.conNavigationBar);if(G.$E.conNavigationBar.children().length>0&&oldN==0){G.$E.conNavigationBar.css({'opacity':0,'display':'block'});var tweenable=new NGTweenable();tweenable.tween({from:{opacity:0},to:{opacity:1},duration:200,easing:'easeInQuart',step:function(state){G.$E.conNavigationBar.css(state);},finish:function(state){G.$E.conNavigationBar.css({'opacity':1});requestTimeout(function(){GalleryRenderPart2(albumIdx)},20);}});}
else{requestTimeout(function(){GalleryRenderPart2(albumIdx)},20);}}
function GalleryRenderPart2(albumIdx){G.GOM.lastZIndex=parseInt(G.$E.base.css('z-index'));if(isNaN(G.GOM.lastZIndex)){G.GOM.lastZIndex=0;}
G.$E.conTnParent.css({'opacity':0});G.$E.conTn.off().empty();var l=G.I.length;for(var i=0;i<l;i++){var item=G.I[i];item.hovered=false;item.$elt=null;item.$Elts=[];item.eltTransform=[];item.eltFilter=[];item.width=0;item.height=0;item.left=0;item.top=0;item.resizedContentWidth=0;item.resizedContentHeight=0;item.thumbnailImgRevealed=false;}
if(G.CSStransformName==null){G.$E.conTn.css('left','0px');}
else{G.$E.conTn.css(G.CSStransformName,'none');}
requestTimeout(function(){GalleryRenderPart3(albumIdx)},20);}
function GalleryRenderPart3(albumIdx){var d=new Date();G.$E.conTnParent.css('opacity',1);G.GOM.items=[];G.GOM.displayedMoreSteps=0;if(G.O.thumbnailLabel.get('position')=='onBottom'){G.tn.labelHeight[G.GOM.curNavLevel]=ThumbnailGetLabelHeight();}
else{G.tn.labelHeight[G.GOM.curNavLevel]=0;}
G.GOM.albumIdx=albumIdx;TriggerCustomEvent('galleryRenderEnd');var fu=G.O.fnGalleryRenderEnd;if(fu!==null){typeof fu=='function'?fu(G.I[G.GOM.albumIdx]):window[fu](G.I[G.GOM.albumIdx]);}
if(GalleryPopulateGOM()){GallerySetLayout();GalleryAppear();GalleryDisplayPart1();requestTimeout(function(){GalleryDisplayPart2(false)},20);}
else{G.galleryResizeEventEnabled=true;}
if(G.O.debugMode){console.log('GalleryRenderPart3: '+(new Date()-d));}}
function GalleryResize(){var d=new Date();G.galleryResizeEventEnabled=false;if(GallerySetLayout()==false){G.galleryResizeEventEnabled=true;if(G.O.debugMode){console.log('GalleryResize1: '+(new Date()-d));}
return;}
if(G.O.debugMode){console.log('GalleryResizeSetLayout: '+(new Date()-d));}
GalleryDisplayPart1();GalleryDisplayPart2(false);if(G.O.debugMode){console.log('GalleryResizeFull: '+(new Date()-d));}}
function GalleryPopulateGOM(){var preloadImages='';var albumID=G.I[G.GOM.albumIdx].GetID();var l=G.I.length;var cnt=0;for(var idx=0;idx<l;idx++){var item=G.I[idx];if(item.isToDisplay(albumID)){var w=item.thumbImg().width;var h=item.thumbImg().height;if(G.layout.prerequisite.imageSize&&(w==0||h==0)){preloadImages+='<img src="'+item.thumbImg().src+'" data-idx="'+cnt+'" data-albumidx="'+G.GOM.albumIdx+'">';}
if(h==0){h=G.tn.defaultSize.getHeight();}
if(w==0){w=G.tn.defaultSize.getWidth();}
var tn=new G.GOM.GTn(idx,w,h);G.GOM.items.push(tn);cnt++;}}
TriggerCustomEvent('galleryObjectModelBuilt');var fu=G.O.fnGalleryObjectModelBuilt;if(fu!==null){typeof fu=='function'?fu():window[fu]();}
if(preloadImages!=''){var $newImg=jQuery(preloadImages);var gi_imgLoad=ngimagesLoaded($newImg);$newImg=null;gi_imgLoad.on('progress',function(instance,image){if(image.isLoaded){var idx=image.img.getAttribute('data-idx');var albumIdx=image.img.getAttribute('data-albumidx');if(albumIdx==G.GOM.albumIdx){var curTn=G.GOM.items[idx];curTn.imageWidth=image.img.naturalWidth;curTn.imageHeight=image.img.naturalHeight;var item=G.I[curTn.thumbnailIdx];item.thumbs.width[G.GOM.curNavLevel][G.GOM.curWidth]=curTn.imageWidth;item.thumbs.height[G.GOM.curNavLevel][G.GOM.curWidth]=curTn.imageHeight;G.GalleryResizeThrottled();var object=item.thumbs.width.l1;for(let property in object){if(object.hasOwnProperty(property)){if(property!=G.GOM.curWidth){if(G.tn.settings.width.l1[property]==G.tn.settings.getW()&&G.tn.settings.height.l1[property]==G.tn.settings.getH()){item.thumbs.width.l1[property]=curTn.imageWidth;item.thumbs.height.l1[property]=curTn.imageHeight;}}}}
object=item.thumbs.width.lN;for(let property in object){if(object.hasOwnProperty(property)){if(property!=G.GOM.curWidth){if(G.tn.settings.width.lN[property]==G.tn.settings.getW()&&G.tn.settings.height.lN[property]==G.tn.settings.getH()){item.thumbs.width.lN[property]=curTn.imageWidth;item.thumbs.height.lN[property]=curTn.imageHeight;}}}}}}});G.galleryResizeEventEnabled=true;return false;}
else{return true;}}
function GallerySetLayout(){var r=true;G.GOM.cache.areaWidth=G.$E.conTnParent.width();G.GOM.displayArea={width:0,height:0};switch(G.layout.engine){case'JUSTIFIED':r=GallerySetLayoutWidthtAuto();break;case'CASCADING':r=GallerySetLayoutHeightAuto();break;case'MOSAIC':r=GallerySetLayoutMosaic();break;case'GRID':default:r=GallerySetLayoutGrid();break;}
TriggerCustomEvent('galleryLayoutApplied');var fu=G.O.fnGalleryLayoutApplied;if(fu!==null){typeof fu=='function'?fu():window[fu]();}
return r;}
function GallerySetLayoutHeightAuto(){var curCol=0,areaWidth=G.GOM.cache.areaWidth,curRow=0,colHeight=[],maxCol=NbThumbnailsPerRow(areaWidth),gutterWidth=0,gutterHeight=G.tn.settings.GetResponsive('gutterHeight');var w=0;var scaleFactor=1;var tnWidth=G.tn.defaultSize.getOuterWidth();var nbTn=G.GOM.items.length;var curPosY=0;if(G.O.thumbnailAlignment=='justified'){maxCol=Math.min(maxCol,nbTn);gutterWidth=(maxCol==1?0:(areaWidth-(maxCol*tnWidth))/(maxCol-1));}
else{gutterWidth=G.tn.settings.GetResponsive('gutterWidth');}
var borderWidth=G.tn.opt.Get('borderHorizontal')*2;var borderHeight=G.tn.opt.Get('borderVertical')*2;G.GOM.lastFullRow=-1;if(G.O.thumbnailAlignment=='fillWidth'){var totalGutterWidth=(maxCol-1)*gutterWidth;scaleFactor=(areaWidth-totalGutterWidth)/(maxCol*tnWidth);if(scaleFactor>1){maxCol++;}
totalGutterWidth=(maxCol-1)*gutterWidth;scaleFactor=Math.min((areaWidth-totalGutterWidth)/(maxCol*tnWidth),1);}
tnWidth=Math.round(tnWidth*scaleFactor);var contentWidth=tnWidth-borderWidth;var baseHeight=Math.round(G.tn.opt.Get('baseGridHeight')*scaleFactor);for(var i=0;i<nbTn;i++){var curTn=G.GOM.items[i];if(curTn.deleted==true){break;}
if(curTn.imageHeight>0&&curTn.imageWidth>0){var curPosX=0,curPosY=0;var imageRatio=curTn.imageHeight/curTn.imageWidth;curTn.resizedContentWidth=contentWidth;curTn.resizedContentHeight=curTn.resizedContentWidth*imageRatio;if(baseHeight>0){var t=Math.max(Math.trunc(curTn.resizedContentHeight/baseHeight),1);curTn.resizedContentHeight=baseHeight*t+((t-1)*(borderHeight+gutterHeight));}
curTn.height=curTn.resizedContentHeight+borderHeight+G.tn.labelHeight.get();curTn.width=tnWidth;curTn.row=0;if(curRow==0){curPosX=curCol*(tnWidth+gutterWidth);colHeight[curCol]=curTn.height+gutterHeight;curCol++;if(curCol>=maxCol){curCol=0;curRow++;}}
else{var c=0,minColHeight=colHeight[0];for(var j=1;j<maxCol;j++){if((colHeight[j]+5)<minColHeight){minColHeight=colHeight[j];c=j;}}
curPosY=colHeight[c];curPosX=c*(tnWidth+gutterWidth);colHeight[c]=curPosY+curTn.height+gutterHeight;}
var x=curPosX;if(G.O.RTL){x=w-curPosX-tnWidth;}
curTn.left=x;curTn.top=curPosY;}}
G.GOM.displayArea.width=maxCol*(tnWidth+gutterWidth)-gutterWidth;return true;}
function GallerySetLayoutWidthtAuto(){var curWidth=0,areaWidth=G.GOM.cache.areaWidth,lastPosX=0,curPosY=0,rowLastItem=[],rowNum=0,rowHeight=[],bNewRow=false,cnt=0,gutterWidth=G.tn.settings.GetResponsive('gutterWidth'),gutterHeight=G.tn.settings.GetResponsive('gutterHeight');var maxRowHeightVertical=0;var maxRowHeightHorizontal=0;var rowHasVertical=false;var rowHasHorizontal=false;var tnHeight=G.tn.defaultSize.getOuterHeight();var borderWidth=G.tn.opt.Get('borderHorizontal')*2;var borderHeight=G.tn.opt.Get('borderVertical')*2;var nbTnInCurrRow=1;var nbTn=G.GOM.items.length;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.deleted==true){break;}
if(curTn.imageWidth>0){let imageRatio=curTn.imageWidth/curTn.imageHeight;let imageWidth=Math.floor(tnHeight*imageRatio);if(bNewRow){bNewRow=false;rowNum++;curWidth=0;rowHasVertical=false;rowHasHorizontal=false;nbTnInCurrRow=1;}
if(curTn.imageHeight>curTn.imageWidth){rowHasVertical=true;}
else{rowHasHorizontal=true;}
if((curWidth+gutterWidth+imageWidth)<(areaWidth-(nbTnInCurrRow*borderWidth))){curWidth+=imageWidth+gutterWidth;rowHeight[rowNum]=tnHeight;var rowHeightLimit=Math.max(rowHasVertical?maxRowHeightVertical:0,rowHasHorizontal?maxRowHeightHorizontal:0);if(rowHeightLimit>0){rowHeight[rowNum]=Math.min(rowHeight[rowNum],rowHeightLimit);}
rowLastItem[rowNum]=i;}
else{curWidth+=gutterWidth+imageWidth;let ratio=(areaWidth-nbTnInCurrRow*borderWidth)/curWidth;let rH=Math.floor(tnHeight*ratio);rowHeight[rowNum]=rH;if(rowHasVertical){maxRowHeightVertical=Math.max(maxRowHeightVertical,rH);}
if(rowHasHorizontal){maxRowHeightHorizontal=Math.max(maxRowHeightHorizontal,rH);}
rowLastItem[rowNum]=i;bNewRow=true;}
cnt++;nbTnInCurrRow++;}}
rowNum=0;curPosY=0;lastPosX=0;cnt=0;G.GOM.lastFullRow=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.imageWidth>0){let imageRatio=curTn.imageWidth/curTn.imageHeight;let imageWidth=Math.floor(imageRatio*rowHeight[rowNum]);if(i==rowLastItem[rowNum]){if(rowLastItem.length!=(rowNum+1)){imageWidth=areaWidth-lastPosX-borderWidth;}
else{if((lastPosX+gutterWidth+imageWidth+borderWidth)>areaWidth){imageWidth=areaWidth-lastPosX-borderWidth;}}}
let rh=parseInt(rowHeight[rowNum]);imageWidth=parseInt(imageWidth);curTn.resizedContentWidth=imageWidth;curTn.resizedContentHeight=rh;curTn.width=imageWidth+borderWidth;curTn.height=rh+G.tn.labelHeight.get()+borderHeight;curTn.row=rowNum;curTn.top=curPosY;let x=lastPosX;if(G.O.RTL){x=areaWidth-lastPosX-curTn.width;}
curTn.left=x;lastPosX+=curTn.width+gutterWidth;if(i==rowLastItem[rowNum]){curPosY+=curTn.height+gutterHeight;G.GOM.lastFullRow=rowNum-1;rowNum++;lastPosX=0;}
cnt++;}
else{return false;}}
if(false){var newTop=0;if(typeof GOMidx!=='undefined'){if(G.GOM.albumIdx!=-1){var hoveredTn=G.GOM.items[GOMidx];hoveredTn.width+=40;hoveredTn.height+=40;for(var i=0;i<nbTn;i++){var curTn=G.GOM.items[i];if(curTn.imageWidth>0){if(curTn.row==hoveredTn.row){newTop=40;if(hoveredTn.thumbnailIdx!=curTn.thumbnailIdx){curTn.top+=30;curTn.width-=20;curTn.height-=20;}}
else{if(curTn.row==0){}
else{curTn.top+=newTop;}}}}}}}
G.GOM.displayArea.width=areaWidth;return true;}
function GallerySetLayoutMosaic(){var areaWidth=G.GOM.cache.areaWidth;var gutterHeight=G.tn.settings.GetResponsive('gutterHeight');var gutterWidth=G.tn.settings.GetResponsive('gutterWidth');var borderWidth=G.tn.opt.Get('borderHorizontal')*2;var borderHeight=G.tn.opt.Get('borderVertical')*2;var nbTn=G.GOM.items.length;var row=0;var h=0;var n=0;var nbCols=0;var maxW=0;let mosaicPattern=G.tn.settings.getMosaic();for(var i=0;i<nbTn;i++){let curPatternElt=mosaicPattern[n];var cLeft=(curPatternElt.c-1)*G.tn.defaultSize.getOuterWidth()+(curPatternElt.c-1)*gutterWidth;var cWidth=curPatternElt.w*G.tn.defaultSize.getOuterWidth()+(curPatternElt.w-1)*gutterWidth;maxW=Math.max(maxW,cLeft+cWidth);nbCols=Math.max(nbCols,(curPatternElt.c-1)+curPatternElt.w);n++;if(n>=mosaicPattern.length){break;}}
var totalGutterWidth=(nbCols-1)*gutterWidth;var scaleFactor=Math.min((areaWidth-totalGutterWidth)/(maxW-totalGutterWidth),1);row=0;n=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];let curPatternElt=mosaicPattern[n];curTn.top=Math.round((curPatternElt.r-1)*G.tn.defaultSize.getOuterHeight()*scaleFactor)+(curPatternElt.r-1)*gutterHeight+row*h+(G.tn.labelHeight.get()*(curPatternElt.r-1));if(row>0){curTn.top+=gutterHeight;}
curTn.left=(curPatternElt.c-1)*Math.round(G.tn.defaultSize.getOuterWidth()*scaleFactor)+(curPatternElt.c-1)*gutterWidth;curTn.height=Math.round(curPatternElt.h*G.tn.defaultSize.getOuterHeight()*scaleFactor)+(curPatternElt.h-1)*gutterHeight+(G.tn.labelHeight.get()*curPatternElt.h);curTn.resizedContentHeight=curTn.height-G.tn.labelHeight.get()-borderHeight;curTn.width=Math.round(curPatternElt.w*G.tn.defaultSize.getOuterWidth()*scaleFactor)+(curPatternElt.w-1)*gutterWidth;curTn.resizedContentWidth=curTn.width-borderWidth;curTn.row=row;if(row==0){h=Math.max(h,curTn.top+curTn.height);}
n++;if(n>=mosaicPattern.length){n=0;row++;}}
G.GOM.displayArea.width=(maxW-totalGutterWidth)*scaleFactor+totalGutterWidth;return true;}
function GallerySetLayoutGrid(){var curPosX=0,curPosY=0,areaWidth=G.GOM.cache.areaWidth,gutterWidth=0,gutterHeight=G.tn.settings.GetResponsive('gutterHeight'),maxCol=NbThumbnailsPerRow(areaWidth),w=0,cols=[],curCol=0,newAreaWidth=areaWidth,tnWidth=G.tn.defaultSize.getOuterWidth();var scaleFactor=1;var nbTn=G.GOM.items.length;var borderWidth=G.tn.opt.Get('borderHorizontal')*2;var borderHeight=G.tn.opt.Get('borderVertical')*2;if(G.O.thumbnailAlignment=='justified'){maxCol=Math.min(maxCol,nbTn);gutterWidth=(maxCol==1?0:(areaWidth-(maxCol*tnWidth))/(maxCol-1));}
else{gutterWidth=G.tn.settings.GetResponsive('gutterWidth');}
if(G.O.RTL||G.O.thumbnailAlignment=='fillWidth'){var totalGutterWidth=(maxCol-1)*gutterWidth;scaleFactor=(areaWidth-totalGutterWidth)/(maxCol*tnWidth);if(scaleFactor>1){maxCol++;}
totalGutterWidth=(maxCol-1)*gutterWidth;scaleFactor=Math.min((areaWidth-totalGutterWidth)/(maxCol*tnWidth),1);newAreaWidth=(maxCol*tnWidth)+totalGutterWidth;}
G.GOM.lastFullRow=0;var row=0;tnWidth=Math.round(tnWidth*scaleFactor);var contentWidth=tnWidth-borderWidth;var tnHeight=Math.round(G.tn.defaultSize.getOuterHeight()*scaleFactor)+G.tn.labelHeight.get();var contentHeight=Math.round(G.tn.defaultSize.getOuterHeight()*scaleFactor)-borderHeight;for(var i=0;i<nbTn;i++){if(curPosY==0){curPosX=curCol*(tnWidth+gutterWidth)
cols[curCol]=curPosX;w=curPosX+tnWidth;}
else{curPosX=cols[curCol];}
var x=curPosX;if(G.O.RTL){x=parseInt(newAreaWidth)-curPosX-tnWidth;}
var curTn=G.GOM.items[i];curTn.top=curPosY;curTn.left=x;curTn.height=tnHeight;curTn.width=tnWidth;if(G.O.thumbnailAlignment=='fillWidth'){curTn.resizedContentWidth=contentWidth;curTn.resizedContentHeight=contentHeight;}
curTn.row=row;curCol++;if(curCol>=maxCol){curCol=0;curPosY+=tnHeight+gutterHeight;G.GOM.lastFullRow=row;row++;}}
G.GOM.displayArea.width=w;return true;}
function GalleryDisplayPart1(){if(G.CSStransformName==null){G.$E.conTn.css('left','0px');}
else{G.$E.conTn.css(G.CSStransformName,'none');}}
function CacheViewport(){G.GOM.cache.viewport=getViewport();G.GOM.cache.areaWidth=G.$E.base.width();if(!G.O.lightboxStandalone){G.GOM.cache.containerOffset=G.$E.conLoadingB.offset();}}
function GalleryDisplayPart2(forceTransition){CacheViewport();var nbTn=G.GOM.items.length;G.GOM.itemsDisplayed=0;var threshold=50;var cnt=0;GalleryRenderGetInterval();for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(i>=G.GOM.displayInterval.from&&cnt<G.GOM.displayInterval.len){curTn.inDisplayArea=true;if(forceTransition){curTn.neverDisplayed=true;}
G.GOM.itemsDisplayed++;cnt++;}
else{curTn.inDisplayArea=false;}}
GalleryBottomManage();var tnToDisplay=[];var tnToReDisplay=[];CacheViewport();G.GOM.clipArea.top=-1;cnt=0;var lastTnIdx=-1;G.GOM.clipArea.height=0;for(var i=0;i<nbTn;i++){let curTn=G.GOM.items[i];if(curTn.inDisplayArea){if(G.GOM.clipArea.top==-1){G.GOM.clipArea.top=curTn.top;}
if((curTn.top-G.GOM.clipArea.top)<=-1){G.GOM.clipArea.top=curTn.top;}
G.GOM.clipArea.height=Math.max(G.GOM.clipArea.height,curTn.top-G.GOM.clipArea.top+curTn.height);if(curTn.neverDisplayed){var top=G.GOM.cache.containerOffset.top+(curTn.top-G.GOM.clipArea.top);if((top+curTn.height)>=(G.GOM.cache.viewport.t-threshold)&&top<=(G.GOM.cache.viewport.t+G.GOM.cache.viewport.h+threshold)){let item=G.I[curTn.thumbnailIdx];if(item.$elt==null){ThumbnailBuild(item,curTn.thumbnailIdx,i);}
tnToDisplay.push({idx:i,delay:cnt,top:curTn.top,left:curTn.left});cnt++;}}
else{tnToReDisplay.push({idx:i,delay:0,top:curTn.top,left:curTn.left});}
lastTnIdx=i;}
else{curTn.displayed=false;let item=G.I[curTn.thumbnailIdx];if(item.$elt!=null){item.$elt.css({opacity:0,display:'none'});}}}
var areaWidth=G.$E.conTnParent.width();if(G.GOM.displayArea.width!=G.GOM.displayAreaLast.width||G.GOM.clipArea.height!=G.GOM.displayAreaLast.height){G.$E.conTn.width(G.GOM.displayArea.width).height(G.GOM.clipArea.height);G.GOM.displayAreaLast.width=G.GOM.displayArea.width;G.GOM.displayAreaLast.height=G.GOM.clipArea.height;}
if(areaWidth!=G.$E.conTnParent.width()){G.GOM.cache.areaWidth=G.$E.conTnParent.width();GallerySetLayout();GalleryDisplayPart1();GalleryDisplayPart2(forceTransition);return;}
if(G.layout.support.rows){if(G.galleryDisplayMode.Get()=='ROWS'||(G.galleryDisplayMode.Get()=='FULLCONTENT'&&G.galleryLastRowFull.Get()&&G.GOM.lastFullRow!=-1)){if(lastTnIdx<(nbTn-1)){G.GOM.lastDisplayedIdxNew=lastTnIdx;}
else{G.GOM.lastDisplayedIdxNew=-1;}
if(G.GOM.lastDisplayedIdx!=-1){let item=G.I[G.GOM.items[G.GOM.lastDisplayedIdx].thumbnailIdx];item.$getElt('.nGY2GThumbnailIconsFullThumbnail').html('');}}}
G.GOM.thumbnails2Display=[];var duration=ThumbnailPreparePosition(tnToDisplay);ThumbnailPreparePosition(tnToReDisplay);ThumbnailDisplayAnimBatch();if(G.tn.opt.Get('displayTransition')=='NONE'){G.galleryResizeEventEnabled=true;TriggerCustomEvent('galleryDisplayed');}
else{requestTimeout(function(){G.galleryResizeEventEnabled=true;TriggerCustomEvent('galleryDisplayed');},duration*G.tn.opt.Get('displayInterval'));}}
function ThumbnailPreparePosition(lstThumb){var nbBuild=lstThumb.length;if(nbBuild==0){return 0;}
var displayOrder=G.tn.opt.Get('displayOrder');if(displayOrder=='random'){NGY2Tools.AreaShuffle(lstThumb);}
else{if(displayOrder=='rowByRow'&&!(G.layout.engine=='JUSTIFIED'||G.layout.engine=='GRID')){displayOrder='';}
if((displayOrder=='colFromRight'||displayOrder=='colFromLeft')&&!(G.layout.engine=='CASCADING'||G.layout.engine=='GRID')){displayOrder='';}}
if(displayOrder=='colFromRight'||displayOrder=='colFromLeft'){var tab=[];var cols=[];for(var i=0;i<nbBuild;i++){if(tab[lstThumb[i].left]==undefined){tab[lstThumb[i].left]=[];cols.push(lstThumb[i].left);}
tab[lstThumb[i].left].push(lstThumb[i].idx)}
if(displayOrder=='colFromRight'){cols=cols.reverse();}
for(var i=0;i<cols.length;i++){var col=cols[i];for(var j=0;j<tab[col].length;j++){ThumbnailSetPosition(tab[col][j],i);}}
return(i);}
var d=0;var top=lstThumb[0].top;for(var i=0;i<nbBuild;i++){if(displayOrder=='rowByRow'){if(lstThumb[i].top>top){d++;top=lstThumb[i].top;}}
else{d++;}
ThumbnailSetPosition(lstThumb[i].idx,d);}
return(d);}
function ThumbnailSetPosition(GOMidx,cnt){var newTop=0;var curTn=G.GOM.items[GOMidx];var idx=G.GOM.items[GOMidx].thumbnailIdx;var item=G.I[idx];if(curTn.neverDisplayed){var top=curTn.top-G.GOM.clipArea.top;if(G.tn.opt.Get('stacks')>0){item.$elt.last().css({display:'block'});item.$elt.css({top:top,left:curTn.left});}
else{item.$elt.css({display:'block',top:top,left:curTn.left});}
newTop=top;if(G.O.thumbnailWaitImageLoaded===true){var gi_imgLoad=ngimagesLoaded(item.$getElt('.nGY2TnImg2'));gi_imgLoad.on('progress',function(instance,image){if(image.isLoaded){var albumIdx=image.img.getAttribute('data-albumidx');if(albumIdx==G.GOM.albumIdx){var idx=image.img.getAttribute('data-idx');G.I[idx].ThumbnailImageReveal();}}});}
ThumbnailAppear(GOMidx,cnt);curTn.displayed=true;curTn.neverDisplayed=false;}
else{var topOld=G.GOM.cache.containerOffset.top+item.top;var top=G.GOM.cache.containerOffset.top+(curTn.top-G.GOM.clipArea.top);newTop=curTn.top-G.GOM.clipArea.top;var vp=G.GOM.cache.viewport;if(G.O.thumbnailDisplayOutsideScreen||(((topOld+curTn.height)>=(vp.t-vp.h)&&topOld<=(vp.t+vp.h*4))||((top+curTn.height)>=(vp.t-vp.h)&&top<=(vp.t+vp.h*4)))){if(curTn.displayed){if(item.top!=curTn.top||item.left!=curTn.left){if(G.O.galleryResizeAnimation==true){var tweenable=new NGTweenable();tweenable.tween({from:{top:item.top,left:item.left,height:item.height,width:item.width},to:{top:newTop,left:curTn.left,height:curTn.height,width:curTn.width},attachment:{$e:item.$elt},duration:100,delay:cnt*G.tn.opt.Get('displayInterval')/5,easing:'easeOutQuart',step:function(state,att){att.$e.css(state);},finish:function(state,att){var _this=this;_this.dispose();}});}
else{item.$elt.css({top:newTop,left:curTn.left});}}}
else{curTn.displayed=true;item.$elt.css({display:'block',top:newTop,left:curTn.left,opacity:1});ThumbnailAppearFinish(item);}}
else{curTn.displayed=false;item.$elt.css({display:'none'});}}
item.left=curTn.left;item.top=newTop;if(item.width!=curTn.width||item.height!=curTn.height){item.$elt.css({width:curTn.width,height:curTn.height});item.width=curTn.width;item.height=curTn.height;if(item.resizedContentWidth!=curTn.resizedContentWidth||item.resizedContentHeight!=curTn.resizedContentHeight){if(item.kind=='albumUp'){}
else{item.$getElt('.nGY2GThumbnailImage').css({'height':curTn.resizedContentHeight,'width':curTn.resizedContentWidth});if(G.layout.engine=='JUSTIFIED'){item.$getElt('.nGY2GThumbnailImg').css({'height':curTn.resizedContentHeight,'width':curTn.resizedContentWidth});}}
item.resizedContentWidth=curTn.resizedContentWidth;item.resizedContentHeight=curTn.resizedContentHeight;}}
if(G.GOM.lastDisplayedIdxNew==GOMidx&&G.layout.support.rows){if((G.galleryDisplayMode.Get()=='ROWS'&&G.galleryMaxRows.Get()>0)||(G.galleryDisplayMode.Get()=='FULLCONTENT'&&G.galleryLastRowFull.Get()&&G.GOM.lastFullRow!=-1)){var nb=G.GOM.items.length-GOMidx-1;if(item.albumID!='0'&&G.O.thumbnailLevelUp){nb--;}
if(nb>0){if(G.O.thumbnailOpenInLightox||G.O.thumbnailSliderDelay>0){item.$getElt('.nGY2GThumbnailIconsFullThumbnail').html('+'+nb);}
if(G.O.thumbnailLabel.get('position')!='right'&&G.O.thumbnailLabel.get('position')!='left'){if(G.GOM.slider.hostItem!=G.GOM.NGY2Item(GOMidx)){GalleryThumbnailSliderSetContent(G.GOM.slider.hostItem);G.GOM.slider.hostIdx=GOMidx;G.GOM.slider.hostItem=G.GOM.NGY2Item(GOMidx);G.GOM.slider.nextIdx=GOMidx;G.GOM.slider.currentIdx=GOMidx;GalleryThumbnailSliderBuildAndStart();}}}
else{GalleryThumbnailSliderSetContent(G.GOM.slider.hostItem);G.GOM.slider.hostIdx=-1;}
G.GOM.lastDisplayedIdx=GOMidx;}}}
function GalleryThumbnailSliderBuildAndStart(){if(G.O.thumbnailSliderDelay==0||G.GOM.slider.hostIdx==-1){return;}
clearTimeout(G.GOM.slider.timerID);var item=G.GOM.slider.hostItem;if(item.$getElt('.nGY2TnImgNext').length==0){item.$getElt('.nGY2TnImg').clone().removeClass('nGY2TnImg').addClass('nGY2TnImgNext').insertAfter(item.$getElt('.nGY2TnImg'));item.$getElt('.nGY2TnImgBack').clone().removeClass('nGY2TnImgBack').addClass('nGY2TnImgBackNext').insertAfter(item.$getElt('.nGY2TnImg',true));item.$getElt('.nGY2GThumbnailImage',true);item.$getElt('.nGY2GThumbnailImg',true);}
item.CSSTransformSet('.nGY2TnImgNext','translateX','100%',true);item.CSSTransformApply('.nGY2TnImgNext');item.CSSTransformSet('.nGY2TnImgBackNext','translateX','100%',true);item.CSSTransformApply('.nGY2TnImgBackNext');GalleryThumbnailSliderSetNextContent();G.GOM.slider.timerID=requestTimeout(function(){GalleryThumbnailSliderStartTransition()},G.O.thumbnailSliderDelay);}
function GalleryThumbnailSliderSetNextContent(){G.GOM.slider.nextIdx++;if(G.GOM.slider.nextIdx>=G.GOM.items.length){G.GOM.slider.nextIdx=G.GOM.slider.hostIdx;}
var newItem=G.GOM.NGY2Item(G.GOM.slider.nextIdx);var bgImg="url('"+G.emptyGif+"')";if(newItem.imageDominantColors!=null){bgImg="url('"+newItem.imageDominantColors+"')";}
G.GOM.slider.hostItem.$getElt('.nGY2TnImgBackNext',true).css({'background-image':bgImg,opacity:1});G.GOM.slider.hostItem.$getElt('.nGY2TnImgNext',true).css({'background-image':"url('"+newItem.thumbImg().src+"')",opacity:1});G.GOM.slider.hostItem.$getElt('.nGY2TnImgNext .nGY2GThumbnailImg',true).attr('src',newItem.thumbImg().src);}
function GalleryThumbnailSliderStartTransition(){if(G.GOM.slider.hostItem.$getElt()!=null){var tweenable=new NGTweenable();G.GOM.slider.tween=tweenable;tweenable.tween({from:{'left':100},to:{'left':0},duration:800,delay:0,easing:'easeOutQuart',step:function(state){if(G.GOM.slider.hostItem.$getElt()==null){G.GOM.slider.tween.stop(false);return;}
G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgBack','translateX',-(100-state.left)+'%');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgBack');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImg','translateX',-(100-state.left)+'%');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImg');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgBackNext','translateX',state.left+'%');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgBackNext');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgNext','translateX',state.left+'%');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgNext');},finish:function(state){if(G.GOM.slider.hostItem.$getElt()==null){return;}
if(G.GOM.NGY2Item(G.GOM.slider.nextIdx)==null){return;}
GalleryThumbnailSliderSetContent(G.GOM.NGY2Item(G.GOM.slider.nextIdx));G.GOM.slider.currentIdx=G.GOM.slider.nextIdx;GalleryThumbnailSliderSetNextContent();clearTimeout(G.GOM.slider.timerID);G.GOM.slider.timerID=requestTimeout(function(){GalleryThumbnailSliderStartTransition()},G.O.thumbnailSliderDelay);}});}}
function GalleryThumbnailSliderSetContent(ngy2itemContent){if(G.GOM.slider.hostIdx==-1){return;}
if(G.GOM.slider.tween!=null){if(G.GOM.slider.tween._isTweening==true){G.GOM.slider.tween.stop(false);}}
var bgImg="url('"+G.emptyGif+"')";if(ngy2itemContent.imageDominantColors!=null){bgImg="url('"+ngy2itemContent.imageDominantColors+"')";}
G.GOM.slider.hostItem.$getElt('.nGY2TnImgBack').css('background-image',bgImg);G.GOM.slider.hostItem.$getElt('.nGY2TnImg').css('background-image',"url('"+ngy2itemContent.thumbImg().src+"')");G.GOM.slider.hostItem.$getElt('.nGY2TnImg .nGY2GThumbnailImg').attr('src',ngy2itemContent.thumbImg().src);G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgBack','translateX','0');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgBack');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImg','translateX','0');G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImg');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgBackNext','translateX','100%',true);G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgBackNext');G.GOM.slider.hostItem.CSSTransformSet('.nGY2TnImgNext','translateX','100%',true);G.GOM.slider.hostItem.CSSTransformApply('.nGY2TnImgNext');if(G.O.thumbnailLabel.get('display')==true){var icons=G.O.icons.thumbnailAlbum;if(ngy2itemContent.kind!='album'){icons=G.O.icons.thumbnailImage;}
G.GOM.slider.hostItem.$getElt('.nGY2GThumbnailTitle').html(icons+getThumbnailTitle(ngy2itemContent));G.GOM.slider.hostItem.$getElt('.nGY2GThumbnailDescription').html(icons+getTumbnailDescription(ngy2itemContent));}}
function ThumbnailGetLabelHeight(){var newElt=[],newEltIdx=0;if(G.O.thumbnailLabel.get('display')==false){return 0;}
newElt[newEltIdx++]='<div class="nGY2GThumbnail '+G.O.theme+'" style="display:block;visibility:hidden;position:absolute;top:-9999px;left:-9999px;" ><div class="nGY2GThumbnailSub">';if(G.O.thumbnailLabel.get('display')==true){newElt[newEltIdx++]='  <div class="nGY2GThumbnailLabel" '+G.tn.style.getLabel()+'>';newElt[newEltIdx++]='    <div class="nGY2GThumbnailAlbumTitle" '+G.tn.style.getTitle()+'>aAzZjJ</div>';if(G.O.thumbnailLabel.get('displayDescription')==true){newElt[newEltIdx++]='    <div class="nGY2GThumbnailDescription" '+G.tn.style.getDesc()+'>'+'aAzZjJ'+'</div>';}
newElt[newEltIdx++]='  </div>';}
newElt[newEltIdx++]='</div></div>';var $newDiv=jQuery(newElt.join('')).appendTo(G.$E.conTn);var h=$newDiv.find('.nGY2GThumbnailLabel').outerHeight(true);$newDiv.remove();return h;}
function ThumbnailBuildStacks(bgColor){var ns=G.tn.opt.Get('stacks');if(ns==0){return'';}
var s='';for(var i=0;i<ns;i++){s='<div class="nGY2GThumbnailStack " style="display:none;'+bgColor+'"></div>'+s;}
return s;}
function ThumbnailBuildAlbumpUp(item,GOMidx){var newElt=[],newEltIdx=0;var mp='';if(G.O.thumbnailOpenInLightox===false){mp='cursor:default;'}
newElt[newEltIdx++]=ThumbnailBuildStacks('')+'<div class="nGY2GThumbnail" style="display:none;opacity:0;'+mp+'" >';newElt[newEltIdx++]='  <div class="nGY2GThumbnailSub">';var h=G.tn.defaultSize.getHeight(),w=G.tn.defaultSize.getWidth();newElt[newEltIdx++]='    <div class="nGY2GThumbnailImage" style="width:'+w+'px;height:'+h+'px;"><img class="nGY2GThumbnailImg" src="'+G.emptyGif+'" alt="" style="max-width:'+w+'px;max-height:'+h+'px;" ></div>';newElt[newEltIdx++]='    <div class="nGY2GThumbnailAlbumUp" >'+G.O.icons.thumbnailAlbumUp+'</div>';newElt[newEltIdx++]='  </div>';newElt[newEltIdx++]='</div>';var $newDiv=jQuery(newElt.join('')).appendTo(G.$E.conTn);item.$elt=$newDiv;$newDiv.data('index',GOMidx);item.$getElt('.nGY2GThumbnailImg').data('index',GOMidx);return;}
function ThumbnailBuild(item,idx,GOMidx){item.eltTransform=[];item.eltFilter=[];item.hoverInitDone=false;item.$Elts=[];if(item.kind=='albumUp'){ThumbnailBuildAlbumpUp(item,GOMidx);return;}
var newElt=[],newEltIdx=0;var mp='';if(G.O.thumbnailOpenInLightox===false){mp='cursor:default;'}
var src=(item.thumbImg().src).replace(/'/g,"%27"),sTitle=getThumbnailTitle(item);var bg='';var bgImg="background-image: url('"+G.emptyGif+"');";if(item.imageDominantColors!=null){bgImg="background-image: url('"+item.imageDominantColors+"');";}
else{if(item.imageDominantColor!=null){bg='background-color:'+item.imageDominantColor+';';}
else{bgImg='';}}
var op='opacity:1;';if(G.O.thumbnailWaitImageLoaded==true){op='opacity:0;';}
newElt[newEltIdx++]=ThumbnailBuildStacks(bg)+'<div class="nGY2GThumbnail nGY2GThumbnail_'+G.GOM.curNavLevel+'" style="display:none;opacity:0;'+mp+'"><div class="nGY2GThumbnailSub '+(G.O.thumbnailSelectable&&item.selected?"nGY2GThumbnailSubSelected":"")+'">';var w=G.tn.settings.getW();var h=G.tn.settings.getH();if(G.tn.settings.getMosaic()!==null){w=G.GOM.items[GOMidx].width;h=G.GOM.items[GOMidx].height;}
var bgSize='contain';if(G.tn.opt.Get('crop')){bgSize='cover';}
var s1="position: absolute; top: 0px; left: 0px; width:"+w+"px; height:"+h+"px;"+bg+bgImg+" background-position: center center;  background-repeat: no-repeat; background-size:"+bgSize+"; overflow: hidden;";newElt[newEltIdx++]='<div class="nGY2GThumbnailImage nGY2TnImgBack" style="'+s1+'"></div>';var s2=op+"position: absolute; top: 0px; left: 0px; width:"+w+"px; height:"+h+"px; background-image: url('"+src.replace(/\\/g,'\\\\')+"'); background-position: center center; background-repeat: no-repeat; background-size:"+bgSize+"; overflow: hidden;";newElt[newEltIdx++]='<div class="nGY2GThumbnailImage nGY2TnImg" style="'+s2+'">';newElt[newEltIdx++]='  <img class="nGY2GThumbnailImg nGY2TnImg2" src="'+src+'" alt="'+sTitle+'" style="opacity:0;" data-idx="'+idx+'" data-albumidx="'+G.GOM.albumIdx+'" >';newElt[newEltIdx++]='</div>';newElt[newEltIdx++]='<div class="nGY2GThumbnailCustomLayer"></div>';if(G.O.thumbnailLabel.get('display')==true){newElt[newEltIdx++]='  <div class="nGY2GThumbnailLabel" '+G.tn.style.getLabel(item)+'>';if(item.kind=='album'){newElt[newEltIdx++]='    <div class="nGY2GThumbnailTitle nGY2GThumbnailAlbumTitle" '+G.tn.style.getTitle()+'>'+G.O.icons.thumbnailAlbum+sTitle+'</div>';}
else{newElt[newEltIdx++]='    <div class="nGY2GThumbnailTitle nGY2GThumbnailImageTitle" '+G.tn.style.getTitle()+'>'+G.O.icons.thumbnailImage+sTitle+'</div>';}
newElt[newEltIdx++]='    <div class="nGY2GThumbnailDescription" '+G.tn.style.getDesc()+'>'+getTumbnailDescription(item)+'</div>';newElt[newEltIdx++]='  </div>';}
newElt[newEltIdx++]=ThumbnailBuildTools(item);newElt[newEltIdx++]='</div></div>';var $newDiv=jQuery(newElt.join('')).appendTo(G.$E.conTn);item.$elt=$newDiv;$newDiv.data('index',GOMidx);item.$getElt('.nGY2GThumbnailImg').data('index',GOMidx);var fu=G.O.fnThumbnailInit;if(fu!==null){typeof fu=='function'?fu($newDiv,item,GOMidx):window[fu]($newDiv,item,GOMidx);}
if(item.title!='image gallery by nanogallery2 [build]'){ThumbnailOverInit(GOMidx);}
return;}
function ThumbnailBuildTools(item){var tb=ThumbnailBuildToolbarOne(item,'topLeft')+ThumbnailBuildToolbarOne(item,'topRight')+ThumbnailBuildToolbarOne(item,'bottomLeft')+ThumbnailBuildToolbarOne(item,'bottomRight');tb+='<div class="nGY2GThumbnailIconsFullThumbnail"></div>';return tb;}
function ThumbnailBuildToolbarOne(item,position){var toolbar='';var tb=G.tn.toolbar.get(item);var width={xs:0,sm:1,me:2,la:3,xl:4};var cnt=0;if(tb[position]!=''){var pos='top: 0; right: 0; text-align: right;';switch(position){case'topLeft':pos='top: 0; left: 0; text-align: left;';break;case'bottomRight':pos='bottom: 0; right: 0; text-align: right;';break;case'bottomLeft':pos='bottom: 0; left: 0; text-align: left;';break;}
toolbar+='  <ul class="nGY2GThumbnailIcons" style="'+pos+'">';var icons=tb[position].split(',');var nb=icons.length;for(var i=0;i<nb;i++){var icon=icons[i].replace(/^\s*|\s*$/,'');var minWidth=icon.substring(0,2).toLowerCase();var tIcon=icon;var display=true;if(/xs|sm|me|la|xl/i.test(minWidth)){if(width[minWidth]>width[G.GOM.curWidth]){display=false;}
tIcon=icon.substring(2);}
if(display){var sp=(i+1<nb?'&nbsp;':'');switch(tIcon){case'COUNTER':if(item.kind=='album'){toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="">';toolbar+='      <div class="nGY2GThumbnailIconImageCounter"></div>';toolbar+='      <div class="nGY2GThumbnailIconText">'+G.O.icons.thumbnailCounter+Math.max((item.getContentLength(false)),item.numberItems)+sp+'</div>';toolbar+='    </li>';cnt++;}
break;case'COUNTER2':if(item.kind=='album'){toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="">';toolbar+='      <div class="nGY2GThumbnailIconTextBadge">'+G.O.icons.thumbnailCounter+Math.max((item.getContentLength(false)),item.numberItems)+sp+'</div>';toolbar+='    </li>';cnt++;}
break;case'SHARE':toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="'+tIcon+'">';toolbar+='      <div>'+G.O.icons.thumbnailShare+'</div>';toolbar+='    </li>';cnt++;break;case'DOWNLOAD':toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="'+tIcon+'">';toolbar+='      <div>'+G.O.icons.thumbnailDownload+'</div>';toolbar+='    </li>';cnt++;break;case'INFO':toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="'+tIcon+'">';toolbar+='      <div>'+G.O.icons.thumbnailInfo+'</div>';toolbar+='    </li>';cnt++;break;case'SHOPPINGCART':toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="'+tIcon+'">';toolbar+=ThumbnailBuildToolbarOneCart(item);toolbar+='    </li>';cnt++;break;case'DISPLAY':toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="DISPLAY">';toolbar+='      <div class="nGY2GThumbnailIconImageShare">'+G.O.icons.thumbnailDisplay+'</div>';toolbar+='    </li>';cnt++;break;case'CUSTOM1':case'CUSTOM2':case'CUSTOM3':case'CUSTOM4':case'CUSTOM5':case'CUSTOM6':case'CUSTOM7':case'CUSTOM8':case'CUSTOM9':case'CUSTOM10':var cust=tIcon.replace('CUSTOM','');toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="'+tIcon.toLowerCase()+'">';toolbar+='      <div class="nGY2GThumbnailIconImageShare">'+G.O.icons['thumbnailCustomTool'+cust]+'</div>';toolbar+='    </li>';cnt++;break;case'FEATURED':if(item.featured===true){toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="">';toolbar+='      <div class="nGY2GThumbnailIconImageFeatured">'+G.O.icons.thumbnailFeatured+'</div>';toolbar+='    </li>';cnt++;}
break;case'SELECT':if(G.O.thumbnailSelectable==true){toolbar+='    <li class="nGY2GThumbnailIcon" data-ngy2action="TOGGLESELECT">';if(item.selected===true){toolbar+='      <div class="nGY2GThumbnailIconImageSelect nGY2ThumbnailSelected">'+G.O.icons.thumbnailSelected+'</div>';}
else{toolbar+='      <div class="nGY2GThumbnailIconImageSelect nGY2ThumbnailUnselected">'+G.O.icons.thumbnailUnselected+'</div>';}
toolbar+='    </li>';cnt++;}
break;}}}
toolbar+='  </ul>';}
if(cnt>0){return toolbar;}
else{return'';}}
function ThumbnailBuildToolbarOneCart(item){var q=0;var id=item.GetID()
for(var i=0;i<G.shoppingCart.length;i++){if(G.I[G.shoppingCart[i].idx].GetID()==id){q=G.shoppingCart[i].qty;}}
if(q==0){q='';}
return'      <div>'+G.O.icons.thumbnailShoppingcart+q+'</div>';}
function ThumbnailBuildToolbarOneCartUpdate(item){var $e=item.$elt;if($e!=null){var $q=$e.find('*[data-ngy2action="SHOPPINGCART"]');if($q!==undefined){$q.html(ThumbnailBuildToolbarOneCart(item));}}}
function getThumbnailTitle(item){var sTitle=item.title;if(G.O.thumbnailLabel.get('display')==true){if(sTitle===undefined||sTitle.length==0){sTitle='&nbsp;';}
if(G.i18nTranslations.thumbnailImageTitle!=''){sTitle=G.i18nTranslations.thumbnailImageTitle;}
var ml=G.O.thumbnailLabel.get('titleMaxLength');if(ml>3&&sTitle.length>ml){sTitle=sTitle.substring(0,ml)+'...';}}
return sTitle;}
function getTumbnailDescription(item){var sDesc='';if(G.O.thumbnailLabel.get('displayDescription')==true){if(item.kind=='album'){if(G.i18nTranslations.thumbnailImageDescription!=''){sDesc=G.i18nTranslations.thumbnailAlbumDescription;}
else{sDesc=item.description;}}
else{if(G.i18nTranslations.thumbnailImageDescription!=''){sDesc=G.i18nTranslations.thumbnailImageDescription;}
else{sDesc=item.description;}}
var ml=G.O.thumbnailLabel.get('descriptionMaxLength');if(ml>3&&sDesc.length>ml){sDesc=sDesc.substring(0,ml)+'...';}
if(sDesc.length==0){sDesc='&nbsp;';}}
return sDesc;}
function NbThumbnailsPerRow(areaWidth){var tnW=G.tn.defaultSize.getOuterWidth();var nbMaxTn=0;if(G.O.thumbnailAlignment=='justified'){nbMaxTn=Math.floor((areaWidth)/(tnW));}
else{nbMaxTn=Math.floor((areaWidth+G.tn.settings.GetResponsive('gutterWidth'))/(tnW+G.tn.settings.GetResponsive('gutterWidth')));}
if(G.O.maxItemsPerLine>0&&nbMaxTn>G.O.maxItemsPerLine){nbMaxTn=G.O.maxItemsPerLine;}
if(nbMaxTn<1){nbMaxTn=1;}
return nbMaxTn}
function ThumbnailAppear(n,cnt){var curTn=G.GOM.items[n];var item=G.I[curTn.thumbnailIdx];if(G.tn.opt.Get('displayTransition')=='NONE'){item.$elt.css({opacity:1});ThumbnailAppearFinish(item);}
else{if(item.$elt==null){return;}
var top=G.GOM.cache.containerOffset.top+(curTn.top-G.GOM.clipArea.top);var vp=G.GOM.cache.viewport;if((top+(curTn.top-G.GOM.clipArea.top))>=(vp.t-50)&&top<=(vp.t+vp.h+50)){var delay=cnt*G.tn.opt.Get('displayInterval');if(G.tn.opt.Get('displayTransition')=='CUSTOM'){if(G.GOM.curNavLevel=='lN'){G.O.fnThumbnailDisplayEffect(item.$elt,item,n,delay);}
else{G.O.fnThumbnailL1DisplayEffect(item.$elt,item,n,delay);}}
else{G.GOM.thumbnails2Display.push({itm:item,d:delay});}
return;}
else{item.$elt.css({opacity:1});ThumbnailAppearFinish(item);}}}
function ThumbnailAppearFinish(item){var ns=G.tn.opt.Get('stacks');if(ns>0){item.$elt.css({display:'block'});var o=0.9;for(var i=ns-1;i>=0;i--){item.$elt.eq(i).css('opacity',o);o=o-0.2;}}}
function ThumbnailDisplayAnim2(item,delay){function randomIntFromInterval(min,max){return Math.floor(Math.random()*(max-min+1)+min);}
var oFrom={};var oTo={};switch(G.tn.opt.Get('displayTransition')){case'RANDOMSCALE':{var scales=[0.95,1,1.05,1.1];var zi=[1,2,3,4];var r=randomIntFromInterval(0,3);while(r==G.GOM.lastRandomValue){r=randomIntFromInterval(0,3);}
G.GOM.lastRandomValue=r;let f=scales[r];item.$elt.css({'z-index':G.GOM.lastZIndex+zi[r],'box-shadow':'0px 0px 5px 3px rgba(0,0,0,0.74)'});oFrom={scale:0.5,opacity:0};oTo={scale:f,opacity:1};break;}
case'SCALEUP':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=0.6;}
oFrom={scale:f,opacity:0};oTo={scale:1,opacity:1};break;}
case'SCALEDOWN':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=1.3;}
oFrom={scale:f,opacity:0};oTo={scale:1,opacity:1};break;}
case'SLIDEUP':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=50;}
oFrom={opacity:0,translateY:f};oTo={opacity:1,translateY:0};break;}
case'SLIDEDOWN':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=-50;}
oFrom={opacity:0,translateY:f};oTo={opacity:1,translateY:0};break;}
case'FLIPUP':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=100;}
oFrom={opacity:0,translateY:f,rotateX:45};oTo={opacity:1,translateY:0,rotateX:0};break;}
case'FLIPDOWN':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=-100;}
oFrom={opacity:0,translateY:f,rotateX:-45};oTo={opacity:1,translateY:0,rotateX:0};break;}
case'SLIDEUP2':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=100;}
oFrom={opacity:0,translateY:f,rotateY:40};oTo={opacity:1,translateY:0,rotateY:0};break;}
case'IMAGESLIDEUP':{oFrom={opacity:0,top:'100%'};oTo={opacity:1,top:'0%'};break;}
case'SLIDEDOWN2':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=-100;}
oFrom={opacity:0,translateY:f,rotateY:40};oTo={opacity:1,translateY:0,rotateY:0};break;}
case'SLIDERIGHT':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=-150;}
oFrom={opacity:0,translateX:f};oTo={opacity:1,translateX:0};break;}
case'SLIDELEFT':{let f=G.tn.opt.Get('displayTransitionStartVal');if(f==0){f=150;}
oFrom={opacity:0,translateX:f};oTo={opacity:1,translateX:0};break;}
case'FADEIN':oFrom={opacity:0};oTo={opacity:1};break;}
var tweenable=new NGTweenable();tweenable.tween({from:oFrom,to:oTo,attachment:{$e:item.$elt,item:item,tw:tweenable},delay:delay,duration:G.tn.opt.Get('displayTransitionDuration'),easing:G.tn.opt.Get('displayTransitionEasing'),step:function(state,att){window.requestAnimationFrame(function(){if(att.item.$elt===null){att.tw.stop(false);return;}
switch(G.tn.opt.Get('displayTransition')){case'RANDOMSCALE':att.$e.css(G.CSStransformName,'scale('+state.scale+')').css('opacity',state.opacity);break;case'SCALEUP':att.$e.css(G.CSStransformName,'scale('+state.scale+')').css('opacity',state.opacity);break;case'SCALEDOWN':att.item.$elt.last().css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','scale',state.scale);att.item.CSSTransformApply('.nGY2GThumbnail');break;case'SLIDEUP':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px, '+state.translateY+'px');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'SLIDEDOWN':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px,'+state.translateY+'px');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'FLIPUP':att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px,'+state.translateY+'px');att.item.CSSTransformSet('.nGY2GThumbnail','rotateX',state.rotateX+'deg');att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformApply('.nGY2GThumbnail');break;case'FLIPDOWN':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px,'+state.translateY+'px');att.item.CSSTransformSet('.nGY2GThumbnail','rotateX',state.rotateX+'deg');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'SLIDEUP2':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px,'+state.translateY+'px');att.item.CSSTransformSet('.nGY2GThumbnail','rotateY',state.rotateY+'deg');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'IMAGESLIDEUP':att.item.$elt.css('opacity',state.opacity);att.item.$Elts['.nGY2GThumbnailImage'].css('top',state.top);break;case'SLIDEDOWN2':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate','0px, '+state.translateY+'px');att.item.CSSTransformSet('.nGY2GThumbnail','rotateY',state.rotateY+'deg');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'SLIDERIGHT':att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformSet('.nGY2GThumbnail','translate',state.translateX+'px, 0px');att.item.CSSTransformApply('.nGY2GThumbnail');break;case'SLIDELEFT':att.item.CSSTransformSet('.nGY2GThumbnail','translate',state.translateX+'px, 0px');att.item.$elt.css('opacity',state.opacity);att.item.CSSTransformApply('.nGY2GThumbnail');break;case'FADEIN':att.$e.css(state);break;}});},finish:function(state,att){window.requestAnimationFrame(function(){if(att.item.$elt===null){return;}
switch(G.tn.opt.Get('displayTransition')){case'RANDOMSCALE':att.$e.css(G.CSStransformName,'scale('+state.scale+')').css('opacity','');break;case'SCALEUP':att.$e.css(G.CSStransformName,'').css('opacity','');break;case'SCALEDOWN':att.item.$elt.last().css('opacity','');att.item.CSSTransformSet('.nGY2GThumbnail','scale',state.scale);att.item.CSSTransformApply('.nGY2GThumbnail');break;case'IMAGESLIDEUP':att.item.$elt.css('opacity','');att.item.$Elts['.nGY2GThumbnailImage'].css('top',0);break;case'SLIDEDOWN2':att.item.$elt.css('opacity','');att.item.CSSTransformApply('.nGY2GThumbnail');break;default:att.item.$elt.css('opacity','');}
ThumbnailAppearFinish(att.item);});}});}
function ThumbnailDisplayAnimBatch(){G.GOM.thumbnails2Display.forEach(function(one){ThumbnailDisplayAnim2(one.itm,one.d);});G.GOM.thumbnails2Display=[];}
function GalleryAppear(){var d=G.galleryDisplayTransitionDuration.Get();switch(G.galleryDisplayTransition.Get()){case'ROTATEX':G.$E.base.css({perspective:'1000px','perspective-origin':'50% 0%'});new NGTweenable().tween({from:{r:50},to:{r:0},attachment:{orgIdx:G.GOM.albumIdx},duration:d,easing:'easeOutCirc',step:function(state,att){if(att.orgIdx==G.GOM.albumIdx){G.$E.conTnParent.css(G.CSStransformName,'rotateX('+state.r+'deg)');}}});break;case'SLIDEUP':G.$E.conTnParent.css({opacity:0});new NGTweenable().tween({from:{y:200,o:0},to:{y:0,o:1},attachment:{orgIdx:G.GOM.albumIdx},duration:d,easing:'easeOutCirc',step:function(state,att){if(att.orgIdx==G.GOM.albumIdx){G.$E.conTnParent.css(G.CSStransformName,'translate( 0px, '+state.y+'px)').css('opacity',state.o);}}});break;case'NONE':default:break;}}
function ThumbnailOverInit(GOMidx){var curTn=G.GOM.items[GOMidx];var item=G.I[curTn.thumbnailIdx];if(item.$elt==null){return;}
var fu=G.O.fnThumbnailHoverInit;if(fu!==null){typeof fu=='function'?fu($e,item,GOMidx):window[fu]($e,item,GOMidx);}
var inits=G.tn.buildInit.get();for(var j=0;j<inits.length;j++){switch(inits[j].property){case'scale':case'rotateX':case'rotateY':case'rotateZ':case'translateX':case'translateY':case'translateZ':item.CSSTransformSet(inits[j].element,inits[j].property,inits[j].value);item.CSSTransformApply(inits[j].element);break;case'blur':case'brightness':case'grayscale':case'sepia':case'contrast':case'opacity':case'saturate':item.CSSFilterSet(inits[j].element,inits[j].property,inits[j].value);item.CSSFilterApply(inits[j].element);break;default:var $t=item.$getElt(inits[j].element);$t.css(inits[j].property,inits[j].value);break;}}
var effects=G.tn.hoverEffects.get();for(var j=0;j<effects.length;j++){if(effects[j].firstKeyframe===true){switch(effects[j].type){case'scale':case'rotateX':case'rotateY':case'rotateZ':case'translateX':case'translateY':case'translateZ':item.CSSTransformSet(effects[j].element,effects[j].type,effects[j].from);item.CSSTransformApply(effects[j].element);break;case'blur':case'brightness':case'grayscale':case'sepia':case'contrast':case'opacity':case'saturate':item.CSSFilterSet(effects[j].element,effects[j].type,effects[j].from);item.CSSFilterApply(effects[j].element);break;default:var $t=item.$getElt(effects[j].element);$t.css(effects[j].type,effects[j].from);break;}}}
item.hoverInitDone=true;}
function ThumbnailHoverReInitAll(){if(G.GOM.albumIdx==-1){return;};var l=G.GOM.items.length;for(var i=0;i<l;i++){ThumbnailOverInit(i);G.I[G.GOM.items[i].thumbnailIdx].hovered=false;}}
function ThumbnailHover(GOMidx){if(G.GOM.albumIdx==-1||!G.galleryResizeEventEnabled){return;};if(G.GOM.slider.hostIdx==GOMidx){return;}
var curTn=G.GOM.items[GOMidx];var item=G.I[curTn.thumbnailIdx];if(item.kind=='albumUp'||item.$elt==null){return;}
item.hovered=true;var fu=G.O.fnThumbnailHover;if(fu!==null){typeof fu=='function'?fu(item.$elt,item,GOMidx):window[fu](item.$elt,item,GOMidx);}
var effects=G.tn.hoverEffects.get();try{for(var j=0;j<effects.length;j++){if(effects[j].hoverin===true){item.animate(effects[j],0,true);}}}
catch(e){NanoAlert(G,'error on hover: '+e.message);}}
function ThumbnailHoverOutAll(){if(G.GOM.albumIdx==-1){return;};var l=G.GOM.items.length;for(var i=0;i<l;i++){if(G.GOM.items[i].inDisplayArea){ThumbnailHoverOut(i);}
else{G.I[G.GOM.items[i].thumbnailIdx].hovered=false;}}}
function ThumbnailHoverOut(GOMidx){if(G.GOM.albumIdx==-1||!G.galleryResizeEventEnabled){return;}
if(G.GOM.slider.hostIdx==GOMidx){return;}
var curTn=G.GOM.items[GOMidx];var item=G.I[curTn.thumbnailIdx];if(item.kind=='albumUp'||!item.hovered){return;}
item.hovered=false;if(item.$elt==null){return;}
var fu=G.O.fnThumbnailHoverOut;if(fu!==null){typeof fu=='function'?fu(item.$elt,item,GOMidx):window[fu](item.$elt,item,GOMidx);}
var effects=G.tn.hoverEffects.get();try{for(var j=0;j<effects.length;j++){if(effects[j].hoverout===true){item.animate(effects[j],0,false);}}}
catch(e){NanoAlert(G,'error on hoverOut: '+e.message);}}
function DisplayPhoto(imageID,albumID){if(G.O.debugMode){console.log('#DisplayPhoto : '+albumID+'-'+imageID);}
var albumIdx=NGY2Item.GetIdx(G,albumID);if(albumIdx==0){G.GOM.curNavLevel='l1';}
else{G.GOM.curNavLevel='lN';}
if(albumIdx==-1){if(G.O.kind!=''){NGY2Item.New(G,'','',albumID,'0','album');}}
var ngy2ItemIdx=NGY2Item.GetIdx(G,imageID);if(ngy2ItemIdx==-1){AlbumGetContent(albumID,DisplayPhoto,imageID,albumID);return;}
if(G.O.debugMode){console.log('#DisplayPhoto : '+ngy2ItemIdx);}
DisplayPhotoIdx(ngy2ItemIdx);}
function AlbumGetContent(albumID,fnToCall,fnParam1,fnParam2){switch(G.O.kind){case'':AlbumGetMarkupOrApi(fnToCall,fnParam1,fnParam2);break;default:jQuery.nanogallery2['data_'+G.O.kind](G,'AlbumGetContent',albumID,fnToCall,fnParam1,fnParam2);}}
var mediaList={youtube:{getID:function(url){var s=url.match(/(?:https?:\/{2})?(?:w{3}\.)?youtu(?:be)?\.(?:com|be)(?:\/watch\?v=|\/)([^\s&]+)/);return s!=null?s[1]:null;},thumbUrl:function(id){return'https://img.youtube.com/vi/'+id+'/hqdefault.jpg';},url:function(id){return'https://www.youtube.com/embed/'+id;},markup:function(id){return'<iframe class="nGY2ViewerMedia" src="https://www.youtube.com/embed/'+id+'?rel=0" frameborder="0" allow="autoplay" allowfullscreen></iframe>';},kind:'iframe'},vimeo:{getID:function(url){var s=url.match(/(http|https)?:\/\/(www\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^\/]*)\/videos\/|)(\d+)(?:|\/\?)/);return s!=null?s[4]:null;},url:function(id){return'https://player.vimeo.com/video/'+id;},markup:function(id){return'<iframe class="nGY2ViewerMedia" src="https://player.vimeo.com/video/'+id+'" frameborder="0" allow="autoplay; fullscreen" allowfullscreen></iframe>';},kind:'iframe'},dailymotion:{getID:function(url){var m=url.match(/^.+dailymotion.com\/(video|hub)\/([^_]+)[^#]*(#video=([^_&]+))?/);if(m!==null){if(m[4]!==undefined){return m[4];}
return m[2];}
return null;},thumbUrl:function(id){return'https://www.dailymotion.com/thumbnail/video/'+id;},url:function(id){return'https://www.dailymotion.com/embed/video/'+id;},markup:function(id){return'<iframe class="nGY2ViewerMedia" src="https://www.dailymotion.com/embed/video/'+id+'?rel=0" frameborder="0" allow="autoplay" allowfullscreen></iframe>';},kind:'iframe'},selfhosted:{getID:function(url){var extension=url.split('.').pop().toLowerCase();var s=(extension==='mp4'||extension==='webm'||extension==='ogv'||extension==='3gp')?extension:null;return s;},markup:function(url){var extension=url.split('.').pop();return'<video controls class="nGY2ViewerMedia"><source src="'+url+'" type="video/'+extension+'" preload="auto">Your browser does not support the video tag (HTML 5).</video>';},kind:'video',selfhosted:true}};function AlbumGetMarkupOrApi(fnToCall,fnParam1,fnParam2){if(G.markupOrApiProcessed===true){DisplayAlbum('-1',0);return;}
if(G.O.items!==undefined&&G.O.items!==null){GetContentApiObject();}
else{if(G.O.$markup.length>0){GetContentMarkup(G.O.$markup);G.O.$markup=[];}
else{NanoConsoleLog(G,'error: no media to process.');return;}}
G.markupOrApiProcessed=true;if(fnToCall!==null&&fnToCall!==undefined){fnToCall(fnParam1,fnParam2,null);}}
function StartsWithProtocol(path){if(path==undefined){return false;}
var pattern=/^((http|https|ftp|ftps|file):\/\/)/;if(!pattern.test(path)){return false;}
return true;}
function GetContentApiObject(){var foundAlbumID=false;var nbTitles=0;var AlbumPostProcess=NGY2Tools.AlbumPostProcess.bind(G);G.I[0].contentIsLoaded=true;jQuery.each(G.O.items,function(i,item){var title='';title=GetI18nItem(item,'title');if(title===undefined){title='';}
var src='';if(item['src'+RetrieveCurWidth().toUpperCase()]!==undefined){src=item['src'+RetrieveCurWidth().toUpperCase()];}
else{src=item.src;}
if(!StartsWithProtocol(src)){src=G.O.itemsBaseURL+src;}
var thumbsrc='';if(item.srct!==undefined&&item.srct.length>0){thumbsrc=item.srct;if(!StartsWithProtocol(thumbsrc)){thumbsrc=G.O.itemsBaseURL+thumbsrc;}}
else{thumbsrc=src;}
if(G.O.thumbnailLabel.get('title')!=''){title=GetImageTitle(src);}
var description='';description=GetI18nItem(item,'description');if(description===undefined){description='';}
var tags=GetI18nItem(item,'tags');if(tags===undefined){tags='';}
var albumID=0;if(item.albumID!==undefined){albumID=item.albumID;foundAlbumID=true;}
var ID=null;if(item.ID!==undefined){ID=item.ID;}
var kind='image';if(item.kind!==undefined&&item.kind.length>0){kind=item.kind;}
var newItem=NGY2Item.New(G,title,description,ID,albumID,kind,tags);if(title!=''){nbTitles++;}
newItem.setMediaURL(src,'img');jQuery.each(mediaList,function(n,media){var id=media.getID(src);if(id!=null){if(thumbsrc==src&&typeof media.thumbUrl=='function'){thumbsrc=media.thumbUrl(id);}
if(typeof media.url=='function'){src=media.url(id);}
newItem.mediaKind=media.kind;newItem.mediaMarkup=(media.selfhosted)?media.markup(src):media.markup(id);return false;}});if(item.imageWidth!==undefined){newItem.imageWidth=item.width;}
if(item.imageHeight!==undefined){newItem.imageHeight=item.height;}
var tw=item.imgtWidth!==undefined?item.imgtWidth:0;var th=item.imgtHeight!==undefined?item.imgtHeight:0;newItem.thumbs={url:{l1:{xs:thumbsrc,sm:thumbsrc,me:thumbsrc,la:thumbsrc,xl:thumbsrc},lN:{xs:thumbsrc,sm:thumbsrc,me:thumbsrc,la:thumbsrc,xl:thumbsrc}},width:{l1:{xs:tw,sm:tw,me:tw,la:tw,xl:tw},lN:{xs:tw,sm:tw,me:tw,la:tw,xl:tw}},height:{l1:{xs:th,sm:th,me:th,la:th,xl:th},lN:{xs:th,sm:th,me:th,la:th,xl:th}}};if(newItem.mediaKind=='img'){var lst=['xs','sm','me','la','xl'];for(var i=0;i<lst.length;i++){var turl=item['srct'+lst[i].toUpperCase()];if(turl!==undefined){if(!StartsWithProtocol(turl)){turl=G.O.itemsBaseURL+turl;}
newItem.url.l1[lst[i]]=turl;newItem.url.lN[lst[i]]=turl;}
var tw=item['imgt'+lst[i].toUpperCase()+'Width'];if(tw!=undefined){newItem.width.l1[lst[i]]=parseInt(tw);newItem.width.lN[lst[i]]=parseInt(tw);}
var th=item['imgt'+lst[i].toUpperCase()+'Height'];if(th!=undefined){newItem.height.l1[lst[i]]=parseInt(th);newItem.height.lN[lst[i]]=parseInt(th);}}}
if(item.imageDominantColors!==undefined){newItem.imageDominantColors=item.imageDominantColors;}
if(item.imageDominantColor!==undefined){newItem.imageDominantColor=item.imageDominantColor;}
if(item.destURL!==undefined&&item.destURL.length>0){newItem.destinationURL=item.destURL;}
if(item.downloadURL!==undefined&&item.downloadURL.length>0){newItem.downloadURL=item.downloadURL;}
if(item.exifModel!==undefined){newItem.exif.model=item.exifModel;}
if(item.exifFlash!==undefined){newItem.exif.flash=item.exifFlash;}
if(item.exifFocalLength!==undefined){newItem.exif.focallength=item.exifFocalLength;}
if(item.exifFStop!==undefined){newItem.exif.fstop=item.exifFStop;}
if(item.exifExposure!==undefined){newItem.exif.exposure=item.exifExposure;}
if(item.exifIso!==undefined){newItem.exif.iso=item.exifIso;}
if(item.exifTime!==undefined){newItem.exif.time=item.exifTime;}
if(item.exifLocation!==undefined){newItem.exif.location=item.exifLocation;}
if(item.customData!==null){newItem.customData=cloneJSObject(item.customData);}
newItem.contentIsLoaded=true;var fu=G.O.fnProcessData;if(fu!==null){typeof fu=='function'?fu(newItem,'api',item):window[fu](newItem,'api',item);}
AlbumPostProcess(albumID);});if(nbTitles==0){G.O.thumbnailLabel.display=false;}}
function ElementGetText(element){var text='';if(element.childNodes[0]!==undefined){if(element.childNodes[0].nodeValue!==null&&element.childNodes[0].nodeValue!==undefined){text=element.childNodes[0].nodeValue.trim();}}
return text;}
function GetContentMarkup($elements,group){var foundAlbumID=false;var nbTitles=0;var AlbumPostProcess=NGY2Tools.AlbumPostProcess.bind(G);var GetImageTitleFromURL=NGY2Tools.GetImageTitleFromURL.bind(G);G.I[0].contentIsLoaded=true;jQuery.each($elements,function(i,item){if(item.dataset.nanogallery2Lgroup!=group){return;}
if(item.nodeName=='SCRIPT'){return;}
var data={'data-ngdesc':'','data-ngid':null,'data-ngkind':'image','data-ngtags':null,'data-ngdest':'','data-ngthumbimgwidth':0,'data-ngthumbimgheight':0,'data-ngimagewidth':0,'data-ngimageheight':0,'data-ngimagedominantcolors':null,'data-ngimagedominantcolor':null,'data-ngexifmodel':'','data-ngexifflash':'','data-ngexiffocallength':'','data-ngexiffstop':'','data-ngexifexposure':'','data-ngexifiso':'','data-ngexiftime':'','data-ngexiflocation':'','data-ngsrc':'','alt':''};[].forEach.call(item.attributes,function(attr){data[attr.name.toLowerCase()]=attr.value.trim();});var title=ElementGetText(item);if(title==''&&data.alt!=''){title=data['alt'];}
jQuery.each($(item).children(),function(i,sub_item){if(title==''){title=ElementGetText(sub_item);}
[].forEach.call(sub_item.attributes,function(attr){data[attr.name.toLowerCase()]=attr.value.trim();});if(title==''&&data.alt!=''){title=data['alt'];}});var src='',st=RetrieveCurWidth().toUpperCase();if(data.hasOwnProperty('data-ngsrc'+st)){src=data['data-ngsrc'+st];}
src=src||data['data-ngsrc']||data['href'];if(src!==undefined&&!StartsWithProtocol(src)){src=G.O.itemsBaseURL+src;}
var thumbsrc='';if(data.hasOwnProperty('src')){thumbsrc=data['src'];}
if(thumbsrc==''&&data.hasOwnProperty('data-ngthumb')){thumbsrc=data['data-ngthumb'];}
if(thumbsrc==''){thumbsrc=src;}
if(thumbsrc!==undefined&&!StartsWithProtocol(thumbsrc)){thumbsrc=G.O.itemsBaseURL+thumbsrc;}
if(src===undefined&&thumbsrc===undefined){return;}
var description=data['data-ngdesc'];var ID=data['id']||data['data-ngid'];var kind=data['data-ngkind'];var tags=data['data-ngtags'];var albumID='0';if(data.hasOwnProperty('data-ngalbumid')){albumID=data['data-ngalbumid'];foundAlbumID=true;}
var title_from_url=GetImageTitleFromURL(src);if(title_from_url!=''){title=title_from_url;}
var newItem=NGY2Item.New(G,title,description,ID,albumID,kind,tags);if(title!=''){nbTitles++;}
newItem.setMediaURL(src,'img');jQuery.each(mediaList,function(n,media){var id=media.getID(src);if(id!=null){if(thumbsrc==src&&typeof media.thumbUrl=='function'){thumbsrc=media.thumbUrl(id);}
if(typeof media.url=='function'){src=media.url(id);}
newItem.mediaKind=media.kind;newItem.mediaMarkup=(media.selfhosted)?media.markup(src):media.markup(id);return false;}});newItem.imageWidth=parseInt(data['data-ngimagewidth']);newItem.imageHeight=parseInt(data['data-ngimageheight']);var tw=parseInt(data['data-ngthumbimgwidth']);var th=parseInt(data['data-ngthumbimgheight']);newItem.thumbs={url:{l1:{xs:thumbsrc,sm:thumbsrc,me:thumbsrc,la:thumbsrc,xl:thumbsrc},lN:{xs:thumbsrc,sm:thumbsrc,me:thumbsrc,la:thumbsrc,xl:thumbsrc}},width:{l1:{xs:tw,sm:tw,me:tw,la:tw,xl:tw},lN:{xs:tw,sm:tw,me:tw,la:tw,xl:tw}},height:{l1:{xs:th,sm:th,me:th,la:th,xl:th},lN:{xs:th,sm:th,me:th,la:th,xl:th}}};if(newItem.mediaKind=='img'){var lst=['xs','sm','me','la','xl'];for(var i=0;i<lst.length;i++){if(data.hasOwnProperty('data-ngthumb'+lst[i])){var turl=data['data-ngthumb'+lst[i]];if(!StartsWithProtocol(turl)){turl=G.O.itemsBaseURL+turl;}
newItem.url.l1[lst[i]]=turl;newItem.url.lN[lst[i]]=turl;}
if(data.hasOwnProperty('data-ngthumb'+lst[i]+'width')){var tw=parseInt(data['data-ngthumb'+lst[i]+'width']);newItem.width.l1[lst[i]]=tw;newItem.width.lN[lst[i]]=tw;}
if(data.hasOwnProperty('data-ngthumb'+lst[i]+'height')){var th=parseInt('data-ngthumb'+lst[i]+'height');newItem.height.l1[lst[i]]=th;newItem.height.lN[lst[i]]=th;}}}
newItem.imageDominantColors=data['data-ngimagedominantcolors'];newItem.imageDominantColor=data['data-ngimagedominantcolors'];newItem.destinationURL=data['data-ngdest'];newItem.downloadURL=data['data-ngdownloadurl'];newItem.exif.model=data['data-ngexifmodel'];newItem.exif.flash=data['data-ngexifflash'];newItem.exif.focallength=data['data-ngexiffocallength'];newItem.exif.fstop=data['data-ngexiffstop'];newItem.exif.exposure=data['data-ngexifexposure'];newItem.exif.iso=data['data-ngexifiso'];newItem.exif.time=data['data-ngexiftime'];newItem.exif.location=data['data-ngexiflocation'];newItem.contentIsLoaded=true;if(jQuery(item).data('customdata')!==undefined){newItem.customData=cloneJSObject(jQuery(item).data('customdata'));}
if(jQuery(item).data('ngcustomdata')!==undefined){newItem.customData=cloneJSObject(jQuery(item).data('ngcustomdata'));}
var fu=G.O.fnProcessData;if(fu!==null){typeof fu=='function'?fu(newItem,'markup',item):window[fu](newItem,'markup',item);}
AlbumPostProcess(albumID);});if(nbTitles==0){G.O.thumbnailLabel.display=false;}}
function DefineVariables(){if(G.O.kind.toUpperCase()=='PICASA'||G.O.kind.toUpperCase()=='GOOGLE'){G.O.kind='google2';}
G.GOM.cache.viewport=getViewport();G.GOM.curWidth=RetrieveCurWidth();jQuery.extend(true,G.tn.toolbar.image,G.O.thumbnailToolbarImage);jQuery.extend(true,G.tn.toolbar.album,G.O.thumbnailToolbarAlbum);var t=['image','album'];var pos=['topLeft','topRight','bottomLeft','bottomRight']
for(var i=0;i<t.length;i++){for(var j=0;j<pos.length;j++){G.tn.toolbar[t[i]][pos[j]]=G.tn.toolbar[t[i]][pos[j]].toUpperCase();}}
if(G.O.thumbnailLabel.position=='overImageOnBottom'){G.O.thumbnailLabel.valign='bottom';G.O.thumbnailLabel.position='overImage';}
if(G.O.thumbnailLabel.position=='overImageOnMiddle'){G.O.thumbnailLabel.valign='middle';G.O.thumbnailLabel.position='overImage';}
if(G.O.thumbnailLabel.position=='overImageOnTop'){G.O.thumbnailLabel.valign='top';G.O.thumbnailLabel.position='overImage';}
if(G.O.thumbnailL1Label!==undefined&&G.O.thumbnailL1Label.position!==undefined){if(G.O.thumbnailL1Label.position=='overImageOnBottom'){G.O.thumbnailL1Label.valign='bottom';G.O.thumbnailL1Label.position='overImage';}
if(G.O.thumbnailL1Label.position=='overImageOnMiddle'){G.O.thumbnailL1Label.valign='middle';G.O.thumbnailL1Label.position='overImage';}
if(G.O.thumbnailL1Label.position=='overImageOnTop'){G.O.thumbnailL1Label.valign='top';G.O.thumbnailL1Label.position='overImage';}}
G.O.thumbnailLabel.get=function(opt){if(G.GOM.curNavLevel=='l1'&&G.O.thumbnailL1Label!==undefined&&G.O.thumbnailL1Label[opt]!==undefined){return G.O.thumbnailL1Label[opt];}
else{return G.O.thumbnailLabel[opt];}};G.O.thumbnailLabel.set=function(opt,value){if(G.GOM.curNavLevel=='l1'&&G.O.thumbnailL1Label!==undefined&&G.O.thumbnailL1Label[opt]!==undefined){G.O.thumbnailL1Label[opt]=value;}
else{G.O.thumbnailLabel[opt]=value;}};if(G.O.blockList!=''){G.blockList=G.O.blockList.toUpperCase().split('|');}
if(G.O.allowList!=''){G.allowList=G.O.allowList.toUpperCase().split('|');}
if(G.O.albumList2!==undefined&&G.O.albumList2!==null&&G.O.albumList2.constructor===Array){var l=G.O.albumList2.length;for(var i=0;i<l;i++){G.albumList.push(G.O.albumList2[i]);}}
if(G.O.albumList2!==undefined&&typeof G.O.albumList2=='string'){G.albumList.push(G.O.albumList2);}
G.tn.opt.lN.crop=G.O.thumbnailCrop;G.tn.opt.l1.crop=G.O.thumbnailL1Crop!=null?G.O.thumbnailL1Crop:G.O.thumbnailCrop;function ThumbnailOpt(lN,l1,opt){G.tn.opt.lN[opt]=G.O[lN];G.tn.opt.l1[opt]=G.O[lN];if(toType(G.O[l1])=='number'){G.tn.opt.l1[opt]=G.O[l1];}}
ThumbnailOpt('thumbnailStacks','thumbnailL1Stacks','stacks');ThumbnailOpt('thumbnailStacksTranslateX','thumbnailL1StacksTranslateX','stacksTranslateX');ThumbnailOpt('thumbnailStacksTranslateY','thumbnailL1StacksTranslateY','stacksTranslateY');ThumbnailOpt('thumbnailStacksTranslateZ','thumbnailL1StacksTranslateZ','stacksTranslateZ');ThumbnailOpt('thumbnailStacksRotateX','thumbnailL1StacksRotateX','stacksRotateX');ThumbnailOpt('thumbnailStacksRotateY','thumbnailL1StacksRotateY','stacksRotateY');ThumbnailOpt('thumbnailStacksRotateZ','thumbnailL1StacksRotateZ','stacksRotateZ');ThumbnailOpt('thumbnailStacksScale','thumbnailL1StacksScale','stacksScale');ThumbnailOpt('thumbnailBorderHorizontal','thumbnailL1BorderHorizontal','borderHorizontal');ThumbnailOpt('thumbnailBorderVertical','thumbnailL1BorderVertical','borderVertical');ThumbnailOpt('thumbnailBaseGridHeight','thumbnailL1BaseGridHeight','baseGridHeight');function ResponsiveSetSize(setting,level,v){G.tn.settings[setting][level]['xs']=v;G.tn.settings[setting][level]['sm']=v;G.tn.settings[setting][level]['me']=v;G.tn.settings[setting][level]['la']=v;G.tn.settings[setting][level]['xl']=v;}
function ResponsiveOption(option,setting,level){var v=G.O[option];if(v===undefined||v===null){return;}
if(toType(v)=='number'||v.indexOf(' ')==-1){var vn='auto';if(v!='auto'){vn=parseInt(v);}
ResponsiveSetSize(setting,level,vn);}
else{var sp=v.split(' ');if(sp.length>0&&+sp[0]===+sp[0]){var vn='auto';if(sp[0]!='auto'){vn=parseInt(sp[0]);}
ResponsiveSetSize(setting,level,vn);}
for(var i=1;i<sp.length;i++){if(/^xs|sm|me|la|xl/i.test(sp[i])){var wi=sp[i].substring(0,2).toLowerCase();var va=sp[i].substring(2);var vn='auto';if(va!='auto'){vn=parseInt(va);}
G.tn.settings[setting][level][wi]=vn;}}}}
ResponsiveOption('thumbnailGutterWidth','gutterWidth','lN');ResponsiveOption('thumbnailGutterWidth','gutterWidth','l1');ResponsiveOption('thumbnailL1GutterWidth','gutterWidth','l1');ResponsiveOption('thumbnailGutterHeight','gutterHeight','lN');ResponsiveOption('thumbnailGutterHeight','gutterHeight','l1');ResponsiveOption('thumbnailL1GutterHeight','gutterHeight','l1');G.galleryDisplayMode.lN=G.O.galleryDisplayMode.toUpperCase();G.galleryDisplayMode.l1=G.O.galleryL1DisplayMode!=null?G.O.galleryL1DisplayMode.toUpperCase():G.O.galleryDisplayMode.toUpperCase();G.galleryMaxRows.lN=G.O.galleryMaxRows;G.galleryMaxRows.l1=toType(G.O.galleryL1MaxRows)=='number'?G.O.galleryL1MaxRows:G.O.galleryMaxRows;G.galleryLastRowFull.lN=G.O.galleryLastRowFull;G.galleryLastRowFull.l1=G.O.galleryL1LastRowFull!=null?G.O.galleryL1LastRowFull:G.O.galleryLastRowFull;G.gallerySorting.lN=G.O.gallerySorting.toUpperCase();G.gallerySorting.l1=G.O.galleryL1Sorting!=null?G.O.galleryL1Sorting.toUpperCase():G.gallerySorting.lN;G.galleryDisplayTransition.lN=G.O.galleryDisplayTransition.toUpperCase();G.galleryDisplayTransition.l1=G.O.galleryL1DisplayTransition!=null?G.O.galleryL1DisplayTransition.toUpperCase():G.galleryDisplayTransition.lN;G.galleryDisplayTransitionDuration.lN=G.O.galleryDisplayTransitionDuration;G.galleryDisplayTransitionDuration.l1=G.O.galleryL1DisplayTransitionDuration!=null?G.O.galleryL1DisplayTransitionDuration:G.galleryDisplayTransitionDuration.lN;G.galleryMaxItems.lN=G.O.galleryMaxItems;G.galleryMaxItems.l1=toType(G.O.galleryL1MaxItems)=='number'?G.O.galleryL1MaxItems:G.O.galleryMaxItems;G.galleryFilterTags.lN=G.O.galleryFilterTags;G.galleryFilterTags.l1=G.O.galleryL1FilterTags!=null?G.O.galleryL1FilterTags:G.O.galleryFilterTags;G.galleryFilterTagsMode.lN=G.O.galleryFilterTagsMode;G.galleryFilterTagsMode.l1=G.O.galleryL1FilterTagsMode!=null?G.O.galleryL1FilterTagsMode:G.O.galleryFilterTagsMode;G.O.galleryPaginationMode=G.O.galleryPaginationMode.toUpperCase();if(toType(G.O.slideshowDelay)=='number'&&G.O.slideshowDelay>=2000){G.VOM.slideshowDelay=G.O.slideshowDelay;}
else{NanoConsoleLog(G,'Parameter "slideshowDelay" must be an integer >= 2000 ms.');}
if(typeof G.O.thumbnailDisplayTransition=='boolean'){if(G.O.thumbnailDisplayTransition===true){G.tn.opt.lN.displayTransition='FADEIN';G.tn.opt.l1.displayTransition='FADEIN';}
else{G.tn.opt.lN.displayTransition='NONE';G.tn.opt.l1.displayTransition='NONE';}}
if(G.O.fnThumbnailDisplayEffect!==''){G.tn.opt.lN.displayTransition='CUSTOM';G.tn.opt.l1.displayTransition='CUSTOM';}
if(G.O.fnThumbnailL1DisplayEffect!==''){G.tn.opt.l1.displayTransition='CUSTOM';}
ThumbnailOpt('thumbnailDisplayTransitionEasing','thumbnailL1DisplayTransitionEasing','displayTransitionEasing');function thumbnailDisplayTransitionParse(cfg,level){if(typeof cfg=='string'){var st=cfg.split('_');if(st.length==1){G.tn.opt[level]['displayTransition']=cfg.toUpperCase();}
if(st.length==2){G.tn.opt[level]['displayTransition']=st[0].toUpperCase();G.tn.opt[level]['displayTransitionStartVal']=Number(st[1]);}
if(st.length==3){G.tn.opt[level]['displayTransition']=st[0].toUpperCase();G.tn.opt[level]['displayTransitionStartVal']=Number(st[1]);G.tn.opt[level]['displayTransitionEasing']=st[2];}}}
thumbnailDisplayTransitionParse(G.O.thumbnailDisplayTransition,'lN');thumbnailDisplayTransitionParse(G.O.thumbnailDisplayTransition,'l1');thumbnailDisplayTransitionParse(G.O.thumbnailL1DisplayTransition,'l1');ThumbnailOpt('thumbnailDisplayTransitionDuration','thumbnailL1DisplayTransitionDuration','displayTransitionDuration');ThumbnailOpt('thumbnailDisplayInterval','thumbnailL1DisplayInterval','displayInterval');ThumbnailOpt('thumbnailDisplayOrder','thumbnailL1DisplayOrder','displayOrder');if(G.O.thumbnailSizeSM!==undefined){G.O.breakpointSizeSM=G.O.thumbnailSizeSM;}
if(G.O.thumbnailSizeME!==undefined){G.O.breakpointSizeME=G.O.thumbnailSizeME;}
if(G.O.thumbnailSizeLA!==undefined){G.O.breakpointSizeLA=G.O.thumbnailSizeLA;}
if(G.O.thumbnailSizeXL!==undefined){G.O.breakpointSizeXL=G.O.thumbnailSizeXL;}
if(G.O.thumbnailL1BuildInit2!==undefined){var t1=G.O.thumbnailL1BuildInit2.split('|');for(var i=0;i<t1.length;i++){var o1=t1[i].trim().split('_');if(o1.length==3){var i1=NewTBuildInit();i1.element=ThumbnailOverEffectsGetCSSElement(o1[0],'');i1.property=o1[1];i1.value=o1[2];G.tn.buildInit.level1.push(i1);}}}
if(G.O.thumbnailBuildInit2!==undefined){var t1=G.O.thumbnailBuildInit2.split('|');for(var i=0;i<t1.length;i++){var o1=t1[i].trim().split('_');if(o1.length==3){var i1=NewTBuildInit();i1.element=ThumbnailOverEffectsGetCSSElement(o1[0],'');i1.property=o1[1];i1.value=o1[2];G.tn.buildInit.std.push(i1);}}}
var tL1HE=G.O.thumbnailL1HoverEffect2;if(tL1HE!==undefined){switch(toType(tL1HE)){case'string':{let tmp=tL1HE.split('|');for(var i=0;i<tmp.length;i++){let oDef=NewTHoverEffect();oDef=ThumbnailHoverEffectExtract(tmp[i].trim(),oDef);if(oDef!=null){G.tn.hoverEffects.level1.push(oDef);}}
break;}
case'object':{let oDef=NewTHoverEffect();oDef=jQuery.extend(oDef,tL1HE);oDef=ThumbnailHoverEffectExtract(oDef.name,oDef);if(oDef!=null){G.tn.hoverEffects.level1.push(oDef);}
break;}
case'array':{for(var i=0;i<tL1HE.length;i++){let oDef=NewTHoverEffect();oDef=jQuery.extend(oDef,tL1HE[i]);oDef=ThumbnailHoverEffectExtract(oDef.name,oDef);if(oDef!=null){G.tn.hoverEffects.level1.push(oDef);}}
break;}
case'null':break;default:NanoAlert(G,'incorrect parameter for "thumbnailL1HoverEffect2".');}}
G.tn.hoverEffects.level1=ThumbnailOverEffectsPreset(G.tn.hoverEffects.level1);var tHE=G.O.thumbnailHoverEffect2;switch(toType(tHE)){case'string':{let tmp=tHE.split('|');for(var i=0;i<tmp.length;i++){let oDef=NewTHoverEffect();oDef=ThumbnailHoverEffectExtract(tmp[i].trim(),oDef);if(oDef!=null){G.tn.hoverEffects.std.push(oDef);}}
break;}
case'object':{let oDef=NewTHoverEffect();oDef=jQuery.extend(oDef,tHE);oDef=ThumbnailHoverEffectExtract(oDef.name,oDef);if(oDef!=null){G.tn.hoverEffects.std.push(oDef);}
break;}
case'array':{for(var i=0;i<tHE.length;i++){let oDef=NewTHoverEffect();oDef=jQuery.extend(oDef,tHE[i]);oDef=ThumbnailHoverEffectExtract(oDef.name,oDef);if(oDef!=null){G.tn.hoverEffects.std.push(oDef);}}
break;}
case'null':break;default:NanoAlert(G,'incorrect parameter for "thumbnailHoverEffect2".');}
G.tn.hoverEffects.std=ThumbnailOverEffectsPreset(G.tn.hoverEffects.std);if(G.O.touchAnimationL1==undefined){G.O.touchAnimationL1=G.O.touchAnimation;}
if(G.tn.hoverEffects.std.length==0){if(G.tn.hoverEffects.level1.length==0){G.O.touchAnimationL1=false;}
G.O.touchAnimation=false;}
if(G.O.thumbnailHeight==0||G.O.thumbnailHeight==''){G.O.thumbnailHeight='auto';}
if(G.O.thumbnailWidth==0||G.O.thumbnailWidth==''){G.O.thumbnailWidth='auto';}
if(G.O.thumbnailL1Height==0||G.O.thumbnailL1Height==''){G.O.thumbnailL1Height='auto';}
if(G.O.thumbnailL1Width==0||G.O.thumbnailL1Width==''){G.O.thumbnailL1Width='auto';}
ResponsiveOption('thumbnailWidth','width','lN');ResponsiveOption('thumbnailWidth','width','l1');ResponsiveOption('thumbnailL1Width','width','l1');ResponsiveOption('thumbnailHeight','height','lN');ResponsiveOption('thumbnailHeight','height','l1');ResponsiveOption('thumbnailL1Height','height','l1');G.O.thumbnailLabelHeight=parseInt(G.O.thumbnailLabelHeight);if(G.O.galleryMosaic!=undefined){G.tn.settings.mosaic.l1.xs=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.l1.sm=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.l1.me=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.l1.la=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.l1.xl=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.lN.xs=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.lN.sm=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.lN.me=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.lN.la=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaic.lN.xl=JSON.parse(JSON.stringify(G.O.galleryMosaic));G.tn.settings.mosaicCalcFactor('l1','xs');G.tn.settings.mosaicCalcFactor('l1','sm');G.tn.settings.mosaicCalcFactor('l1','me');G.tn.settings.mosaicCalcFactor('l1','la');G.tn.settings.mosaicCalcFactor('l1','xl');G.tn.settings.mosaicCalcFactor('lN','xs');G.tn.settings.mosaicCalcFactor('lN','sm');G.tn.settings.mosaicCalcFactor('lN','me');G.tn.settings.mosaicCalcFactor('lN','la');G.tn.settings.mosaicCalcFactor('lN','xl');}
if(G.O.galleryL1Mosaic!=undefined){G.tn.settings.mosaic.l1.xs=JSON.parse(JSON.stringify(G.O.galleryL1Mosaic));G.tn.settings.mosaic.l1.sm=JSON.parse(JSON.stringify(G.O.galleryL1Mosaic));G.tn.settings.mosaic.l1.me=JSON.parse(JSON.stringify(G.O.galleryL1Mosaic));G.tn.settings.mosaic.l1.la=JSON.parse(JSON.stringify(G.O.galleryL1Mosaic));G.tn.settings.mosaic.l1.xl=JSON.parse(JSON.stringify(G.O.galleryL1Mosaic));G.tn.settings.mosaicCalcFactor('l1','xs');G.tn.settings.mosaicCalcFactor('l1','sm');G.tn.settings.mosaicCalcFactor('l1','me');G.tn.settings.mosaicCalcFactor('l1','la');G.tn.settings.mosaicCalcFactor('l1','xl');}
var lst=['xs','sm','me','la','xl'];for(var w=0;w<lst.length;w++){if(G.O['galleryMosaic'+lst[w].toUpperCase()]!=undefined){G.tn.settings.mosaic.lN[lst[w]]=JSON.parse(JSON.stringify(G.O['galleryMosaic'+lst[w].toUpperCase()]));G.tn.settings.mosaic.l1[lst[w]]=JSON.parse(JSON.stringify(G.O['galleryMosaic'+lst[w].toUpperCase()]));G.tn.settings.mosaicCalcFactor('lN',lst[w]);G.tn.settings.mosaicCalcFactor('l1',lst[w]);}}
for(var w=0;w<lst.length;w++){if(G.O['galleryL1Mosaic'+lst[w].toUpperCase()]!=undefined){G.tn.settings.mosaic.l1[lst[w]]=JSON.parse(JSON.stringify(G.O['galleryL1Mosaic'+lst[w].toUpperCase()]));G.tn.settings.mosaicCalcFactor('l1',lst[w]);}}
G.O.imageTransition=G.O.imageTransition.toUpperCase();G.layout.SetEngine();switch(G.O.kind){case'':break;default:jQuery.nanogallery2['data_'+G.O.kind](G,'Init');}}
function ThumbnailHoverEffectExtract(name,effect){var easings=['easeInQuad','easeOutQuad','easeInOutQuad','easeInCubic','easeOutCubic','easeInOutCubic','easeInQuart','easeOutQuart','easeInOutQuart','easeInQuint','easeOutQuint','easeInOutQuint','easeInSine','easeOutSine','easeInOutSine','easeInExpo','easeOutExpo','easeInOutExpo','easeInCirc','easeOutCirc','easeInOutCirc','easeOutBounce','easeInBack','easeOutBack','easeInOutBack','elastic','bounce'];var sp=name.split('_');if(sp.length>=4){effect.name='';effect.type=sp[1];effect.from=sp[2];effect.to=sp[3];if(sp.length>=5){for(var n=4;n<sp.length;n++){var v=sp[n];var foundEasing=false;for(var e=0;e<easings.length;e++){if(v==easings[e]){foundEasing=true;effect.easing=v;break;}}
if(foundEasing===true){continue;}
v=v.toUpperCase();if(v=='HOVERIN'){effect.hoverout=false;continue;}
if(v=='HOVEROUT'){effect.hoverin=false;continue;}
if(v=='KEYFRAME'){effect.firstKeyframe=false;continue;}
var num=parseInt(v.replace(/[^0-9\.]/g,''),10);if(num>0){if(v.indexOf('DURATION')>=0){effect.duration=num;continue;}
if(v.indexOf('DURATIONBACK')>=0){effect.durationBack=num;continue;}
if(v.indexOf('DELAY')>=0){effect.delay=num;continue;}
if(v.indexOf('DELAYBACK')>=0){effect.delayBack=num;continue;}
effect.duration=num;}}}
effect.element=ThumbnailOverEffectsGetCSSElement(sp[0],effect.type);}
else{effect.name=name;}
return effect;}
function ThumbnailOverEffectsGetCSSElement(element,property){var elts={'image':'.nGY2GThumbnailImage','thumbnail':'.nGY2GThumbnail','label':'.nGY2GThumbnailLabel','title':'.nGY2GThumbnailTitle','description':'.nGY2GThumbnailDescription','tools':'.nGY2GThumbnailIcons','customlayer':'.nGY2GThumbnailCustomLayer','default':'nGY2GThumbnailImage'};return(elts[element]||elts['default']);}
function ThumbnailOverEffectsPreset(effects){var newEffects=[];for(var i=0;i<effects.length;i++){switch(effects[i].name.toUpperCase()){case'BORDERLIGHTER':{let rgb=ColorHelperToRGB(GalleryThemeGetCurrent().thumbnail.borderColor);let name='thumbnail_borderColor_'+rgb+'_'+ShadeBlendConvert(0.5,rgb);newEffects.push(ThumbnailHoverEffectExtract(name,effects[i]));break;}
case'BORDERDARKER':{let rgb=ColorHelperToRGB(GalleryThemeGetCurrent().thumbnail.borderColor);let name='thumbnail_borderColor_'+rgb+'_'+ShadeBlendConvert(-0.5,rgb);newEffects.push(ThumbnailHoverEffectExtract(name,effects[i]));break;}
case'SCALE120':newEffects.push(ThumbnailHoverEffectExtract('thumbnail_scale_1.00_1.20',effects[i]));break;case'LABELAPPEAR':case'LABELAPPEAR75':newEffects.push(ThumbnailHoverEffectExtract('label_opacity_0.00_1.00',effects[i]));break;case'TOOLSAPPEAR':newEffects.push(ThumbnailHoverEffectExtract('tools_opacity_0_1',effects[i]));break;case'TOOLSSLIDEDOWN':newEffects.push(ThumbnailHoverEffectExtract('tools_translateY_-100%_0%',effects[i]));break;case'TOOLSSLIDEUP':newEffects.push(ThumbnailHoverEffectExtract('tools_translateY_100%_0%',effects[i]));break;case'LABELOPACITY50':newEffects.push(ThumbnailHoverEffectExtract('label_opacity_1.00_0.50',effects[i]));break;case'LABELSLIDEUPTOP':case'LABELSLIDEUP':newEffects.push(ThumbnailHoverEffectExtract('label_translateY_100%_0%',effects[i]));newEffects.push(ThumbnailHoverEffectExtract('label_translateY_100%_0%',effects[i]));break;case'LABELSLIDEDOWN':newEffects.push(ThumbnailHoverEffectExtract('label_translateY_-100%_0%',effects[i]));break;case'SCALELABELOVERIMAGE':newEffects.push(ThumbnailHoverEffectExtract('label_scale_0.00_1.00',effects[i]));var n=cloneJSObject(effects[i]);newEffects.push(ThumbnailHoverEffectExtract('image_scale_1.00_0.00',n));break;case'OVERSCALE':case'OVERSCALEOUTSIDE':newEffects.push(ThumbnailHoverEffectExtract('label_scale_2.00_1.00',effects[i]));var n=cloneJSObject(effects[i]);newEffects.push(ThumbnailHoverEffectExtract('label_opacity_0.00_1.00',n));n=cloneJSObject(effects[i]);newEffects.push(ThumbnailHoverEffectExtract('image_scale_1.00_0.00',n));n=cloneJSObject(effects[i]);newEffects.push(ThumbnailHoverEffectExtract('image_opacity_1.00_0.00',n));break;case'DESCRIPTIONAPPEAR':newEffects.push(ThumbnailHoverEffectExtract('description_opacity_0_1',effects[i]));break;case'SLIDERIGHT':newEffects.push(ThumbnailHoverEffectExtract('image_translateX_0%_100%',effects[i]));newEffects.push(ThumbnailHoverEffectExtract('label_translateX_-100%_0%',cloneJSObject(effects[i])));break;case'SLIDELEFT':newEffects.push(ThumbnailHoverEffectExtract('image_translateX_0%_-100%',effects[i]));newEffects.push(ThumbnailHoverEffectExtract('label_translateX_100%_0%',cloneJSObject(effects[i])));break;case'SLIDEUP':newEffects.push(ThumbnailHoverEffectExtract('image_translateY_0%_-100%',effects[i]));newEffects.push(ThumbnailHoverEffectExtract('label_translateY_100%_0%',cloneJSObject(effects[i])));break;case'SLIDEDOWN':newEffects.push(ThumbnailHoverEffectExtract('image_translateY_0%_100%',effects[i]));newEffects.push(ThumbnailHoverEffectExtract('label_translateY_-100%_0%',cloneJSObject(effects[i])));break;case'IMAGESCALE150':case'IMAGESCALE150OUTSIDE':newEffects.push(ThumbnailHoverEffectExtract('image_scale_1.00_1.50',effects[i]));break;case'IMAGESCALEIN80':newEffects.push(ThumbnailHoverEffectExtract('image_scale_1.20_1.00',effects[i]));break;case'IMAGESLIDERIGHT':newEffects.push(ThumbnailHoverEffectExtract('image_translateX_0%_100%',effects[i]));break;case'IMAGESLIDELEFT':newEffects.push(ThumbnailHoverEffectExtract('image_translateX_0%_-100%',effects[i]));break;case'IMAGESLIDEUP':newEffects.push(ThumbnailHoverEffectExtract('image_translateY_0%_-100%',effects[i]));break;case'IMAGESLIDEDOWN':newEffects.push(ThumbnailHoverEffectExtract('image_translateY_0%_100%',effects[i]));break;case'LABELSLIDEUPDOWN':newEffects.push(ThumbnailHoverEffectExtract('label_translateY_0%_100%',effects[i]));break;case'DESCRIPTIONSLIDEUP':newEffects.push(ThumbnailHoverEffectExtract('description_translateY_110%_0%',effects[i]));break;case'IMAGEBLURON':newEffects.push(ThumbnailHoverEffectExtract('image_blur_2.00px_0.00px',effects[i]));break;case'IMAGEBLUROFF':newEffects.push(ThumbnailHoverEffectExtract('image_blur_0.00px_2.00px',effects[i]));break;case'IMAGEGRAYON':newEffects.push(ThumbnailHoverEffectExtract('image_grayscale_0%_100%',effects[i]));break;case'IMAGEGRAYOFF':newEffects.push(ThumbnailHoverEffectExtract('image_grayscale_100%_0%',effects[i]));break;case'IMAGESEPIAON':newEffects.push(ThumbnailHoverEffectExtract('image_sepia_100%_1%',effects[i]));break;case'IMAGESEPIAOFF':newEffects.push(ThumbnailHoverEffectExtract('image_sepia_1%_100%',effects[i]));break;default:newEffects.push(effects[i]);break;}}
return newEffects;}
function NewTHoverEffect(){var oDef={name:'',element:'',type:'',from:'',to:'',hoverin:true,hoverout:true,firstKeyframe:true,delay:0,delayBack:0,duration:400,durationBack:300,easing:'easeOutQuart',easingBack:'easeOutQuart',animParam:null};return oDef;}
function NewTBuildInit(){var oDef={element:'',property:'',value:''};return oDef;}
function ThumbnailStyle(cfg,level){switch(cfg.position){case'onBottom':G.tn.style[level]['label']='bottom:0; ';break;case'right':switch(cfg.valign){case'top':G.tn.style[level]['label']='top:0; position:absolute; left: 50%;';break;case'middle':G.tn.style[level]['label']='top:0; bottom:0; left: 50%;';G.tn.style[level]['title']='position:absolute; bottom:50%;';G.tn.style[level]['desc']='position:absolute; top:50%;';break;case'bottom':default:G.tn.style[level].label='bottom:0; position:absolute; left: 50%;';G.tn.style[level].title='position:absolute;bottom:0;';break;}
break;case'custom':break;default:case'overImage':switch(cfg.valign){case'top':G.tn.style[level]['label']='top:0; position:absolute;';break;case'middle':G.tn.style[level]['label']='top:0; bottom:0;';G.tn.style[level]['title']='position:absolute; bottom:50%;';G.tn.style[level]['desc']='position:absolute; top:50%;';break;case'bottom':default:G.tn.style[level].label='bottom:0; position:absolute;';break;}}
if(cfg.position!='onBottom'){if(cfg.titleMultiLine){G.tn.style[level]['title']+='white-space:normal;';}
if(cfg.descriptionMultiLine){G.tn.style[level]['desc']+='white-space:normal;';}}
switch(cfg.align){case'right':G.tn.style[level].label+='text-align:right;';break;case'left':G.tn.style[level].label+='text-align:left;';break;default:G.tn.style[level].label+='text-align:center;';break;}
if(cfg.titleFontSize!=undefined&&cfg.titleFontSize!=''){G.tn.style[level].title+='font-size:'+cfg.titleFontSize+';';}
if(cfg.descriptionFontSize!=undefined&&cfg.descriptionFontSize!=''){G.tn.style[level].desc+='font-size:'+cfg.descriptionFontSize+';';}
if(cfg.displayDescription==false){G.tn.style[level].desc+='display:none;';}}
function ThumbnailDefCaches(){ThumbnailStyle(G.O.thumbnailLabel,'lN');if(G.O.thumbnailL1Label!==undefined){ThumbnailStyle(G.O.thumbnailL1Label,'l1');}
else{ThumbnailStyle(G.O.thumbnailLabel,'l1');}
if(G.O.thumbnailL1Label&&G.O.thumbnailL1Label.display){ThumbnailStyle(G.O.thumbnailL1Label,'l1');}
var lst=['xs','sm','me','la','xl'];for(var i=0;i<lst.length;i++){var w=G.tn.settings.width.lN[lst[i]];if(w!='auto'){G.tn.defaultSize.width.lN[lst[i]]=w;G.tn.defaultSize.width.l1[lst[i]]=w;}
else{var h=G.tn.settings.height.lN[lst[i]];G.tn.defaultSize.width.lN[lst[i]]=h;G.tn.defaultSize.width.l1[lst[i]]=h;}}
for(var i=0;i<lst.length;i++){var h=G.tn.settings.height.lN[lst[i]];if(h!='auto'){G.tn.defaultSize.height.lN[lst[i]]=h;G.tn.defaultSize.height.l1[lst[i]]=h;}
else{var w=G.tn.settings.width.lN[lst[i]];G.tn.defaultSize.height.lN[lst[i]]=w;G.tn.defaultSize.height.l1[lst[i]]=w;}}
for(var i=0;i<lst.length;i++){var w=G.tn.settings.width.l1[lst[i]];if(w!='auto'){G.tn.defaultSize.width.l1[lst[i]]=w;}
else{var h=G.tn.settings.height.l1[lst[i]];G.tn.defaultSize.width.l1[lst[i]]=h;}}
for(var i=0;i<lst.length;i++){var h=G.tn.settings.height.l1[lst[i]];if(h!='auto'){G.tn.defaultSize.height.l1[lst[i]]=h;}
else{var w=G.tn.settings.width.l1[lst[i]];G.tn.defaultSize.height.l1[lst[i]]=w;}}}
function GalleryThemeGetCurrent(){var cs=null;switch(toType(G.O.galleryTheme)){case'object':cs=G.galleryTheme_dark;jQuery.extend(true,cs,G.O.galleryTheme);break;case'string':switch(G.O.galleryTheme){case'light':cs=G.galleryTheme_light;break;case'default':case'dark':case'none':default:cs=G.galleryTheme_dark;}
break;default:cs=G.galleryTheme_dark;}
return cs;}
function SetGalleryTheme(){if(typeof G.O.colorScheme!=='undefined'){G.O.galleryTheme=G.O.colorScheme;}
var cs=null;var galleryTheme='';switch(toType(G.O.galleryTheme)){case'object':cs=G.galleryTheme_dark;jQuery.extend(true,cs,G.O.galleryTheme);galleryTheme='nanogallery_gallerytheme_custom_'+G.baseEltID;break;case'string':switch(G.O.galleryTheme){case'light':cs=G.galleryTheme_light;galleryTheme='nanogallery_gallerytheme_light_'+G.baseEltID;break;case'default':case'dark':case'none':default:cs=G.galleryTheme_dark;galleryTheme='nanogallery_gallerytheme_dark_'+G.baseEltID;}
break;default:NanoAlert(G,'Error in galleryTheme parameter.');return;}
var s1='.'+galleryTheme+' ';var c=cs.navigationBar;var s=s1+'.nGY2Navigationbar { background:'+c.background+'; }'+'\n';if(c.border!==undefined&&c.border!==''){s+=s1+'.nGY2Navigationbar { border:'+c.border+'; }'+'\n';}
if(c.borderTop!==undefined&&c.borderTop!==''){s+=s1+'.nGY2Navigationbar { border-top:'+c.borderTop+'; }'+'\n';}
if(c.borderBottom!==undefined&&c.borderBottom!==''){s+=s1+'.nGY2Navigationbar { border-bottom:'+c.borderBottom+'; }'+'\n';}
if(c.borderRight!==undefined&&c.borderRight!==''){s+=s1+'.nGY2Navigationbar { border-right:'+c.borderRight+'; }'+'\n';}
if(c.borderLeft!==undefined&&c.borderLeft!==''){s+=s1+'.nGY2Navigationbar { border-left:'+c.borderLeft+'; }'+'\n';}
var c=cs.navigationBreadcrumb;s+=s1+'.nGY2Breadcrumb { background:'+c.background+'; border-radius:'+c.borderRadius+'; }'+'\n';s+=s1+'.nGY2Breadcrumb .oneItem  { color:'+c.color+'; }'+'\n';s+=s1+'.nGY2Breadcrumb .oneItem:hover { color:'+c.colorHover+'; }'+'\n';var c=cs.navigationFilter;s+=s1+'.nGY2NavFilterUnselected { color:'+c.color+'; background:'+c.background+'; border-radius:'+c.borderRadius+'; }'+'\n';s+=s1+'.nGY2NavFilterSelected { color:'+c.colorSelected+'; background:'+c.backgroundSelected+'; border-radius:'+c.borderRadius+'; }'+'\n';s+=s1+'.nGY2NavFilterSelectAll { color:'+c.colorSelected+'; background:'+c.background+'; border-radius:'+c.borderRadius+'; }'+'\n';var c=cs.navigationPagination;s+=s1+'.nGY2NavPagination { color:'+c.color+'; background:'+c.background+'; border-radius:'+c.borderRadius+'; }'+'\n';s+=s1+'.nGY2NavPagination:hover { color:'+c.colorHover+'; }'+'\n';var c=cs.thumbnail;s+=s1+'.nGY2GThumbnail { border-radius: '+c.borderRadius+'; background:'+c.background+'; border-color:'+c.borderColor+'; }'+'\n';s+=s1+'.nGY2GThumbnail_l1 { border-top-width:'+G.tn.opt.l1.borderVertical+'px; border-right-width:'+G.tn.opt.l1.borderHorizontal+'px; border-bottom-width:'+G.tn.opt.l1.borderVertical+'px; border-left-width:'+G.tn.opt.l1.borderHorizontal+'px;}'+'\n';s+=s1+'.nGY2GThumbnail_lN { border-top-width:'+G.tn.opt.lN.borderVertical+'px; border-right-width:'+G.tn.opt.lN.borderHorizontal+'px; border-bottom-width:'+G.tn.opt.lN.borderVertical+'px; border-left-width:'+G.tn.opt.lN.borderHorizontal+'px;}'+'\n';s+=s1+'.nGY2GThumbnailStack { background:'+c.stackBackground+'; }'+'\n';s+=s1+'.nGY2TnImgBack { background:'+c.background+'; background-image:'+c.backgroundImage+'; }'+'\n';s+=s1+'.nGY2GThumbnailAlbumUp { background:'+c.background+'; background-image:'+c.backgroundImage+'; color:'+cs.thumbnail.titleColor+'; }'+'\n';s+=s1+'.nGY2GThumbnailIconsFullThumbnail { color:'+c.titleColor+'; }\n';s+=s1+'.nGY2GThumbnailLabel { background:'+c.labelBackground+'; opacity:'+c.labelOpacity+'; }'+'\n';s+=s1+'.nGY2GThumbnailImageTitle  { color:'+c.titleColor+'; background-color:'+c.titleBgColor+'; '+(c.titleShadow==''?'':'Text-Shadow:'+c.titleShadow+';')+' }'+'\n';s+=s1+'.nGY2GThumbnailAlbumTitle { color:'+c.titleColor+'; background-color:'+c.titleBgColor+'; '+(c.titleShadow==''?'':'Text-Shadow:'+c.titleShadow+';')+' }'+'\n';s+=s1+'.nGY2GThumbnailDescription { color:'+c.descriptionColor+'; background-color:'+c.descriptionBgColor+'; '+(c.descriptionShadow==''?'':'Text-Shadow:'+c.descriptionShadow+';')+' }'+'\n';var c=cs.thumbnailIcon;s+=s1+'.nGY2GThumbnailIcons { padding:'+c.padding+'; }\n';s+=s1+'.nGY2GThumbnailIcon { color:'+c.color+'; '+(c.shadow==''?'':'Text-Shadow:'+c.shadow+';')+' }\n';s+=s1+'.nGY2GThumbnailIconTextBadge { background-color:'+c.color+'; }\n';var c=cs.pagination;if(G.O.galleryPaginationMode!='NUMBERS'){s+=s1+'.nGY2paginationDot { border:'+c.shapeBorder+'; background:'+c.shapeColor+';}\n';s+=s1+'.nGY2paginationDotCurrentPage { border:'+c.shapeBorder+'; background:'+c.shapeSelectedColor+';}\n';s+=s1+'.nGY2paginationRectangle { border:'+c.shapeBorder+'; background:'+c.shapeColor+';}\n';s+=s1+'.nGY2paginationRectangleCurrentPage { border:'+c.shapeBorder+'; background:'+c.shapeSelectedColor+';}\n';}else{s+=s1+'.nGY2paginationItem { background:'+c.background+'; color:'+c.color+'; border-radius:'+c.borderRadius+'; }\n';s+=s1+'.nGY2paginationItemCurrentPage { background:'+c.background+'; color:'+c.color+'; border-radius:'+c.borderRadius+'; }\n';s+=s1+'.nGY2PaginationPrev { background:'+c.background+'; color:'+c.color+'; border-radius:'+c.borderRadius+'; }\n';s+=s1+'.nGY2PaginationNext { background:'+c.background+'; color:'+c.color+'; border-radius:'+c.borderRadius+'; }\n';s+=s1+'.nGY2paginationItemCurrentPage { background:'+c.backgroundSelected+'; }\n';}
var c=cs.thumbnail;s+=s1+'.nGY2GalleryMoreButtonAnnotation { background:'+c.background+'; border-color:'+c.borderColor+'; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px;}\n';s+=s1+'.nGY2GalleryMoreButtonAnnotation  { color:'+c.titleColor+'; '+(c.titleShadow==''?'':'Text-Shadow:'+c.titleShadow)+'; }\n';jQuery('head').append('<style id="ngycs_'+G.baseEltID+'">'+s+'</style>');G.$E.base.addClass(galleryTheme);};function SetViewerTheme(){if(G.VOM.viewerTheme!=''){G.VOM.$baseCont.addClass(G.VOM.viewerTheme);return;}
if(typeof G.O.colorSchemeViewer!=='undefined'){G.O.viewerTheme=G.O.colorSchemeViewer;}
var cs=null;switch(toType(G.O.viewerTheme)){case'object':cs=G.viewerTheme_dark;jQuery.extend(true,cs,G.O.viewerTheme);G.VOM.viewerTheme='nanogallery_viewertheme_custom_'+G.baseEltID;break;case'string':switch(G.O.viewerTheme){case'none':return;break;case'light':cs=G.viewerTheme_light;G.VOM.viewerTheme='nanogallery_viewertheme_light_'+G.baseEltID;break;case'dark':case'default':cs=G.viewerTheme_dark;G.VOM.viewerTheme='nanogallery_viewertheme_dark_'+G.baseEltID;break;}
break;default:NanoAlert(G,'Error in viewerTheme parameter.');return;}
var s1='.'+G.VOM.viewerTheme+' ';var s=s1+'.nGY2Viewer { background:'+cs.background+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbarBackground { background:'+cs.barBackground+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar { border:'+cs.barBorder+'; color:'+cs.barColor+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar .previousButton:after { color:'+cs.barColor+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar .nextButton:after { color:'+cs.barColor+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar .closeButton:after { color:'+cs.barColor+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar .label .title { color:'+cs.barColor+'; }'+'\n';s+=s1+'.nGY2Viewer .toolbar .label .description { color:'+cs.barDescriptionColor+'; }'+'\n';jQuery('head').append('<style>'+s+'</style>');G.VOM.$baseCont.addClass(G.VOM.viewerTheme);};function SetPolyFills(){if(!Function.prototype.bind){Function.prototype.bind=function(oThis){if(typeof this!=="function"){throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");}
var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP&&oThis?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)));};fNOP.prototype=this.prototype;fBound.prototype=new fNOP();return fBound;};}
(function(){var lastTime=0;var vendors=['ms','moz','webkit','o'];for(var x=0;x<vendors.length&&!window.requestAnimationFrame;++x){window.requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame'];window.cancelAnimationFrame=window[vendors[x]+'CancelAnimationFrame']||window[vendors[x]+'CancelRequestAnimationFrame'];}
if(!window.requestAnimationFrame)
window.requestAnimationFrame=function(callback,element){var currTime=new Date().getTime();var timeToCall=Math.max(0,16-(currTime-lastTime));var id=window.setTimeout(function(){callback(currTime+timeToCall);},timeToCall);lastTime=currTime+timeToCall;return id;};if(!window.cancelAnimationFrame)
window.cancelAnimationFrame=function(id){clearTimeout(id);};}());Array.prototype.ngy2removeIf=function(callback){var i=this.length;while(i--){if(callback(this[i],i)){this.splice(i,1);}}};if(!String.prototype.startsWith){String.prototype.startsWith=function(searchString,position){position=position||0;return this.indexOf(searchString,position)===position;};}}
function GalleryClicked(e){var r=GalleryEventRetrieveElementl(e,false);if(r.GOMidx==-1){return'exit';}
var idx=G.GOM.items[r.GOMidx].thumbnailIdx;if(G.GOM.slider.hostIdx==r.GOMidx){idx=G.GOM.items[G.GOM.slider.currentIdx].thumbnailIdx;}
switch(r.action){case'OPEN':ThumbnailOpen(idx,false);return'exit';break;case'DISPLAY':ThumbnailOpen(idx,true);return'exit';break;case'TOGGLESELECT':ThumbnailSelectionToggle(idx);return'exit';break;case'SHARE':PopupShare(idx);return'exit';break;case'DOWNLOAD':DownloadImage(idx);return'exit';break;case'INFO':ItemDisplayInfo(G.I[idx]);return'exit';break;case'SHOPPINGCART':AddToCart(idx,'gallery');return'exit';break;default:var fu=G.O.fnThumbnailToolCustAction;if(fu!==null){typeof fu=='function'?fu(r.action,G.I[idx]):window[fu](r.action,G.I[idx]);}
break;}}
function DownloadImage(idx){if(G.I[idx].mediaKind!='img'){return;}
var url=G.I[idx].src;if(G.I[idx].downloadURL!=undefined&&G.I[idx].downloadURL!=''){url=G.I[idx].downloadURL;}
var a=document.createElement('a');a.href=url;a.download=url.split('/').pop();a.target='_blank';a.style.display='none';document.body.appendChild(a);a.click();document.body.removeChild(a);}
function AddToCart(idx,source){var found=false;for(var i=0;i<G.shoppingCart.length;i++){if(G.shoppingCart[i].idx==idx){G.shoppingCart[i].qty++;ThumbnailBuildToolbarOneCartUpdate(G.I[idx]);var fu=G.O.fnShoppingCartUpdated;if(fu!==null){typeof fu=='function'?fu(G.shoppingCart,G.I[idx],source):window[fu](G.shoppingCart,G.I[idx],source);}
TriggerCustomEvent('shoppingCartUpdated');return;}}
if(!found){G.shoppingCart.push({idx:idx,ID:G.I[idx].GetID(),qty:1});ThumbnailBuildToolbarOneCartUpdate(G.I[idx]);var fu=G.O.fnShoppingCartUpdated;if(fu!==null){typeof fu=='function'?fu(G.shoppingCart,G.I[idx],source):window[fu](G.shoppingCart,G.I[idx],source);}
TriggerCustomEvent('shoppingCartUpdated');}}
function ThumbnailSelectionClear(){G.GOM.nbSelected=0;for(var i=0,nbTn=G.GOM.items.length;i<nbTn;i++){var item=G.I[G.GOM.items[i].thumbnailIdx];if(item.selected){item.selected=false;var fu=G.O.fnThumbnailSelection;if(fu!==null){typeof fu=='function'?fu(item.$elt,item,G.I):window[fu](item.$elt,item,G.I);}}
item.selected=false;}}
function ThumbnailSelectionToggle(idx){var item=G.I[idx];if(item.selected===true){ThumbnailSelectionSet(item,false);G.GOM.nbSelected--;TriggerCustomEvent('itemUnSelected');}
else{ThumbnailSelectionSet(item,true);G.GOM.nbSelected++;TriggerCustomEvent('itemSelected');}}
function ThumbnailSelectionSet(item,selected){item.selected=selected;ThumbnailSelectionSetIcon(item);var fu=G.O.fnThumbnailSelection;if(fu!==null){typeof fu=='function'?fu(item.$elt,item,G.I):window[fu](item.$elt,item,G.I);}}
function ThumbnailSelectionSetIcon(item){if(item.$elt==null){return;}
var $sub=item.$getElt('.nGY2GThumbnail');var $icon=item.$getElt('.nGY2GThumbnailIconImageSelect');if(item.selected===true){$sub.addClass('nGY2GThumbnailSubSelected');$icon.addClass('nGY2ThumbnailSelected');$icon.removeClass('nGY2ThumbnailUnselected');$icon.html(G.O.icons.thumbnailSelected);}
else{$sub.removeClass('nGY2GThumbnailSubSelected');$icon.removeClass('nGY2ThumbnailSelected');$icon.addClass('nGY2ThumbnailUnselected');$icon.html(G.O.icons.thumbnailUnselected);}}
function PopupShare(idx){var item=G.I[idx];var currentURL=document.location.protocol+'//'+document.location.hostname+document.location.pathname;var newLocationHash='#nanogallery/'+G.baseEltID+'/';if(item.kind=='image'){newLocationHash+=item.albumID+'/'+item.GetID();}
else{newLocationHash+=item.GetID();}
var content='<br><br>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="facebook">'+G.O.icons.shareFacebook+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="pinterest">'+G.O.icons.sharePinterest+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="tumblr">'+G.O.icons.shareTumblr+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="twitter">'+G.O.icons.shareTwitter+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="vk">'+G.O.icons.shareVK+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;" data-share="mail">'+G.O.icons.shareMail+'</div>';content+='<div class="nGY2PopupOneItem" style="text-align:center;"></div>';content+='<input class="nGY2PopupOneItemText" readonly type="text" value="'+currentURL+newLocationHash+'" style="width:100%;text-align:center;">';content+='<br>';currentURL=encodeURIComponent(document.location.protocol+'//'+document.location.hostname+document.location.pathname+newLocationHash);var currentTitle=item.title;var currentTn=item.thumbImg().src;Popup('nanogallery2 - share to:',content,'Center');G.popup.$elt.find('.nGY2PopupOneItem').on('click',function(e){e.stopPropagation();var shareURL='';var found=true;switch(jQuery(this).attr('data-share').toUpperCase()){case'FACEBOOK':shareURL='https://www.facebook.com/sharer.php?u='+currentURL;break;case'VK':shareURL='http://vk.com/share.php?url='+currentURL;break;case'GOOGLEPLUS':shareURL="https://plus.google.com/share?url="+currentURL;break;case'TWITTER':shareURL='https://twitter.com/intent/tweet?text='+currentTitle+'url='+currentURL;break;case'PINTEREST':shareURL='https://pinterest.com/pin/create/button/?media='+currentTn+'&url='+currentURL+'&description='+currentTitle;break;case'TUMBLR':shareURL='http://www.tumblr.com/share/link?url='+currentURL+'&name='+currentTitle;break;case'MAIL':shareURL='mailto:?subject='+currentTitle+'&body='+currentURL;break;default:found=false;break;}
if(found){window.open(shareURL,"","height=550,width=500,left=100,top=100,menubar=0");G.popup.close();}});}
function Popup(title,content,align){var pp='<div class="nGY2Popup" style="opacity:0;"><div class="nGY2PopupContent'+align+'">';pp+='<div class="nGY2PopupCloseButton" style="font-size:0.9em;">'+G.O.icons.buttonClose+'</div>';pp+='<div class="nGY2PopupTitle">'+title+'</div>';pp+=content;pp+='</div></div>';G.popup.$elt=jQuery(pp).appendTo('body');setElementOnTop(G.VOM.$viewer,G.popup.$elt);G.popup.isDisplayed=true;var tweenable=new NGTweenable();tweenable.tween({from:{o:0,y:100},to:{o:1,y:0},easing:'easeInOutSine',duration:250,step:function(state,att){G.popup.$elt[0].style.opacity=state.o;G.popup.$elt[0].style[G.CSStransformName]='translateY('+(state.y)+'px)';}});G.popup.$elt.find('.nGY2PopupCloseButton').on('click',function(e){e.stopPropagation();G.popup.close();});}
function GalleryMouseEnter(e){if(!G.VOM.viewerDisplayed&&G.GOM.albumIdx!=-1){var r=GalleryEventRetrieveElementl(e,true);if(r.GOMidx!=-1){ThumbnailHover(r.GOMidx);}}}
function GalleryMouseLeave(e){if(!G.VOM.viewerDisplayed&&G.GOM.albumIdx!=-1){var r=GalleryEventRetrieveElementl(e,true);if(r.GOMidx!=-1){ThumbnailHoverOut(r.GOMidx);}}}
function GalleryEventRetrieveElementl(e,ignoreSubItems){var r={action:'NONE',GOMidx:-1};if(e==undefined){return r;}
var target=e.target||e.srcElement;while(target!=G.$E.conTnParent[0]){if(jQuery(target).hasClass('nGY2GThumbnail')){if(r.action=='NONE'){r.action='OPEN';}
r.GOMidx=jQuery(target).data('index');return r;}
if(!ignoreSubItems){var a=jQuery(target).data('ngy2action');if(a!=''&&a!=undefined){r.action=a;}}
if(target.parentNode==null){return r;}
target=target.parentNode;}
return r;}
function ThumbnailOpen(idx,ignoreSelected){var item=G.I[idx];G.GOM.albumIdxLoading=idx;var fu=G.O.fnThumbnailClicked;if(fu!==null){typeof fu=='function'?fu(item.$elt,item):window[fu](item.$elt,item);}
if(item.destinationURL!==undefined&&item.destinationURL.length>0){window.location=item.destinationURL;return;}
switch(item.kind){case'image':if(ignoreSelected===false&&G.GOM.nbSelected>0){ThumbnailSelectionToggle(idx);}
else{DisplayPhotoIdx(idx);}
break;case'album':if(ignoreSelected===false&&G.GOM.nbSelected>0){ThumbnailSelectionToggle(idx);}
else{if(G.O.thumbnailAlbumDisplayImage&&idx!=0){DisplayFirstMediaInAlbum(idx);return;}
else{DisplayAlbum('-1',item.GetID());}}
break;case'albumUp':var parent=NGY2Item.Get(G,item.albumID);DisplayAlbum('-1',parent.albumID);break;}}
function DisplayFirstMediaInAlbum(albumIdx){if(G.O.debugMode){console.log('#DisplayFirstPhotoInAlbum : '+albumIdx);}
var item=G.I[albumIdx];var l=G.I.length;for(var i=0;i<l;i++){if(G.I[i].albumID==item.GetID()){DisplayPhotoIdx(i);return;}}
AlbumGetContent(item.GetID(),DisplayFirstMediaInAlbum,albumIdx,null);}
function OpenOriginal(item){switch(G.O.kind){case'flickr':var sU='https://www.flickr.com/photos/'+G.O.userID+'/'+item.GetID();if(item.albumID!='0'){sU+='/in/album-'+item.albumID+'/';}
window.open(sU,'_blank');break;case'picasa':case'google':case'google2':default:var sU=item.responsiveURL();window.open(sU,'_blank');break;}}
function DisplayPhotoIdx(ngy2ItemIdx){if(!G.O.thumbnailOpenInLightox){return;}
if(G.O.thumbnailOpenOriginal){OpenOriginal(G.I[ngy2ItemIdx]);return;}
var items=[];G.VOM.content.current.vIdx=0;G.VOM.items=[];G.VOM.albumID=G.I[ngy2ItemIdx].albumID;var vimg=new VImg(ngy2ItemIdx);G.VOM.items.push(vimg);items.push(G.I[ngy2ItemIdx]);var l=G.I.length;for(let idx=ngy2ItemIdx+1;idx<l;idx++){let item=G.I[idx];if(item.kind=='image'&&item.isToDisplay(G.VOM.albumID)&&item.destinationURL==''){let vimg=new VImg(idx);G.VOM.items.push(vimg);items.push(item);}}
var last=G.VOM.items.length;var cnt=1;for(let idx=0;idx<ngy2ItemIdx;idx++){let item=G.I[idx];if(item.kind=='image'&&item.isToDisplay(G.VOM.albumID)&&item.destinationURL==''){let vimg=new VImg(idx);vimg.mediaNumber=cnt;G.VOM.items.push(vimg);items.push(item);cnt++;}}
for(let i=0;i<last;i++){G.VOM.items[i].mediaNumber=cnt;cnt++;}
var fu=G.O.fnThumbnailOpen;if(fu!==null){typeof fu=='function'?fu(items):window[fu](items);return;}
if(!G.VOM.viewerDisplayed){LightboxOpen();}
else{G.VOM.content.current.$media.empty();let item=G.VOM.content.current.NGY2Item();var spreloader='<div class="nGY2ViewerMediaLoaderDisplayed"></div>';if(item.mediaKind=='img'&&item.imageWidth!=0&&item.imageHeight!=0){spreloader='<div class="nGY2ViewerMediaLoaderHidden"></div>';}
G.VOM.content.current.$media.append(spreloader+item.mediaMarkup);ViewerSetMediaVisibility(G.VOM.content.next,0);ViewerSetMediaVisibility(G.VOM.content.previous,0);if(item.mediaKind=='img'){G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,item);}
LightboxDisplay('');}}
function ViewerZoomStart(){if(G.O.viewerZoom&&!G.VOM.viewerMediaIsChanged){var item=G.VOM.content.current.NGY2Item();if(item.mediaKind=='img'&&item.imageHeight>0&&item.imageWidth>0){if(G.VOM.zoom.isZooming===false){G.VOM.zoom.userFactor=1;G.VOM.zoom.isZooming=true;}
return true;}}
return false;}
function ViewerZoomIn(zoomIn){if(zoomIn){G.VOM.zoom.userFactor+=0.1;ViewerZoomMax();}
else{G.VOM.zoom.userFactor-=0.1;if(ViewerZoomMin()&&G.O.viewerResetZoomAtMin){G.VOM.zoom.isZooming=false;ResizeLightbox(true);};}
ViewerMediaSetPosAndZoom();}
function ViewerZoomMax(){var item=G.VOM.content.current.NGY2Item();var zoomBaseFactor=ViewerZoomBaseFactor(item);if(G.VOM.zoom.userFactor>(1/zoomBaseFactor)){G.VOM.zoom.userFactor=(1/zoomBaseFactor);}}
function ViewerZoomMin(){if(G.VOM.zoom.userFactor<G.O.viewerMinZoom){G.VOM.zoom.userFactor=G.O.viewerMinZoom;return true;}
return false;}
function ViewerMediaSetPosAndZoom(){if(!G.VOM.zoom.isZooming){G.VOM.zoom.userFactor=1;}
ViewerMediaSetPosAndZoomOne(G.VOM.content.current,true);ViewerMediaSetPosAndZoomOne(G.VOM.content.previous,false);ViewerMediaSetPosAndZoomOne(G.VOM.content.next,false);}
function ViewerMediaCenterNotImg($mediaContainer){var $media=$mediaContainer.children().eq(1);var h=90;if(G.O.viewerGallery!='none'){h-=10;}
if(G.O.viewerToolbar.display!='none'){h-=10;}
$media.css({'height':h+'%'});$media.css({'width':'90%'});$media[0].style[G.CSStransformName]='translate(0px, "50%") ';}
function ViewerZoomBaseFactor(item){var dpr=1;if(G.O.viewerImageDisplay=='bestImageQuality'){dpr=window.devicePixelRatio;}
var zoomBaseFactorW=(G.VOM.window.lastWidth-G.VOM.padding.V)/(item.imageWidth/dpr);var zoomBaseFactorH=(G.VOM.window.lastHeight-G.VOM.padding.H)/(item.imageHeight/dpr);var zoomBaseFactor=Math.min(zoomBaseFactorW,zoomBaseFactorH);if(zoomBaseFactor>1&&G.O.viewerImageDisplay!='upscale'){zoomBaseFactor=1;}
return zoomBaseFactor;}
function ViewerMediaDimensions(item,isCurrent){var zoomUserFactor=isCurrent==true?G.VOM.zoom.userFactor:1;var dpr=1;if(G.O.viewerImageDisplay=='bestImageQuality'){dpr=window.devicePixelRatio;}
var zoomBaseFactor=ViewerZoomBaseFactor(item);var imageCurrentHeight=(item.imageHeight/dpr)*zoomUserFactor*zoomBaseFactor;var imageCurrentWidth=(item.imageWidth/dpr)*zoomUserFactor*zoomBaseFactor;return[imageCurrentHeight,imageCurrentWidth];}
function ViewerMediaSetPosAndZoomOne(content_item,isCurrent){var item=content_item.NGY2Item();var $img=content_item.$media;if(item.mediaKind!='img'){ViewerMediaCenterNotImg($img);return;}
if(item.imageHeight==0||item.imageWidth==0){ViewerSetMediaVisibility(content_item,0);return;}
ViewerZoomMin();ViewerZoomMax();var[imageCurrentHeight,imageCurrentWidth]=ViewerMediaDimensions(item,isCurrent);$img.children().eq(1).css({'height':imageCurrentHeight});$img.children().eq(1).css({'width':imageCurrentWidth});var posX=0;if(imageCurrentWidth>G.VOM.window.lastWidth){posX=-(imageCurrentWidth-G.VOM.window.lastWidth)/2;}
var posY=0;if(isCurrent){if(!G.VOM.zoom.isZooming){G.VOM.panPosX=0;G.VOM.panPosY=0;}
G.VOM.zoom.posX=posX;G.VOM.zoom.posY=posY;ViewerImagePanSetPosition(item,G.VOM.panPosX,G.VOM.panPosY,$img,false);}
else{ViewerMediaPanX(G.VOM.swipePosX);$img.children().eq(1)[0].style[G.CSStransformName]='translate(0px, 0px) rotate('+item.rotationAngle+'deg)';}}
function ViewerImagePanSetPosition(item,posX,posY,imageContainer,savePosition){var[imageCurrentHeight,imageCurrentWidth]=ViewerMediaDimensions(item,true);posX=Math.max(-(imageCurrentWidth/2),Math.min(posX,(imageCurrentWidth/2)));posY=Math.max(-(imageCurrentHeight/2),Math.min(posY,(imageCurrentHeight/2)));if(savePosition){G.VOM.panPosX=posX;G.VOM.panPosY=posY;}
posX+=G.VOM.zoom.posX;posY+=G.VOM.zoom.posY;imageContainer.children().eq(1)[0].style[G.CSStransformName]='translate('+posX+'px, '+posY+'px) rotate('+G.VOM.content.current.NGY2Item().rotationAngle+'deg)';}
function LightboxOpen(idx){G.GOM.firstDisplay=false;jQuery('head').append('<style id="nGY2_body_scrollbar_style" type="text/css">.nGY2_body_scrollbar{margin-right: '+(window.innerWidth-document.documentElement.clientWidth)+'px;}</style>');jQuery("body").addClass("nGY2_body_scrollbar");G.VOM.$baseCont=jQuery('<div  class="nGY2 nGY2ViewerContainer" style="opacity:1"></div>').appendTo('body');SetViewerTheme();G.VOM.$viewer=jQuery('<div class="nGY2Viewer" style="opacity:0" itemscope itemtype="http://schema.org/ImageObject"></div>').appendTo(G.VOM.$baseCont);G.VOM.$viewer.css({msTouchAction:'none',touchAction:'none'});if(idx==undefined){G.VOM.content.current.vIdx=0;}
else{G.VOM.content.current.vIdx=idx;}
G.VOM.content.previous.vIdx=G.VOM.IdxNext();G.VOM.content.next.vIdx=G.VOM.IdxPrevious();var sMedia='<div class="nGY2ViewerMediaPan"><div class="nGY2ViewerMediaLoaderDisplayed"></div>'+G.VOM.content.previous.NGY2Item().mediaMarkup+'</div>';sMedia+='<div class="nGY2ViewerMediaPan"><div class="nGY2ViewerMediaLoaderDisplayed"></div>'+G.VOM.content.current.NGY2Item().mediaMarkup+'</div>';sMedia+='<div class="nGY2ViewerMediaPan"><div class="nGY2ViewerMediaLoaderDisplayed"></div>'+G.VOM.content.next.NGY2Item().mediaMarkup+'</div>';var sNav='';var iconP=G.O.icons.viewerImgPrevious;if(iconP!=undefined&&iconP!=''){sNav+='<div class="nGY2ViewerAreaPrevious ngy2viewerToolAction" data-ngy2action="previous">'+iconP+'</div>';}
var iconN=G.O.icons.viewerImgNext;if(iconN!=undefined&&iconN!=''){sNav+='<div class="nGY2ViewerAreaNext ngy2viewerToolAction" data-ngy2action="next">'+iconN+'</div>';}
G.VOM.$content=jQuery('<div class="nGY2ViewerContent">'+sMedia+sNav+'</div>').appendTo(G.VOM.$viewer);G.VOM.$buttonLeft=G.VOM.$content.find('.nGY2ViewerAreaPrevious');G.VOM.$buttonRight=G.VOM.$content.find('.nGY2ViewerAreaNext');var $mediaPan=G.VOM.$content.find('.nGY2ViewerMediaPan');G.VOM.content.previous.$media=$mediaPan.eq(0);G.VOM.content.current.$media=$mediaPan.eq(1);G.VOM.content.next.$media=$mediaPan.eq(2);var vP=G.GOM.cache.viewport;G.VOM.content.previous.$media[0].style[G.CSStransformName]='translate(-'+vP.w+'px, 0px)';G.VOM.content.next.$media[0].style[G.CSStransformName]='translate('+vP.w+'px, 0px)';G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,G.VOM.content.current.NGY2Item());G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,G.VOM.content.previous.NGY2Item());G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,G.VOM.content.next.NGY2Item());G.VOM.padding.H=parseInt(G.VOM.$content.css("padding-left"))+parseInt(G.VOM.$content.css("padding-right"));G.VOM.padding.V=parseInt(G.VOM.$content.css("padding-top"))+parseInt(G.VOM.$content.css("padding-bottom"));var vtbBg1='';var vtbBg2=' toolbarBackground';if(G.O.viewerToolbar.fullWidth){vtbBg1=' toolbarBackground';vtbBg2='';}
var vtbAlign='text-align:center;';switch(G.O.viewerToolbar.align){case'left':vtbAlign='text-align:left;';break;case'right':vtbAlign='text-align:right;';break;}
var sTB='<div class="toolbarContainer nGEvent'+vtbBg1+'" style="visibility:'+(G.O.viewerToolbar.display?"visible":"hidden")+';'+vtbAlign+'"><div class="toolbar nGEvent'+vtbBg2+'"></div></div>';G.VOM.$toolbar=jQuery(sTB).appendTo(G.VOM.$viewer);if(G.VOM.toolbarMode=='min'||(G.O.viewerToolbar.autoMinimize>0&&G.O.viewerToolbar.autoMinimize>=G.GOM.cache.viewport.w)){ViewerToolbarForVisibilityMin();}
else{ViewerToolbarForVisibilityStd();}
var sTopLeft='<div class="nGY2ViewerToolsTopLeft nGEvent"><div class="toolbar nGEvent">';var sTL=G.O.viewerTools.topLeft.split(',');for(var i=0,sTLL=sTL.length;i<sTLL;i++){sTopLeft+=ToolbarAddElt(sTL[i]);}
sTopLeft+='</div></div>';G.VOM.$toolbarTL=jQuery(sTopLeft).appendTo(G.VOM.$viewer);var sTopRight='<div class="nGY2ViewerToolsTopRight nGEvent"><div class="toolbar nGEvent">';var sTR=G.O.viewerTools.topRight.split(',');for(var i=0,sTRL=sTR.length;i<sTRL;i++){sTopRight+=ToolbarAddElt(sTR[i]);}
sTopRight+='</div></div>';G.VOM.$toolbarTR=jQuery(sTopRight).appendTo(G.VOM.$viewer);ViewerToolsOn();if(ngscreenfull.enabled&&G.O.viewerFullscreen){ngscreenfull.request();G.VOM.viewerIsFullscreen=true;}
LightboxGalleryBuild();setElementOnTop('',G.VOM.$viewer);ResizeLightbox(true);G.VOM.gallery.Resize();G.VOM.timeImgChanged=new Date().getTime();G.VOM.$toolbarTL.css('opacity',0);G.VOM.$toolbarTR.css('opacity',0);G.VOM.$buttonLeft.css('opacity',0);G.VOM.$buttonRight.css('opacity',0);if(G.O.viewerGallery!='none'){G.VOM.gallery.$elt.css('opacity',0);}
G.VOM.$content.css('opacity',0);G.VOM.$toolbarTR[0].style[G.CSStransformName]='translateY(-40px) ';G.VOM.$toolbarTL[0].style[G.CSStransformName]='translateY(-40px) ';G.VOM.$buttonLeft[0].style[G.CSStransformName]='translateX(-40px) ';G.VOM.$buttonRight[0].style[G.CSStransformName]='translateX(40px) ';new NGTweenable().tween({from:{opacity:0,posY:G.VOM.window.lastHeight*.5},to:{opacity:1,posY:0},delay:10,duration:450,easing:'easeInOutQuint',step:function(state){G.VOM.$viewer.css('opacity',state.opacity);G.VOM.$viewer[0].style[G.CSStransformName]='translateY('+(state.posY)+'px) ';G.VOM.$content.css('opacity',state.opacity);}});new NGTweenable().tween({from:{posY:-40,opacity:0,scale:3},to:{posY:0,opacity:1,scale:1},delay:300,duration:400,easing:'easeInOutQuint',step:function(state){G.VOM.$toolbarTR[0].style[G.CSStransformName]='translateY('+(state.posY)+'px) ';G.VOM.$toolbarTL[0].style[G.CSStransformName]='translateY('+(state.posY)+'px) ';G.VOM.$buttonLeft[0].style[G.CSStransformName]='translateX('+(state.posY)+'px) ';G.VOM.$buttonRight[0].style[G.CSStransformName]='translateX('+(-state.posY)+'px) ';if(G.O.viewerGallery!='none'){G.VOM.gallery.$elt.css({opacity:state.opacity});G.VOM.gallery.$elt[0].style[G.CSStransformName]='scale('+state.scale+')';}},finish:function(){G.VOM.viewerDisplayed=true;ViewerMediaPanX(0);ViewerSetEvents();LightboxDisplay('');if(G.O.slideshowAutoStart){G.VOM.playSlideshow=false;SlideshowToggle();}
ViewerToolsUnHide();LightboxDisplayFinalize('');}});}
function ViewerEvents(){if(!G.VOM.viewerDisplayed||G.VOM.viewerMediaIsChanged){return false;}
return true;}
function LightboxGalleryBuild(){G.VOM.gallery.firstDisplay=true;if(G.O.viewerGallery!='none'){var tw=G.O.viewerGalleryTWidth;var th=G.O.viewerGalleryTHeight;var gutter=2;var t='';for(var i=0;i<G.VOM.items.length;i++){var idx=G.VOM.items[i].ngy2ItemIdx;var o=G.I[idx];var src=(o.thumbImg().src).replace(/'/g,"%27");src=src.replace(/\\/g,'\\\\');t+='<div class="nGY2VThumbnail" style="width:'+tw+'px;height:'+th+'px;left:'+i*(tw+gutter*2)+'px;background-image: url(&apos;'+src+'&apos;);" data-ngy2_lightbox_thumbnail="true" data-ngy2_idx="'+idx+'" data-ngy2_vidx="'+i+'" ></div>';}
G.VOM.gallery.gwidth=(tw+2*gutter)*G.VOM.items.length;G.VOM.gallery.oneTmbWidth=tw+2*gutter;var tc="<div class='nGY2VThumbnailContainer' style='height:"+(th+gutter*2)+"px;left:0;width:"+G.VOM.gallery.gwidth+"px;' data-ngy2_lightbox_gallery='true'>"+t+"</div>";G.VOM.gallery.$elt=jQuery('<div class="nGY2viewerGallery" style="display: inline-block;height:'+(th+gutter*2)+'px;left:0;right:0;">'+tc+'</div>').appendTo(G.VOM.$viewer);G.VOM.gallery.$tmbCont=G.VOM.gallery.$elt.find('.nGY2VThumbnailContainer')
G.VOM.gallery.Resize();G.VOM.gallery.SetThumbnailActive();}}
function ViewerSetEvents(){if(G.VOM.hammertime==null){G.VOM.hammertime=new NGHammer.Manager(G.VOM.$baseCont[0],{recognizers:[[NGHammer.Pinch,{enable:true}],[NGHammer.Pan,{direction:NGHammer.DIRECTION_ALL}]]});G.VOM.hammertime.on('pan',function(ev){if(!ViewerEvents()){return;}
if(G.VOM.panMode=='off'){if(ev.target.dataset.ngy2_lightbox_thumbnail!=undefined||ev.target.dataset.ngy2_lightbox_gallery!=undefined){G.VOM.panMode='gallery';}
else{if(G.VOM.zoom.isZooming){G.VOM.panMode='zoom';}
else{G.VOM.panMode='media';}}}
switch(G.VOM.panMode){case'zoom':ViewerImagePanSetPosition(G.VOM.content.current.NGY2Item(),G.VOM.panPosX+ev.deltaX,G.VOM.panPosY+ev.deltaY,G.VOM.content.current.$media,false);G.VOM.toolsHide();break;case'media':if(Math.abs(ev.deltaY)>G.VOM.panThreshold&&Math.abs(ev.deltaX)<G.VOM.panThreshold&&!G.VOM.panXOnly){ViewerMediaPanX(0);var dist=0;if(ev.deltaY<0){dist=Math.max(ev.deltaY,-200);}
else{dist=Math.min(ev.deltaY,200);}
G.VOM.$viewer[0].style[G.CSStransformName]='translateY('+dist+'px) ';G.VOM.$viewer.css('opacity',1-Math.abs(dist)/200/2);}
else{if(Math.abs(ev.deltaX)>G.VOM.panThreshold){G.VOM.panXOnly=true;}
ViewerMediaPanX(ev.deltaX);G.VOM.$viewer[0].style[G.CSStransformName]='translateY(0px)';G.VOM.$viewer.css('opacity',1);}
break;case'gallery':G.VOM.gallery.PanGallery(ev.deltaX);break;}});G.VOM.hammertime.on('panend',function(ev){if(!ViewerEvents()){return;}
switch(G.VOM.panMode){case'zoom':G.VOM.timeImgChanged=new Date().getTime();ViewerImagePanSetPosition(G.VOM.content.current.NGY2Item(),G.VOM.panPosX+ev.deltaX,G.VOM.panPosY+ev.deltaY,G.VOM.content.current.$media,true);break;case'media':var panY=false;if(!G.VOM.panXOnly){if(Math.abs(ev.deltaY)>50&&Math.abs(ev.deltaX)<50){LightboxClose();panY=true;}}
if(!panY){if(Math.abs(ev.deltaX)<50){ViewerMediaPanX(0);}
else{ev.deltaX>50?DisplayPreviousMedia(Math.abs(ev.velocityX)):DisplayNextMedia(Math.abs(ev.velocityX));}}
G.VOM.panXOnly=false;break;case'gallery':G.VOM.gallery.posX+=ev.deltaX;G.VOM.gallery.PanGallery(0);G.VOM.gallery.PanGalleryEnd(ev.velocityX);break;}
G.VOM.panMode='off';});if(G.O.viewerZoom){G.VOM.hammertime.add(new NGHammer.Tap({event:'doubletap',taps:2,interval:250}));G.VOM.hammertime.add(new NGHammer.Tap({event:'singletap'}));G.VOM.hammertime.get('doubletap').recognizeWith('singletap');G.VOM.hammertime.get('singletap').requireFailure('doubletap');G.VOM.hammertime.on('singletap',function(ev){if(!ViewerEvents()){return;}
if(ev.target.dataset.ngy2_lightbox_thumbnail!=undefined){var idx=parseInt(ev.target.dataset.ngy2_idx);var vidx=parseInt(ev.target.dataset.ngy2_vidx);if(!isNaN(idx)&&vidx!=G.VOM.content.current.vIdx){if(vidx>G.VOM.content.current.vIdx){TriggerCustomEvent('lightboxNextImage');G.VOM.content.next.$media.empty();var nextItem=G.I[idx];G.VOM.content.next.vIdx=vidx;let spreloader='<div class="nGY2ViewerMediaLoaderDisplayed"></div>';if(nextItem.mediaKind=='img'&&nextItem.imageWidth!=0&&nextItem.imageHeight!=0){spreloader='<div class="nGY2ViewerMediaLoaderHidden"></div>';}
G.VOM.content.next.$media.append(spreloader+nextItem.mediaMarkup);if(nextItem.mediaKind=='img'){G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,nextItem);}
else{ViewerMediaCenterNotImg(G.VOM.content.next.$media);}
LightboxDisplay('nextImage');}
else{TriggerCustomEvent('lightboxPreviousImage');G.VOM.content.previous.$media.empty();var previousItem=G.I[idx];G.VOM.content.previous.vIdx=vidx;let spreloader='<div class="nGY2ViewerMediaLoaderDisplayed"></div>';if(previousItem.mediaKind=='img'&&previousItem.imageWidth!=0&&previousItem.imageHeight!=0){spreloader='<div class="nGY2ViewerMediaLoaderHidden"></div>';}
G.VOM.content.previous.$media.append(spreloader+previousItem.mediaMarkup);if(previousItem.mediaKind=='img'){G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,previousItem);}
else{ViewerMediaCenterNotImg(G.VOM.content.previous.$media);}
LightboxDisplay('previousImage');}
return;}}
StopPropagationPreventDefault(ev.srcEvent);if(G.VOM.toolbarsDisplayed==false){debounce(ViewerToolsUnHide,100,false)();G.VOM.singletapTime=new Date().getTime();}
else{if((new Date().getTime())-G.VOM.singletapTime<400){return;}
if(G.VOM.content.current.NGY2Item().mediaKind=='img'&&ev.target.className.indexOf('nGY2ViewerMedia')!==-1){var x=0;if(ev.srcEvent instanceof MouseEvent){x=ev.srcEvent.pageX;}
else{x=ev.srcEvent.changedTouches[0].pageX;}
if(x<(G.GOM.cache.viewport.w/2)){DisplayPreviousMedia();}
else{DisplayNextMedia();}}}});G.VOM.hammertime.on('doubletap',function(ev){if(!ViewerEvents()){return;}
StopPropagationPreventDefault(ev.srcEvent);if(ev.target.className.indexOf('nGY2ViewerMedia')!==-1){if(G.VOM.zoom.isZooming){G.VOM.zoom.isZooming=false;ResizeLightbox(true);}
else{if(ViewerZoomStart()){G.VOM.zoom.userFactor=1.5;ViewerMediaSetPosAndZoom();}}}});G.VOM.hammertime.on('pinchend',function(ev){ev.srcEvent.stopPropagation();ev.srcEvent.preventDefault();G.VOM.timeImgChanged=new Date().getTime();G.VOM.zoom.lastScale=1;});G.VOM.hammertime.on('pinch',function(ev){ev.srcEvent.stopPropagation();ev.srcEvent.preventDefault();if(ViewerZoomStart()){if(G.O.viewerRelativePinchZoom){var scale=ev.scale;if(scale<1){scale=1-((1-scale)*G.O.viewerZoomOutScale);}
G.VOM.zoom.userFactor=G.VOM.zoom.userFactor+(scale-G.VOM.zoom.lastScale);G.VOM.zoom.lastScale=scale;}
else{G.VOM.zoom.userFactor=ev.scale;}
ViewerZoomMax();if(ViewerZoomMin()&&G.O.viewerResetZoomAtMin){G.VOM.zoom.isZooming=false;ResizeLightbox(true);}
ViewerMediaSetPosAndZoom();}});}
else{G.VOM.hammertime.add(new NGHammer.Tap({event:'singletap'}));G.VOM.hammertime.on('singletap',function(ev){if(!ViewerEvents()){return;}
StopPropagationPreventDefault(ev.srcEvent);if(G.VOM.toolbarsDisplayed==false){debounce(ViewerToolsUnHide,100,false)();G.VOM.singletapTime=new Date().getTime();}
else{if((new Date().getTime())-G.VOM.singletapTime<400){return;}
if(ev.target.className.indexOf('nGY2ViewerMedia')!==-1){var x=0;if(ev.srcEvent instanceof MouseEvent){x=ev.srcEvent.pageX;}
else{x=ev.srcEvent.changedTouches[0].pageX;}
if(x<(G.GOM.cache.viewport.w/2)){DisplayPreviousMedia();}
else{DisplayNextMedia();}}}});}}}
function StopPropagationPreventDefault(e){e.stopPropagation();e.preventDefault();}
function ViewerToolsHide(){if(G.VOM.viewerDisplayed){G.VOM.toolbarsDisplayed=false;ViewerToolsOpacity(0);}}
function ViewerToolsUnHide(){if(G.VOM.viewerDisplayed){G.VOM.toolbarsDisplayed=true;ViewerToolsOpacity(1);G.VOM.toolsHide();}}
function ViewerToolsOpacity(op){if(G.VOM.$toolbar!=null){G.VOM.$toolbar.css('opacity',op);}
if(G.VOM.$toolbarTL!=null){G.VOM.$toolbarTL.css('opacity',op);}
if(G.VOM.$toolbarTR!=null){G.VOM.$toolbarTR.css('opacity',op);}
G.VOM.$content.find('.nGY2ViewerAreaNext').css('opacity',op);G.VOM.$content.find('.nGY2ViewerAreaPrevious').css('opacity',op);}
function ViewerToolsOn(){G.VOM.$viewer.off('touchstart click','.ngy2viewerToolAction',ViewerToolsAction);G.VOM.$viewer.on('touchstart click','.ngy2viewerToolAction',ViewerToolsAction);}
function ViewerToolsAction(e){if((new Date().getTime())-G.timeLastTouchStart<300){return;}
G.timeLastTouchStart=new Date().getTime();var $this=$(this);var ngy2action=$this.data('ngy2action');if(ngy2action==undefined){return;}
switch(ngy2action){case'next':StopPropagationPreventDefault(e);DisplayNextMedia();break;case'previous':StopPropagationPreventDefault(e);DisplayPreviousMedia();break;case'playPause':e.stopPropagation();SlideshowToggle();break;case'zoomIn':StopPropagationPreventDefault(e);if(ViewerZoomStart()){ViewerZoomIn(true);}
break;case'zoomOut':StopPropagationPreventDefault(e);if(ViewerZoomStart()){ViewerZoomIn(false);}
break;case'minimize':StopPropagationPreventDefault(e);if(G.VOM.toolbarMode=='std'){ViewerToolbarForVisibilityMin();}
else{ViewerToolbarForVisibilityStd();}
break;case'fullScreen':e.stopPropagation();if(ngscreenfull.enabled){ngscreenfull.toggle();}
break;case'info':e.stopPropagation();ItemDisplayInfo(G.VOM.content.current.NGY2Item());break;case'close':StopPropagationPreventDefault(e);if((new Date().getTime())-G.VOM.timeImgChanged<400){return;}
LightboxClose();break;case'download':StopPropagationPreventDefault(e);DownloadImage(G.VOM.items[G.VOM.content.current.vIdx].ngy2ItemIdx);break;case'share':StopPropagationPreventDefault(e);PopupShare(G.VOM.items[G.VOM.content.current.vIdx].ngy2ItemIdx);break;case'linkOriginal':StopPropagationPreventDefault(e);OpenOriginal(G.VOM.content.current.NGY2Item());break;case'rotateLeft':StopPropagationPreventDefault(e);ViewerImageRotate(-90);break;case'rotateRight':StopPropagationPreventDefault(e);ViewerImageRotate(90);break;case'shoppingcart':StopPropagationPreventDefault(e);AddToCart(G.VOM.items[G.VOM.content.current.vIdx].ngy2ItemIdx,'lightbox');break;}
var fu=G.O.fnImgToolbarCustClick;if(ngy2action.indexOf('custom')==0&&fu!==null){typeof fu=='function'?fu(ngy2action,$this,G.VOM.content.current.NGY2Item()):window[fu](ngy2action,$this,G.VOM.content.current.NGY2Item());}}
function ViewerImageRotate(angle){var item=G.VOM.content.current.NGY2Item();if(item.mediaKind=='img'){item.rotationAngle+=angle;item.rotationAngle=item.rotationAngle%360;if(item.rotationAngle<0){item.rotationAngle+=360;}
ViewerMediaPanX(0);ViewerMediaSetPosAndZoomOne(G.VOM.content.current,true);}}
function ItemDisplayInfo(ng2item){var content='<div class="nGY2PopupOneItem">'+ng2item.title+'</div>';content+='<div class="nGY2PopupOneItemText">'+ng2item.description+'</div>';if(ng2item.author!=''){content+='<div class="nGY2PopupOneItemText">'+G.O.icons.user+' '+ng2item.author+'</div>';}
if(ng2item.exif.model!=''){content+='<div class="nGY2PopupOneItemText">'+G.O.icons.config+' '+ng2item.exif.model+'</div>';}
var sexif=G.O.icons.picture+':';if(ng2item.exif.flash!=''||ng2item.exif.focallength!=''||ng2item.exif.fstop!=''||ng2item.exif.exposure!=''||ng2item.exif.iso!=''||ng2item.exif.time!=''){sexif+='<br>';sexif+=ng2item.exif.flash==''?'':' &nbsp; '+ng2item.exif.flash;sexif+=ng2item.exif.focallength==''?'':' &nbsp; '+ng2item.exif.focallength+'mm';sexif+=ng2item.exif.fstop==''?'':' &nbsp; f'+ng2item.exif.fstop;sexif+=ng2item.exif.exposure==''?'':' &nbsp; '+ng2item.exif.exposure+'s';sexif+=ng2item.exif.iso==''?'':' &nbsp; '+ng2item.exif.iso+' ISO';if(ng2item.exif.time!=''){sexif+=' &nbsp; '+ng2item.exif.time;}}
else{sexif+=' n/a';}
content+='<div class="nGY2PopupOneItemText">'+sexif+'</div>';if(ng2item.exif.location!=''){content+='<div class="nGY2PopupOneItemText">'+G.O.icons.location+' <a href="http://maps.google.com/maps?z=12&t=m&q='+encodeURIComponent(ng2item.exif.location)+'" target="_blank">'+ng2item.exif.location+'</a></div>';content+='<iframe width="300" height="150" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?&amp;t=m&amp;q='+encodeURIComponent(ng2item.exif.location)+'&amp;output=embed"></iframe>';}
else{content+='<div class="nGY2PopupOneItemText">'+G.O.icons.location+': n/a</div>';}
var r={title:G.O.icons.viewerInfo,content:content};var fu=G.O.fnPopupMediaInfo;if(fu!==null){typeof fu=='function'?r=fu(ng2item,r.title,r.content):r=window[fu](ng2item,r.title,r.content);}
Popup(r.title,r.content,'Left');}
function ToolbarAddElt(elt){var r='<div class="ngbt ngy2viewerToolAction ',e=elt.replace(/^\s+|\s+$/g,'');switch(e){case'minimizeButton':case'minimize':var ic=G.O.icons.viewerToolbarMin;if(G.VOM.toolbarMode=='min'){ic=G.O.icons.viewerToolbarStd;}
r+='minimizeButton nGEvent" data-ngy2action="minimize">'+ic+'</div>';break;case'previousButton':case'previous':r+='previousButton nGEvent" data-ngy2action="previous">'+G.O.icons.viewerPrevious+'</div>';break;case'pageCounter':r+='pageCounter nGEvent"></div>';break;case'nextButton':case'next':r+='nextButton nGEvent" data-ngy2action="next">'+G.O.icons.viewerNext+'</div>';break;case'playPauseButton':case'playPause':r+='playButton playPauseButton nGEvent" data-ngy2action="playPause">'+G.O.icons.viewerPlay+'</div>';break;case'rotateLeft':r+='rotateLeftButton nGEvent" data-ngy2action="rotateLeft">'+G.O.icons.viewerRotateLeft+'</div>';break;case'rotateRight':r+='rotateRightButton nGEvent" data-ngy2action="rotateRight">'+G.O.icons.viewerRotateRight+'</div>';break;case'downloadButton':case'download':r+='downloadButton nGEvent" data-ngy2action="download">'+G.O.icons.viewerDownload+'</div>';break;case'zoomButton':case'zoom':r+='nGEvent" data-ngy2action="zoomIn">'+G.O.icons.viewerZoomIn+'</div><div class="ngbt ngy2viewerToolAction nGEvent" data-ngy2action="zoomOut">'+G.O.icons.viewerZoomOut+'</div>';break;case'fullscreenButton':case'fullscreen':var s=G.O.icons.viewerFullscreenOn;if(ngscreenfull.enabled&&G.VOM.viewerIsFullscreen){s=G.O.icons.viewerFullscreenOff;}
r+='setFullscreenButton fullscreenButton nGEvent" data-ngy2action="fullScreen">'+s+'</div>';break;case'infoButton':case'info':r+='infoButton nGEvent" data-ngy2action="info">'+G.O.icons.viewerInfo+'</div>';break;case'linkOriginalButton':case'linkOriginal':r+='linkOriginalButton nGEvent" data-ngy2action="linkOriginal">'+G.O.icons.viewerLinkOriginal+'</div>';break;case'closeButton':case'close':r+='closeButton nGEvent" data-ngy2action="close">'+G.O.icons.buttonClose+'</div>';break;case'shareButton':case'share':r+='nGEvent" data-ngy2action="share">'+G.O.icons.viewerShare+'</div>';break;case'label':r+='"><div class="label"><div class="title nGEvent" itemprop="name"></div><div class="description nGEvent" itemprop="description"></div></div></div>';break;case'shoppingcart':r+='closeButton nGEvent" data-ngy2action="shoppingcart">'+G.O.icons.viewerShoppingcart+'</div>';break;default:if(e.indexOf('custom')==0){var t='';var fu=G.O.fnImgToolbarCustInit;if(fu!==null){typeof fu=='function'?fu(e):window[fu](e);}
if(t==undefined||t==''){var n=e.substring(6);t=G.O.icons['viewerCustomTool'+n];}
r+='ngy2CustomBtn '+e+' nGEvent" data-ngy2action="'+e+'">'+t+'</div>';}
else{r='';}
break;}
return r;}
function SlideshowToggle(){if(G.VOM.playSlideshow){window.clearTimeout(G.VOM.playSlideshowTimerID);G.VOM.playSlideshow=false;G.VOM.$viewer.find('.playPauseButton').html(G.O.icons.viewerPlay);}
else{G.VOM.playSlideshow=true;DisplayNextMedia();G.VOM.$viewer.find('.playPauseButton').html(G.O.icons.viewerPause);}}
function ViewerToolbarForVisibilityStd(){G.VOM.toolbarMode='std';var sTB='';var t=G.O.viewerToolbar.standard.split(',');for(var i=0,lt=t.length;i<lt;i++){sTB+=ToolbarAddElt(t[i]);}
G.VOM.$toolbar.find('.toolbar').html(sTB);ViewerToolbarElementContent();}
function ViewerToolbarForVisibilityMin(){if(G.O.viewerToolbar.minimized==undefined||G.O.viewerToolbar.minimized==''){ViewerToolbarForVisibilityStd();}
else{G.VOM.toolbarMode='min';var sTB='';var t=G.O.viewerToolbar.minimized.split(',');for(var i=0,lt=t.length;i<lt;i++){sTB+=ToolbarAddElt(t[i]);}
G.VOM.$toolbar.find('.toolbar').html(sTB);ViewerToolbarElementContent();}}
function ViewerToolbarElementContent(){var vomIdx=G.VOM.content.current.vIdx;if(vomIdx==null){return;}
var item=G.VOM.content.current.NGY2Item();var setTxt=false;if(item.title!==undefined&&item.title!=''){G.VOM.$viewer.find('.ngy2viewerToolAction').find('.title').html(item.title);setTxt=true;}
else{G.VOM.$viewer.find('.ngy2viewerToolAction').find('.title').html('');}
if(item.description!==undefined&&item.description!=''){G.VOM.$viewer.find('.ngy2viewerToolAction').find('.description').html(item.description);setTxt=true;}
else{G.VOM.$viewer.find('.ngy2viewerToolAction').find('.description').html('');}
if(setTxt){G.VOM.$viewer.find('.ngy2viewerToolAction').find('.label').show();}
else{G.VOM.$viewer.find('.ngy2viewerToolAction').find('.label').hide();}
var viewerMaxImages=G.VOM.items.length;if(viewerMaxImages>0){G.VOM.$viewer.find('.pageCounter').html((G.VOM.items[vomIdx].mediaNumber)+'/'+viewerMaxImages);}
var $cu=G.VOM.$viewer.find('.ngy2CustomBtn');var fu=G.O.fnImgToolbarCustDisplay;if($cu.length>0&&fu!==null){typeof fu=='function'?fu($cu,item):window[fu]($cu,item);}
ViewerToolsOn();}
function ViewerMediaPanX(posX){G.VOM.swipePosX=posX;if(G.CSStransformName==null){}
else{G.VOM.content.current.$media[0].style[G.CSStransformName]='translate('+posX+'px, 0px)';var itemPrevious=G.VOM.content.previous.NGY2Item();var itemNext=G.VOM.content.next.NGY2Item();if(G.O.imageTransition.startsWith('SWIPE')){if(itemPrevious.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.previous,1);}
if(itemNext.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.next,1);}
var sc=Math.min(Math.max(Math.abs(posX)/G.VOM.window.lastWidth,.8),1);if(G.O.imageTransition=='SWIPE'){sc=1;}
if(posX>0){let dir=G.VOM.window.lastWidth;if(itemPrevious.mediaTransition()){G.VOM.content.previous.$media[0].style[G.CSStransformName]='translate('+(-dir+posX)+'px, 0px) scale('+sc+')';}
if(itemNext.mediaTransition()){G.VOM.content.next.$media[0].style[G.CSStransformName]='translate('+(dir)+'px, 0px) scale('+sc+')';}}
else{let dir=-G.VOM.window.lastWidth;if(itemNext.mediaTransition()){G.VOM.content.next.$media[0].style[G.CSStransformName]='translate('+(-dir+posX)+'px, 0px) scale('+sc+')';}
if(itemPrevious.mediaTransition()){G.VOM.content.previous.$media[0].style[G.CSStransformName]='translate('+(dir)+'px, 0px) scale('+sc+')';}}}
if(G.O.imageTransition=='SLIDEAPPEAR'){G.VOM.content.previous.$media[0].style[G.CSStransformName]='';G.VOM.content.next.$media[0].style[G.CSStransformName]='';if(posX<0){let o=(-posX)/G.VOM.window.lastWidth;if(itemNext.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.next,o);}
if(itemPrevious.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.previous,0);}}
else{let o=posX/G.VOM.window.lastWidth;if(itemPrevious.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.previous,o);}
if(itemNext.mediaTransition()){ViewerSetMediaVisibility(G.VOM.content.next,0);}}}}}
function DisplayNextMedia(velocity){velocity=velocity||0;if(G.VOM.viewerMediaIsChanged||((new Date().getTime())-G.VOM.timeImgChanged<300)){return;}
TriggerCustomEvent('lightboxNextImage');LightboxDisplay('nextImage',velocity);};function DisplayPreviousMedia(velocity){velocity=velocity||0;if(G.VOM.viewerMediaIsChanged||((new Date().getTime())-G.VOM.timeImgChanged<300)){return;}
if(G.VOM.playSlideshow){SlideshowToggle();}
TriggerCustomEvent('lightboxPreviousImage');LightboxDisplay('previousImage',velocity);};function LightboxDisplay(displayType,velocity){velocity=velocity||0;if(G.O.debugMode&&console.timeline){console.timeline('nanogallery2_viewer');}
if(G.VOM.playSlideshow){window.clearTimeout(G.VOM.playSlideshowTimerID);}
var current_content_item=null;var new_content_item=null;G.VOM.timeImgChanged=new Date().getTime();G.VOM.viewerMediaIsChanged=true;G.VOM.zoom.isZooming=false;ResizeLightbox(true);switch(displayType){case'':current_content_item=G.VOM.content.current;new_content_item=G.VOM.content.current;break;case'previousImage':current_content_item=G.VOM.content.current;new_content_item=G.VOM.content.previous;break;default:current_content_item=G.VOM.content.current;new_content_item=G.VOM.content.next;}
SetLocationHash(new_content_item.NGY2Item().albumID,new_content_item.NGY2Item().GetID());if(displayType==''){return;}
var vP=G.GOM.cache.viewport;var t_easing='';var t_dur=500*(vP.w-Math.abs(G.VOM.swipePosX))/vP.w;if(velocity>0){t_dur=Math.min((vP.w-Math.abs(G.VOM.swipePosX))/velocity,t_dur);t_easing='linear';}
if(G.CSStransformName==null){ViewerSetMediaVisibility(new_content_item,1);ViewerSetMediaVisibility(current_content_item,1);LightboxDisplayFinalize(displayType);}
else{switch(G.O.imageTransition){case'SWIPE':case'SWIPE2':var dir=(displayType=='nextImage'?-vP.w:vP.w);new_content_item.$media[0].style[G.CSStransformName]='translate('+(-dir)+'px, 0px) '
if(velocity==0){t_easing=G.O.imageTransition=='swipe'?'easeInOutSine':'easeOutCubic';}
ViewerSetMediaVisibility(G.VOM.content.current,1);G.VOM.content.current.$media[0].style[G.CSStransformName]='translate(0px, 0px)';ViewerSetMediaVisibility(new_content_item,1);new NGTweenable().tween({from:{t:G.VOM.swipePosX},to:{t:(displayType=='nextImage'?-vP.w:vP.w)},attachment:{dT:displayType,new_content_item:new_content_item,dir:dir,media_transition:new_content_item.NGY2Item().mediaTransition()},duration:t_dur,easing:(t_easing),step:function(state,att){G.VOM.content.current.$media[0].style[G.CSStransformName]='translate('+state.t+'px, 0px)';if(att.media_transition){var sc=Math.min(Math.max((Math.abs(state.t))/G.VOM.window.lastWidth,.8),1);if(G.O.imageTransition=='SWIPE'){sc=1;}
att.new_content_item.$media[0].style[G.CSStransformName]='translate('+(-att.dir+state.t)+'px, 0px) scale('+sc+')';}},finish:function(state,att){G.VOM.content.current.$media[0].style[G.CSStransformName]='';ViewerSetMediaVisibility(G.VOM.content.current,0);att.new_content_item.$media[0].style[G.CSStransformName]='';LightboxDisplayFinalize(att.dT);}});break;case'SLIDEAPPEAR':default:var op=(Math.abs(G.VOM.swipePosX))/G.VOM.window.lastWidth;new_content_item.$media[0].style[G.CSStransformName]='';if(velocity==0){t_easing='easeInOutSine';}
new NGTweenable().tween({from:{o:op,t:G.VOM.swipePosX},to:{o:1,t:(displayType=='nextImage'?-vP.w:vP.w)},attachment:{dT:displayType,new_content_item:new_content_item,media_transition:new_content_item.NGY2Item().mediaTransition()},delay:30,duration:t_dur,easing:t_easing,step:function(state,att){G.VOM.content.current.$media[0].style[G.CSStransformName]='translate('+state.t+'px, 0px)';if(att.media_transition){ViewerSetMediaVisibility(att.new_content_item,state.o);}},finish:function(state,att){G.VOM.content.current.$media[0].style[G.CSStransformName]='';LightboxDisplayFinalize(att.dT);}});break;}}}
function LightboxDisplayFinalize(displayType){var newVomIdx=0;switch(displayType){case'':newVomIdx=G.VOM.content.current.vIdx;break;case'previousImage':newVomIdx=G.VOM.content.previous.vIdx;break;default:newVomIdx=G.VOM.content.next.vIdx;}
G.VOM.content.current.vIdx=newVomIdx;G.VOM.content.next.vIdx=G.VOM.IdxNext();G.VOM.content.previous.vIdx=G.VOM.IdxPrevious();G.VOM.gallery.Resize();G.VOM.gallery.SetThumbnailActive();var ngy2item=G.VOM.content.current.NGY2Item();ViewerToolbarElementContent();if(G.O.debugMode&&console.timeline){console.timelineEnd('nanogallery2_viewer');}
var fu=G.O.fnImgDisplayed;if(fu!==null){typeof fu=='function'?fu(ngy2item):window[fu](ngy2item);}
G.VOM.swipePosX=0;if(displayType!=''){G.VOM.content.current.$media.removeClass('imgCurrent');var $tmp=G.VOM.content.current.$media;switch(displayType){case'nextImage':G.VOM.content.current.$media=G.VOM.content.next.$media;G.VOM.content.next.$media=$tmp;break;case'previousImage':G.VOM.content.current.$media=G.VOM.content.previous.$media;G.VOM.content.previous.$media=$tmp;break;}}
G.VOM.content.current.$media.addClass('imgCurrent');var $pans=G.VOM.$content.find('.nGY2ViewerMediaPan');G.VOM.content.current.$media.insertAfter($pans.last());if(ngy2item.mediaKind=='img'&&ngy2item.imageWidth==0){ViewerSetMediaVisibility(G.VOM.content.current,0);}
else{G.VOM.content.current.$media.children().eq(0).attr('class','nGY2ViewerMediaLoaderHidden');ViewerSetMediaVisibility(G.VOM.content.current,1);}
G.VOM.content.next.$media.empty();var nextItem=G.VOM.content.next.NGY2Item();var spreloader='<div class="nGY2ViewerMediaLoaderDisplayed"></div>';if(nextItem.mediaKind=='img'&&nextItem.imageWidth!=0&&nextItem.imageHeight!=0){spreloader='<div class="nGY2ViewerMediaLoaderHidden"></div>';}
G.VOM.content.next.$media.append(spreloader+nextItem.mediaMarkup);ViewerSetMediaVisibility(G.VOM.content.next,0);ViewerSetMediaVisibility(G.VOM.content.previous,0);if(nextItem.mediaKind=='img'){G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,nextItem);}
else{ViewerMediaCenterNotImg(G.VOM.content.next.$media);}
G.VOM.content.previous.$media.empty();var previousItem=G.VOM.content.previous.NGY2Item();spreloader='<div class="nGY2ViewerMediaLoaderDisplayed"></div>';if(previousItem.mediaKind=='img'&&previousItem.imageWidth!=0&&previousItem.imageHeight!=0){spreloader='<div class="nGY2ViewerMediaLoaderHidden"></div>';}
G.VOM.content.previous.$media.append(spreloader+previousItem.mediaMarkup);ViewerSetMediaVisibility(G.VOM.content.previous,0);ViewerSetMediaVisibility(G.VOM.content.next,0);if(previousItem.mediaKind=='img'){G.VOM.ImageLoader.loadImage(VieweImgSizeRetrieved,previousItem);}
else{ViewerMediaCenterNotImg(G.VOM.content.previous.$media);}
if(G.VOM.playSlideshow){G.VOM.content.current.$media.children().eq(1).ngimagesLoaded().always(function(instance){if(G.VOM.playSlideshow){G.VOM.playSlideshowTimerID=window.setTimeout(function(){DisplayNextMedia();},G.VOM.slideshowDelay);}});}
ResizeLightbox();G.VOM.viewerMediaIsChanged=false;TriggerCustomEvent('lightboxImageDisplayed');}
function VieweImgSizeRetrieved(w,h,item,n){item.imageWidth=w;item.imageHeight=h;if(G.VOM.content.current.NGY2Item()==item){G.VOM.content.current.$media.children().eq(0).attr('class','nGY2ViewerMediaLoaderHidden');ViewerSetMediaVisibility(G.VOM.content.current,1);G.VOM.zoom.userFactor=1;}
if(G.VOM.content.next.NGY2Item()==item){G.VOM.content.next.$media.children().eq(0).attr('class','nGY2ViewerMediaLoaderHidden');}
if(G.VOM.content.previous.NGY2Item()==item){G.VOM.content.previous.$media.children().eq(0).attr('class','nGY2ViewerMediaLoaderHidden');}
ViewerMediaSetPosAndZoom();}
function ViewerSetMediaVisibility(content_item,opacity){var item=content_item.NGY2Item();var $media=content_item.$media;if(item.mediaKind=='img'&&item.imageWidth==0){$media.children().eq(1).css({opacity:0,visibility:'hidden'});return;}
if(opacity==0){$media.children().css({opacity:0,visibility:'hidden'});}
else{$media.children().css({opacity:opacity,visibility:'visible'});}}
function LightboxClose(vomIdx){if(vomIdx==undefined){vomIdx=G.VOM.content.current.vIdx;}
G.VOM.viewerMediaIsChanged=false;if(G.VOM.viewerDisplayed){jQuery("body").removeClass("nGY2_body_scrollbar");jQuery("#nGY2_body_scrollbar_style").remove();if(G.VOM.playSlideshow){window.clearTimeout(G.VOM.playSlideshowTimerID);G.VOM.playSlideshow=false;}
G.VOM.hammertime.destroy();G.VOM.hammertime=null;if(ngscreenfull.enabled&&G.VOM.viewerIsFullscreen){G.VOM.viewerIsFullscreen=false;ngscreenfull.exit();}
jQuery('.nGY2ViewerContainer').remove();G.VOM.$baseCont=null;G.VOM.viewerDisplayed=false;if(G.O.lightboxStandalone){return;}
if(G.O.thumbnailAlbumDisplayImage){if(vomIdx==null){}
else{var item=G.I[G.VOM.items[vomIdx].ngy2ItemIdx];var parent=NGY2Item.Get(G,item.albumID);if(G.GOM.albumIdx!=parent.albumID){DisplayAlbum('-1',parent.albumID);}
else{GalleryResize();SetLocationHash('','');ThumbnailHoverReInitAll();}}}
else{if(vomIdx!=null){if(G.GOM.albumIdx==-1){DisplayAlbum('',G.I[G.VOM.items[vomIdx].ngy2ItemIdx].albumID);}
else{GalleryResize();SetLocationHash(G.I[G.VOM.items[vomIdx].ngy2ItemIdx].albumID,'');ThumbnailHoverReInitAll();}}}
G.VOM.timeImgChanged=new Date().getTime();}}
function ResizeLightbox(forceUpdate){forceUpdate=typeof forceUpdate!=='undefined'?forceUpdate:false;if(G.VOM.$toolbar===null){return;}
var windowsW=G.VOM.$viewer.width();var windowsH=G.VOM.$viewer.height();var $elt=G.VOM.content.current.$media.children().eq(1);if($elt==null||G.VOM.content.current.vIdx==-1){return;}
if(!forceUpdate&&G.VOM.window.lastWidth==windowsW&&G.VOM.window.lastHeight==windowsH){return;}
G.VOM.window.lastWidth=windowsW;G.VOM.window.lastHeight=windowsH;var galleryHeight=0;var cBottom=0;if(G.O.viewerGallery!='none'){galleryHeight=G.O.viewerGalleryTHeight+10;}
if(G.O.viewerGallery=='bottom'){cBottom=galleryHeight;}
switch(G.O.viewerToolbar.position){case'top':case'topOverImage':G.VOM.$content.css({height:windowsH,width:windowsW,top:0});G.VOM.$toolbar.css({top:0,bottom:''});break;case'bottom':case'bottomOverImage':default:windowsH-=cBottom;G.VOM.$content.css({height:windowsH,width:windowsW,bottom:-cBottom,top:0});G.VOM.$toolbar.css({bottom:galleryHeight});break;}
if(!G.VOM.viewerMediaIsChanged&&G.VOM.zoom.isZooming){ViewerMediaSetPosAndZoom();}
else{if(!G.VOM.zoom.isZooming&&(G.VOM.zoom.userFactor!=0||G.VOM.panPosX!=0||G.VOM.panPosY!=0||G.VOM.zoom.posX!=0||G.VOM.zoom.posY!=0)){G.VOM.zoom.isZooming=true;new NGTweenable().tween({from:{userFactor:G.VOM.zoom.userFactor,panPosX:G.VOM.panPosX,panPosY:G.VOM.panPosY,zoomPosX:G.VOM.zoom.posX,zoomPosY:G.VOM.zoom.posY},to:{userFactor:1,panPosX:0,panPosY:0,zoomPosX:0,zoomPosY:0},easing:'easeInOutSine',delay:0,duration:150,step:function(state){G.VOM.zoom.userFactor=state.userFactor;G.VOM.panPosX=state.panPosX;G.VOM.panPosY=state.panPosY;G.VOM.zoom.posX=state.zoomPosX;G.VOM.zoom.posY=state.zoomPosY;ViewerMediaSetPosAndZoom();},finish:function(state){G.VOM.zoom.isZooming=false;}});}
else{G.VOM.zoom.userFactor=1;G.VOM.zoom.isZooming=false;G.VOM.panPosX=0;G.VOM.panPosY=0;G.VOM.zoom.posX=0;G.VOM.zoom.posY=0;ViewerMediaSetPosAndZoom();}}}
function getScrollableParent(node){const regex=/(auto|scroll)/;const parents=(_node,ps)=>{if(_node.parentNode===null){return ps;}
return parents(_node.parentNode,ps.concat([_node]));};const style=(_node,prop)=>getComputedStyle(_node,null).getPropertyValue(prop);const overflow=_node=>style(_node,'overflow')+style(_node,'overflow-y')+style(_node,'overflow-x');const scroll=_node=>regex.test(overflow(_node));const scrollParent=(_node)=>{if(!(_node instanceof HTMLElement||_node instanceof SVGElement)){return undefined;}
const ps=parents(_node.parentNode,[]);for(let i=0;i<ps.length;i+=1){if(ps[i]===document.body){return null;}
if(scroll(ps[i])){return ps[i];}}
return document.scrollingElement||document.documentElement;};return scrollParent(node);};function BuildSkeleton(){var $elements=G.$E.base.children();if($elements.length>0){G.O.$markup=$elements;}
if(!G.O.lightboxStandalone){G.$E.base.text('');G.$E.base.addClass('ngy2_container');G.$E.base.addClass(G.O.theme)
SetGalleryTheme();if(G.O.thumbnailLabel.get('hideIcons')){G.O.icons.thumbnailAlbum='';G.O.icons.thumbnailImage='';}
var styleNavigation="";if(G.O.navigationFontSize!=undefined&&G.O.navigationFontSize!=''){styleNavigation=' style="font-size:'+G.O.navigationFontSize+';"';}
G.$E.conNavigationBar=jQuery('<div class="nGY2Navigationbar" '+styleNavigation+'></div>').appendTo(G.$E.base);G.$E.conLoadingB=jQuery('<div class="nanoGalleryLBarOff"><div></div><div></div><div></div><div></div><div></div></div>').appendTo(G.$E.base);G.$E.conTnParent=jQuery('<div class="nGY2Gallery"></div>').appendTo(G.$E.base);G.$E.conTn=jQuery('<div class="nGY2GallerySub"></div>').appendTo(G.$E.conTnParent);switch(G.O.thumbnailAlignment){case'left':G.$E.conTnParent.css({'text-align':'left'});break;case'right':G.$E.conTnParent.css({'text-align':'right'});break;}
if(G.O.galleryBuildInit2!==undefined){var t1=G.O.galleryBuildInit2.split('|');for(var i=0;i<t1.length;i++){var o1=t1[i].split('_');if(o1.length==2){G.$E.conTn.css(o1[0],o1[1]);}}}
var effects=G.tn.hoverEffects.std.concat(G.tn.hoverEffects.level1);for(var j=0;j<effects.length;j++){switch(effects[j].type){case'scale':case'rotateZ':case'rotateX':case'rotateY':case'translateX':case'translateY':if(effects[j].element=='.nGY2GThumbnail'){G.$E.base.css('overflow','visible');G.$E.base.find('.nGY2GallerySub').css('overflow','visible');G.$E.conTnParent.css('overflow','visible');}
break;}}
G.$E.conTnBottom=jQuery('<div class="nGY2GalleryBottom" '+styleNavigation+'></div>').appendTo(G.$E.conTnParent);if(G.O.portable){var logo='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAABmJLR0QA/wD/AP+gvaeTAAAAB3RJTUUH4QgDBCAWVVC/hwAABRxJREFUSMetll9oVFcexz/nnDvJRBmSzWTrmD9uNGZsHta0/qFIFQTxRcnCBgTFNlX0YR8W+1AK9lGwCBJYgn0KKr5136S4gpUQTR4caJRslcxYWV3iaphQapJJppO5957z60Mmk4mN1q75wg/OPefc+/v9vt/fueenKEFEqICqsNWAVNiCA7XwaS0iZeejo6OIiCltdIBdJXMLOYp5/PjxsoTVS5nr0mYDJIE/lObeBhaYAn4oJbboAwBvBedHJicnPx8YGGh/8eJF1dvKoJSShoYGf//+/Zl4PP4l8M2yIEoSLErx6c2bN6W1tXVRglWzLVu2SCqVEhE5LiI457SIoEREW2udMaZtcnLy+2QyWZ3L5XRHR4f+4MNdoBUahUJhcWilmZ/NE4ZhOQHn3LIi1lqjtS6vjY6O8uTJE9vc3MyDBw+mYrHYn0Uk63me8gCtlHLA7uHh4bW5XC7oePddPTQ8xHffDjM/PYe3thqMws35iAcHPj5ENBp9Yxmy2Sw7d+40z549C+7du9ewb9++D6y13wDaK+kE0DAzMyNKKbXtvfd5EfzM+Ef/4C+8x23+wzPm+IhtfMf3/Ksuyl+7u9FaY63l+vXrpFIpCoUCmzdvpquri9bWVoIgQClFIpFg48aNPH/+XE9NTQkQLTGmvEXKRERprZWIEIYhQRjQbN6hmUb+tCaPNnM055v40f3If7XBGMPT8af0fNLD0NDQsozPnDlDb28vx44dIwxDRARrLSKCKmUbiUQQkWWnoLJ20UpjFYAjVA6rBJTFV5ZIJIIfBBw4eICxsTHq6uo4dOgQ8XicgYEB7t69y/Hjx4nH43R1dVHB8q+w4hlXSmGd5edwmjCco5DLkZ+aJvTnyIdTrFmzhn9+/TVjY2M0NTVx+/Zt+vv7OXfuHKlUip6eHgBOnz6N7/vlYl0JKzIw78/T+sdGbn6yjf5ZS2HtJgIP+mcC5kySI1uSXPjqAlprTp06RWdnJ8ViEaUUVVVVnD9/nqtXr5LJZHj48CFbt279fQEEYUisZi2fXel9bWU750gmkwRBgNYaz/Ow1lJfX088Hmd2dpZcLvdaBl4pgQChH4B1iHU4a8E6Qj9ARGhpaUFrzeDgIJFIBGMM1lqMMWQyGSYmJohEIqxfv/7314CIoADtGTAaZTTaLI2VUhw+fBjnHBcvXuTy5cs45/A8j3Q6zcmTJ/F9n71799LW1rbgSOs3D+B1lBljcM7R3d3N0aNHKRQKnDhxgs7OTnbt2sX27dsZGRkhHo/T19e3+Kt/fQ1YawFwzolSCs/zUEqVtX1VcJcuXSKRSNDf3086nS6v79mzh76+Pjo6OigWi1RXV2OMWZC29PL8/PxSAL7vE41Gf4rFYkpEePToEb7vU1VVxW+ht7eXs2fPcv/+fQqFAps2baKlpaW8Xl1dTS6XY3x8HBFxtbW1BiiW4hAlInp8fNxt2LChPZvN/ru9vT2Sz+e93bt3qx07diwrzJWYcM5RU1NDNBots5bP53HOlS+kO3fuMDIy4hKJhKTT6ena2tqtxWJxoqamRr98HX9x7do1qaurExYaiXCVzK5bt04GBwdFRP728nVcWZAO+Hsmk/nsxo0bTTMzM5FXHZ83hYhQX1/vHzx48H9tbW1ngSsVvpYCmJ2dJRaLKRbapjpgOxB7K+9LmAbuAnOAnpiYcI2NjUsRLlo2myUMQ1M5t5rmnDO3bt1aNlfmd4W2XL/0/H8pUDF2rNCW/wLRuCkxx8V6wgAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNy0wOC0wM1QwNDozMjoyMi0wNDowMO7mdkwAAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTctMDgtMDNUMDQ6MzI6MjItMDQ6MDCfu87wAAAAAElFTkSuQmCC';var st="font-weight:bold !important;color: #FF0075 !important;font-size: 14px !important;text-transform: lowercase !important;cursor:pointer !important;text-align: center !important;Text-Shadow: #000000 1px 0px 0px, #000000 1px 1px 0px, #000000 1px -1px 0px, #000000 -1px 1px 0px, #000000 -1px 0px 0px, #000000 -1px -1px 0px, #000000 0px 1px 0px, #000000 0px -1px 0px !important;";G.$E.ngy2i=jQuery('<div class="nGY2PortInfo"><a href="http://nano.gallery" target="_blank" title="nanogallery2 | easy photo gallery for your website" style="'+st+'"><img src="'+logo+'" style="height:32px !important;width:initial !important;box-shadow: none !important;vertical-align: middle !important;"/> &nbsp; nanogallery2</a></div>').appendTo(G.$E.base);G.$E.ngy2i.find('a').on({mouseenter:function(){jQuery(this).attr('style',st);},mouseleave:function(){jQuery(this).attr('style',st);}});}}
G.$E.conConsole=jQuery('<div class="nGY2ConsoleParent"></div>').appendTo(G.$E.base);i18n();if(!G.O.lightboxStandalone){ThumbnailDefCaches();switch(G.tn.opt.Get('displayTransition')){case'SCALEDOWN':case'RANDOMSCALE':default:G.$E.base.css('overflow','visible');G.$E.conTnParent.css('overflow','visible');G.$E.conTn.css('overflow','visible');break;}}}
function TriggerCustomEvent(eventName){var eN=eventName+'.nanogallery2';var event=null;try{event=new Event(eN);}catch(e){event=document.createEvent('Event');event.initEvent(eN,false,false);}
G.$E.base.trigger(eN,event);}
function SetGlobalEvents(){if(!G.O.lightboxStandalone){G.$E.conTnParent.on({mouseenter:GalleryMouseEnter,mouseleave:GalleryMouseLeave},".nGY2GThumbnail");G.GOM.hammertime=new NGHammer(G.$E.conTn[0]);G.GOM.hammertime.on('pan',function(ev){if(!G.VOM.viewerDisplayed){if(G.O.paginationSwipe&&G.layout.support.rows&&G.galleryDisplayMode.Get()=='PAGINATION'){if(Math.abs(ev.deltaY)>G.GOM.panThreshold){G.GOM.panYOnly=true;}
if(!G.GOM.panYOnly){G.$E.conTn.css(G.CSStransformName,'translate('+(ev.deltaX)+'px,0px)');}}}});G.GOM.hammertime.on('panend',function(ev){if(!G.VOM.viewerDisplayed){if(G.O.paginationSwipe&&G.layout.support.rows&&G.galleryDisplayMode.Get()=='PAGINATION'){if(!G.GOM.panYOnly){if(ev.deltaX>50){paginationPreviousPage();return;}
if(ev.deltaX<-50){paginationNextPage();return;}}
G.GOM.panYOnly=false;G.$E.conTn.css(G.CSStransformName,'translate(0px,0px)');}}});G.GOM.hammertime.on('tap',function(ev){if(!G.VOM.viewerDisplayed){ev.srcEvent.stopPropagation();ev.srcEvent.preventDefault();if(ev.pointerType=='mouse'){if(GalleryClicked(ev.srcEvent)=='exit'){return;}}
else{var r=GalleryEventRetrieveElementl(ev.srcEvent,false);if(r.GOMidx==-1){return;}
if(r.action!='NONE'&&r.action!='OPEN'){GalleryClicked(ev.srcEvent);return;}
if(G.GOM.slider.hostIdx==r.GOMidx){ThumbnailHoverOutAll();ThumbnailOpen(G.GOM.items[G.GOM.slider.currentIdx].thumbnailIdx,true);return;}
if((G.GOM.curNavLevel=='l1'&&G.O.touchAnimationL1==false)||(G.GOM.curNavLevel=='lN'&&G.O.touchAnimation==false)){ThumbnailOpen(G.GOM.items[r.GOMidx].thumbnailIdx,true);return;}
if(G.O.touchAutoOpenDelay>0){ThumbnailHoverOutAll();ThumbnailHover(r.GOMidx);window.clearInterval(G.touchAutoOpenDelayTimerID);G.touchAutoOpenDelayTimerID=window.setInterval(function(){window.clearInterval(G.touchAutoOpenDelayTimerID);ThumbnailOpen(G.GOM.items[r.GOMidx].thumbnailIdx,true);},G.O.touchAutoOpenDelay);}
else{if(!G.I[G.GOM.items[r.GOMidx].thumbnailIdx].hovered){ThumbnailHoverOutAll();ThumbnailHover(r.GOMidx);}
else{ThumbnailOpen(G.GOM.items[r.GOMidx].thumbnailIdx,true);}}}}});if(G.O.locationHash){jQuery(window).on('hashchange.nanogallery2.'+G.baseEltID,function(){ProcessLocationHash();});}}
jQuery(window).on('resize.nanogallery2.'+G.baseEltID+' orientationChange.nanogallery2.'+G.baseEltID,debounce(ResizeWindowEvent,G.O.eventsDebounceDelay,false));jQuery(window).on('scroll.nanogallery2.'+G.baseEltID,debounce(OnScrollEvent,G.O.eventsDebounceDelay,false));if(!G.O.lightboxStandalone){G.$E.scrollableParent=getScrollableParent(G.$E.base[0]);var sp=getScrollableParent(G.$E.base[0]);if(sp!==null){G.$E.scrollableParent=jQuery(sp);G.$E.scrollableParent.on('scroll.nanogallery2.'+G.baseEltID,debounce(OnScrollEvent,G.O.eventsDebounceDelay,false));}}
G.VOM.toolsHide=debounce(ViewerToolsHide,G.O.viewerHideToolsDelay,false);jQuery(document).keyup(function(e){if(G.popup.isDisplayed){switch(e.keyCode){case 27:G.popup.close();break;}}
else{if(G.VOM.viewerDisplayed){ViewerToolsUnHide();switch(e.keyCode){case 27:case 40:case 38:LightboxClose();break;case 32:case 13:SlideshowToggle();break;case 39:case 33:DisplayNextMedia();break;case 37:case 34:DisplayPreviousMedia();break;case 35:case 36:}}}});jQuery(window).bind('mousewheel wheel',function(e){if(G.VOM.viewerDisplayed&&G.VOM.content.current.NGY2Item().mediaKind=='img'){var deltaY=0;e.preventDefault();if(ViewerZoomStart()){if(e.originalEvent.deltaY){deltaY=e.originalEvent.deltaY;}else if(e.originalEvent.wheelDelta){deltaY=-e.originalEvent.wheelDelta;}
ViewerZoomIn(deltaY<=0?true:false);}}});jQuery(window).bind('mousemove',function(e){if(G.VOM.viewerDisplayed){if(G.VOM.toolbarsDisplayed==false){G.VOM.singletapTime=new Date().getTime();debounce(ViewerToolsUnHide,100,false)();}}});if(ngscreenfull.enabled){ngscreenfull.onchange(function(){if(G.VOM.viewerDisplayed){if(ngscreenfull.isFullscreen){G.VOM.viewerIsFullscreen=true;G.VOM.$viewer.find('.fullscreenButton').html(G.O.icons.viewerFullscreenOff);}
else{G.VOM.viewerIsFullscreen=false;G.VOM.$viewer.find('.fullscreenButton').html(G.O.icons.viewerFullscreenOn);}}});}}
function ProcessLocationHash(){if(!G.O.locationHash){return false;}
var curGal='#nanogallery/'+G.baseEltID+'/',newLocationHash=location.hash;if(G.O.debugMode){console.log('------------------------ PROCESS LOCATION HASH');console.log('newLocationHash1: '+newLocationHash);console.log('G.locationHashLastUsed: '+G.locationHashLastUsed);}
if(newLocationHash==''){if(G.locationHashLastUsed!==''){if(G.O.debugMode){console.log('display root album');}
G.locationHashLastUsed='';if(G.O.debugMode){console.log('new3 G.locationHashLastUsed: '+G.locationHashLastUsed);}
DisplayAlbum('','0');return true;}}
if(newLocationHash==G.locationHashLastUsed){return;}
if(newLocationHash.indexOf(curGal)==0){var IDs=parseIDs(newLocationHash.substring(curGal.length));if(IDs.imageID!='0'){if(G.O.debugMode){console.log('display image: '+IDs.albumID+'-'+IDs.imageID);}
DisplayPhoto(IDs.imageID,IDs.albumID);return true;}
else{if(G.O.debugMode){console.log('display album: '+IDs.albumID);}
DisplayAlbum('-1',IDs.albumID);return true;}}
return false;}
function SetLocationHash(albumID,imageID){if(!G.O.locationHash||G.O.lightboxStandalone){return false;}
if(G.O.debugMode){console.log('------------------------ SET LOCATION HASH');}
if(imageID==''&&(albumID=='-1'||albumID=='0'||G.O.album==albumID)){if(location.hash!=''){if("pushState" in history){history.pushState("",document.title,window.location.pathname+window.location.search);}
else{location.hash='';}}
G.locationHashLastUsed='';if(G.O.debugMode){console.log('new2 G.locationHashLastUsed: '+G.locationHashLastUsed);}
return;}
var newLocationHash='#'+'nanogallery/'+G.baseEltID+'/'+albumID;if(imageID!=''){newLocationHash+='/'+imageID;}
var lH=location.hash;if(G.O.debugMode){console.log('newLocationHash2: '+newLocationHash);console.log('location.hash: '+lH);}
G.locationHashLastUsed=newLocationHash;if(G.O.debugMode){console.log('new G.locationHashLastUsed: '+G.locationHashLastUsed);}
if(lH==''||lH!=newLocationHash){try{top.location.hash=newLocationHash;}
catch(e){G.O.locationHash=false;}}}
function ResizeWindowEvent(){CacheViewport();var l=G.GOM.curNavLevel;var w=G.GOM.curWidth;if(G.VOM.viewerDisplayed){ResizeLightbox();G.VOM.gallery.Resize();}
else{if(G.galleryResizeEventEnabled){var nw=RetrieveCurWidth();if(G.GOM.albumIdx!=-1){var s=G.tn.settings;if(G.layout.engine=="MOSAIC"){if(JSON.stringify(s.mosaic[l][w])!==JSON.stringify(s.mosaic[l][nw])){G.GOM.curWidth=nw;G.GOM.pagination.currentPage=0;GalleryRender(G.GOM.albumIdx);return;}}
else{if(s.height[l][w]!=s.height[l][nw]||s.width[l][w]!=s.width[l][nw]||s.gutterHeight[l][w]!=s.gutterHeight[l][nw]||s.gutterWidth[l][w]!=s.gutterWidth[l][nw]){G.GOM.curWidth=nw;G.GOM.pagination.currentPage=0;GalleryRender(G.GOM.albumIdx);return;}}}
GalleryResize();}}}
function OnScrollEvent(){if(!G.VOM.viewerDisplayed){GalleryResizeOnScrollEvent();}}
function GalleryResizeOnScrollEvent(){if(G.galleryResizeEventEnabled==false){window.setTimeout(GalleryResizeOnScrollEvent,10);}else{GalleryResize();}}
function i18n(){G.i18nLang=(navigator.language||navigator.userLanguage).toUpperCase();if(G.i18nLang==='UNDEFINED'){G.i18nLang='';}
var llang=-('_'+G.i18nLang).length;if(toType(G.O.i18n)=='object'){for(var key in G.O.i18n){var s=key.substr(llang);if(s==('_'+G.i18nLang)){G.i18nTranslations[key.substr(0,key.length-s.length)]=G.O.i18n[key];}
else{G.i18nTranslations[key]=G.O.i18n[key];}}}}
function GetI18nItem(item,property){var s='';if(G.i18nLang!=''){if(item[property+'_'+G.i18nLang]!==undefined&&item[property+'_'+G.i18nLang].length>0){s=item[property+'_'+G.i18nLang];return s;}}
s=item[property];return s;}
function RetrieveCurWidth(){var vpW=G.GOM.cache.viewport.w;if(G.O.breakpointSizeSM>0&&vpW<G.O.breakpointSizeSM){return'xs';}
if(G.O.breakpointSizeME>0&&vpW<G.O.breakpointSizeME){return'sm';}
if(G.O.breakpointSizeLA>0&&vpW<G.O.breakpointSizeLA){return'me';}
if(G.O.breakpointSizeXL>0&&vpW<G.O.breakpointSizeXL){return'la';}
return'xl';}
function browserNotification(){var m='Your browser version is not supported anymore. The image gallery cannot be displayed. <br><br>Please update to a more recent one. Download:<br>';m+='&nbsp;&nbsp;&nbsp; <a href="http://www.google.com/chrome/?hl=en-US)">Chrome</a><br>';m+='&nbsp;&nbsp;&nbsp; <a href="http://www.mozilla.com/firefox/)">Firefox</a><br>';m+='&nbsp;&nbsp;&nbsp; <a href="http://www.microsoft.com/windows/internet-explorer/default.aspx">Internet Explorer</a><br>';m+='&nbsp;&nbsp;&nbsp; <a href="http://www.apple.com/safari/download/">Safari</a>';NanoAlert(G,m,false);}
function FirstSupportedPropertyName(prefixedPropertyNames){var tempDiv=document.createElement("div");for(var i=0;i<prefixedPropertyNames.length;++i){if(typeof tempDiv.style[prefixedPropertyNames[i]]!='undefined')
return prefixedPropertyNames[i];}
return null;}}
(function(global,factory){global.ngEvEmitter=factory();}(typeof window!='undefined'?window:this,function(){function ngEvEmitter(){}
var proto=ngEvEmitter.prototype;proto.on=function(eventName,listener){if(!eventName||!listener){return;}
var events=this._events=this._events||{};var listeners=events[eventName]=events[eventName]||[];if(listeners.indexOf(listener)==-1){listeners.push(listener);}
return this;};proto.once=function(eventName,listener){if(!eventName||!listener){return;}
this.on(eventName,listener);var onceEvents=this._onceEvents=this._onceEvents||{};var onceListeners=onceEvents[eventName]=onceEvents[eventName]||{};onceListeners[listener]=true;return this;};proto.off=function(eventName,listener){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return;}
var index=listeners.indexOf(listener);if(index!=-1){listeners.splice(index,1);}
return this;};proto.emitEvent=function(eventName,args){var listeners=this._events&&this._events[eventName];if(!listeners||!listeners.length){return;}
var i=0;var listener=listeners[i];args=args||[];var onceListeners=this._onceEvents&&this._onceEvents[eventName];while(listener){var isOnce=onceListeners&&onceListeners[listener];if(isOnce){this.off(eventName,listener);delete onceListeners[listener];}
listener.apply(this,args);i+=isOnce?0:1;listener=listeners[i];}
return this;};return ngEvEmitter;}));(function(window,factory){'use strict';window.ngimagesLoaded=factory(window,window.ngEvEmitter);})(window,function factory(window,ngEvEmitter){var $=jQuery;var console=window.console;function extend(a,b){for(var prop in b){a[prop]=b[prop];}
return a;}
function makeArray(obj){var ary=[];if(Array.isArray(obj)){ary=obj;}else if(typeof obj.length=='number'){for(var i=0;i<obj.length;i++){ary.push(obj[i]);}}else{ary.push(obj);}
return ary;}
function ngImagesLoaded(elem,options,onAlways){if(!(this instanceof ngImagesLoaded)){return new ngImagesLoaded(elem,options,onAlways);}
if(typeof elem=='string'){elem=document.querySelectorAll(elem);}
this.elements=makeArray(elem);this.options=extend({},this.options);if(typeof options=='function'){onAlways=options;}else{extend(this.options,options);}
if(onAlways){this.on('always',onAlways);}
this.getImages();if($){this.jqDeferred=new $.Deferred();}
setTimeout(function(){this.check();}.bind(this));}
ngImagesLoaded.prototype=Object.create(ngEvEmitter.prototype);ngImagesLoaded.prototype.options={};ngImagesLoaded.prototype.getImages=function(){this.images=[];this.elements.forEach(this.addElementImages,this);};ngImagesLoaded.prototype.addElementImages=function(elem){if(elem.nodeName=='IMG'){this.addImage(elem);}
if(this.options.background===true){this.addElementBackgroundImages(elem);}
var nodeType=elem.nodeType;if(!nodeType||!elementNodeTypes[nodeType]){return;}
var childImgs=elem.querySelectorAll('img');for(var i=0;i<childImgs.length;i++){var img=childImgs[i];this.addImage(img);}
if(typeof this.options.background=='string'){var children=elem.querySelectorAll(this.options.background);for(i=0;i<children.length;i++){var child=children[i];this.addElementBackgroundImages(child);}}};var elementNodeTypes={1:true,9:true,11:true};ngImagesLoaded.prototype.addElementBackgroundImages=function(elem){var style=getComputedStyle(elem);if(!style){return;}
var reURL=/url\((['"])?(.*?)\1\)/gi;var matches=reURL.exec(style.backgroundImage);while(matches!==null){var url=matches&&matches[2];if(url){this.addBackground(url,elem);}
matches=reURL.exec(style.backgroundImage);}};ngImagesLoaded.prototype.addImage=function(img){var loadingImage=new LoadingImage(img);this.images.push(loadingImage);};ngImagesLoaded.prototype.addBackground=function(url,elem){var background=new Background(url,elem);this.images.push(background);};ngImagesLoaded.prototype.check=function(){var _this=this;this.progressedCount=0;this.hasAnyBroken=false;if(!this.images.length){this.complete();return;}
function onProgress(image,elem,message){setTimeout(function(){_this.progress(image,elem,message);});}
this.images.forEach(function(loadingImage){loadingImage.once('progress',onProgress);loadingImage.check();});};ngImagesLoaded.prototype.progress=function(image,elem,message){this.progressedCount++;this.hasAnyBroken=this.hasAnyBroken||!image.isLoaded;this.emitEvent('progress',[this,image,elem]);if(this.jqDeferred&&this.jqDeferred.notify){this.jqDeferred.notify(this,image);}
if(this.progressedCount==this.images.length){this.complete();}
if(this.options.debug&&console){console.log('progress: '+message,image,elem);}};ngImagesLoaded.prototype.complete=function(){var eventName=this.hasAnyBroken?'fail':'done';this.isComplete=true;this.emitEvent(eventName,[this]);this.emitEvent('always',[this]);if(this.jqDeferred){var jqMethod=this.hasAnyBroken?'reject':'resolve';this.jqDeferred[jqMethod](this);}};function LoadingImage(img){this.img=img;}
LoadingImage.prototype=Object.create(ngEvEmitter.prototype);LoadingImage.prototype.check=function(){var isComplete=this.getIsImageComplete();if(isComplete){this.confirm(this.img.naturalWidth!==0,'naturalWidth');return;}
this.proxyImage=new Image();this.proxyImage.addEventListener('load',this);this.proxyImage.addEventListener('error',this);this.img.addEventListener('load',this);this.img.addEventListener('error',this);this.proxyImage.src=this.img.src;};LoadingImage.prototype.getIsImageComplete=function(){return this.img.complete&&this.img.naturalWidth!==undefined;};LoadingImage.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emitEvent('progress',[this,this.img,message]);};LoadingImage.prototype.handleEvent=function(event){var method='on'+event.type;if(this[method]){this[method](event);}};LoadingImage.prototype.onload=function(){this.confirm(true,'onload');this.unbindEvents();};LoadingImage.prototype.onerror=function(){this.confirm(false,'onerror');this.unbindEvents();};LoadingImage.prototype.unbindEvents=function(){this.proxyImage.removeEventListener('load',this);this.proxyImage.removeEventListener('error',this);this.img.removeEventListener('load',this);this.img.removeEventListener('error',this);};function Background(url,element){this.url=url;this.element=element;this.img=new Image();}
Background.prototype=Object.create(LoadingImage.prototype);Background.prototype.check=function(){this.img.addEventListener('load',this);this.img.addEventListener('error',this);this.img.src=this.url;var isComplete=this.getIsImageComplete();if(isComplete){this.confirm(this.img.naturalWidth!==0,'naturalWidth');this.unbindEvents();}};Background.prototype.unbindEvents=function(){this.img.removeEventListener('load',this);this.img.removeEventListener('error',this);};Background.prototype.confirm=function(isLoaded,message){this.isLoaded=isLoaded;this.emitEvent('progress',[this,this.element,message]);};ngImagesLoaded.makeJQueryPlugin=function(jQuery){jQuery=jQuery||window.jQuery;if(!jQuery){return;}
$=jQuery;$.fn.ngimagesLoaded=function(options,callback){var instance=new ngImagesLoaded(this,options,callback);return instance.jqDeferred.promise($(this));};};ngImagesLoaded.makeJQueryPlugin();return ngImagesLoaded;});(function(){'use strict';var document=typeof window!=='undefined'&&typeof window.document!=='undefined'?window.document:{};var isCommonjs=typeof module!=='undefined'&&module.exports;var keyboardAllowed=typeof Element!=='undefined'&&'ALLOW_KEYBOARD_INPUT' in Element;var fn=(function(){var val;var fnMap=[['requestFullscreen','exitFullscreen','fullscreenElement','fullscreenEnabled','fullscreenchange','fullscreenerror'],['webkitRequestFullscreen','webkitExitFullscreen','webkitFullscreenElement','webkitFullscreenEnabled','webkitfullscreenchange','webkitfullscreenerror'],['webkitRequestFullScreen','webkitCancelFullScreen','webkitCurrentFullScreenElement','webkitCancelFullScreen','webkitfullscreenchange','webkitfullscreenerror'],['mozRequestFullScreen','mozCancelFullScreen','mozFullScreenElement','mozFullScreenEnabled','mozfullscreenchange','mozfullscreenerror'],['msRequestFullscreen','msExitFullscreen','msFullscreenElement','msFullscreenEnabled','MSFullscreenChange','MSFullscreenError']];var i=0;var l=fnMap.length;var ret={};for(;i<l;i++){val=fnMap[i];if(val&&val[1]in document){for(i=0;i<val.length;i++){ret[fnMap[0][i]]=val[i];}
return ret;}}
return false;})();var eventNameMap={change:fn.fullscreenchange,error:fn.fullscreenerror};var ngscreenfull={request:function(elem){return new Promise(function(resolve){var request=fn.requestFullscreen;var onFullScreenEntered=function(){this.off('change',onFullScreenEntered);resolve();}.bind(this);elem=elem||document.documentElement;if(/ Version\/5\.1(?:\.\d+)? Safari\//.test(navigator.userAgent)){elem[request]();}else{elem[request](keyboardAllowed?Element.ALLOW_KEYBOARD_INPUT:{});}
this.on('change',onFullScreenEntered);}.bind(this));},exit:function(){return new Promise(function(resolve){if(!this.isFullscreen){resolve();return;}
var onFullScreenExit=function(){this.off('change',onFullScreenExit);resolve();}.bind(this);document[fn.exitFullscreen]();this.on('change',onFullScreenExit);}.bind(this));},toggle:function(elem){return this.isFullscreen?this.exit():this.request(elem);},onchange:function(callback){this.on('change',callback);},onerror:function(callback){this.on('error',callback);},on:function(event,callback){var eventName=eventNameMap[event];if(eventName){document.addEventListener(eventName,callback,false);}},off:function(event,callback){var eventName=eventNameMap[event];if(eventName){document.removeEventListener(eventName,callback,false);}},raw:fn};if(!fn){if(isCommonjs){module.exports=false;}else{window.ngscreenfull=false;}
return;}
Object.defineProperties(ngscreenfull,{isFullscreen:{get:function(){return Boolean(document[fn.fullscreenElement]);}},element:{enumerable:true,get:function(){return document[fn.fullscreenElement];}},enabled:{enumerable:true,get:function(){return Boolean(document[fn.fullscreenEnabled]);}}});if(isCommonjs){module.exports=ngscreenfull;}else{window.ngscreenfull=ngscreenfull;}})();;(function(){const root=typeof window!=='undefined'?window:global
var NGTweenable=(function(){'use strict';var formula;var DEFAULT_SCHEDULE_FUNCTION;var DEFAULT_EASING='linear';var DEFAULT_DURATION=500;var UPDATE_TIME=1000/60;var _now=Date.now?Date.now:function(){return+new Date();};var now=typeof SHIFTY_DEBUG_NOW!=='undefined'?SHIFTY_DEBUG_NOW:_now;if(typeof window!=='undefined'){DEFAULT_SCHEDULE_FUNCTION=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||(window.mozCancelRequestAnimationFrame&&window.mozRequestAnimationFrame)||setTimeout;}else{DEFAULT_SCHEDULE_FUNCTION=setTimeout;}
function noop(){}
function each(obj,fn){var key;for(key in obj){if(Object.hasOwnProperty.call(obj,key)){fn(key);}}}
function shallowCopy(targetObj,srcObj){each(srcObj,function(prop){targetObj[prop]=srcObj[prop];});return targetObj;}
function defaults(target,src){each(src,function(prop){if(typeof target[prop]==='undefined'){target[prop]=src[prop];}});}
function tweenProps(forPosition,currentState,originalState,targetState,duration,timestamp,easing){var normalizedPosition=forPosition<timestamp?0:(forPosition-timestamp)/duration;var prop;var easingObjectProp;var easingFn;for(prop in currentState){if(currentState.hasOwnProperty(prop)){easingObjectProp=easing[prop];easingFn=typeof easingObjectProp==='function'?easingObjectProp:formula[easingObjectProp];currentState[prop]=tweenProp(originalState[prop],targetState[prop],easingFn,normalizedPosition);}}
return currentState;}
function tweenProp(start,end,easingFunc,position){return start+(end-start)*easingFunc(position);}
function applyFilter(tweenable,filterName){var filters=NGTweenable.prototype.filter;var args=tweenable._filterArgs;each(filters,function(name){if(typeof filters[name][filterName]!=='undefined'){filters[name][filterName].apply(tweenable,args);}});}
var timeoutHandler_endTime;var timeoutHandler_currentTime;var timeoutHandler_isEnded;var timeoutHandler_offset;function timeoutHandler(tweenable,timestamp,delay,duration,currentState,originalState,targetState,easing,step,schedule,opt_currentTimeOverride){timeoutHandler_endTime=timestamp+delay+duration;timeoutHandler_currentTime=Math.min(opt_currentTimeOverride||now(),timeoutHandler_endTime);timeoutHandler_isEnded=timeoutHandler_currentTime>=timeoutHandler_endTime;timeoutHandler_offset=duration-(timeoutHandler_endTime-timeoutHandler_currentTime);if(tweenable.isPlaying()){if(timeoutHandler_isEnded){step(targetState,tweenable._attachment,timeoutHandler_offset);tweenable.stop(true);}else{tweenable._scheduleId=schedule(tweenable._timeoutHandler,UPDATE_TIME);applyFilter(tweenable,'beforeTween');if(timeoutHandler_currentTime<(timestamp+delay)){tweenProps(1,currentState,originalState,targetState,1,1,easing);}else{tweenProps(timeoutHandler_currentTime,currentState,originalState,targetState,duration,timestamp+delay,easing);}
applyFilter(tweenable,'afterTween');step(currentState,tweenable._attachment,timeoutHandler_offset);}}}
function composeEasingObject(fromTweenParams,easing){var composedEasing={};var typeofEasing=typeof easing;if(typeofEasing==='string'||typeofEasing==='function'){each(fromTweenParams,function(prop){composedEasing[prop]=easing;});}else{each(fromTweenParams,function(prop){if(!composedEasing[prop]){composedEasing[prop]=easing[prop]||DEFAULT_EASING;}});}
return composedEasing;}
function NGTweenable(opt_initialState,opt_config){this._currentState=opt_initialState||{};this._configured=false;this._scheduleFunction=DEFAULT_SCHEDULE_FUNCTION;if(typeof opt_config!=='undefined'){this.setConfig(opt_config);}}
NGTweenable.prototype.tween=function(opt_config){if(this._isTweening){return this;}
if(opt_config!==undefined||!this._configured){this.setConfig(opt_config);}
this._timestamp=now();this._start(this.get(),this._attachment);return this.resume();};NGTweenable.prototype.setConfig=function(config){config=config||{};this._configured=true;this._attachment=config.attachment;this._pausedAtTime=null;this._scheduleId=null;this._delay=config.delay||0;this._start=config.start||noop;this._step=config.step||noop;this._finish=config.finish||noop;this._duration=config.duration||DEFAULT_DURATION;this._currentState=shallowCopy({},config.from||this.get());this._originalState=this.get();this._targetState=shallowCopy({},config.to||this.get());var self=this;this._timeoutHandler=function(){timeoutHandler(self,self._timestamp,self._delay,self._duration,self._currentState,self._originalState,self._targetState,self._easing,self._step,self._scheduleFunction);};var currentState=this._currentState;var targetState=this._targetState;defaults(targetState,currentState);this._easing=composeEasingObject(currentState,config.easing||DEFAULT_EASING);this._filterArgs=[currentState,this._originalState,targetState,this._easing];applyFilter(this,'tweenCreated');return this;};NGTweenable.prototype.get=function(){return shallowCopy({},this._currentState);};NGTweenable.prototype.set=function(state){this._currentState=state;};NGTweenable.prototype.pause=function(){this._pausedAtTime=now();this._isPaused=true;return this;};NGTweenable.prototype.resume=function(){if(this._isPaused){this._timestamp+=now()-this._pausedAtTime;}
this._isPaused=false;this._isTweening=true;this._timeoutHandler();return this;};NGTweenable.prototype.seek=function(millisecond){millisecond=Math.max(millisecond,0);var currentTime=now();if((this._timestamp+millisecond)===0){return this;}
this._timestamp=currentTime-millisecond;if(!this.isPlaying()){this._isTweening=true;this._isPaused=false;timeoutHandler(this,this._timestamp,this._delay,this._duration,this._currentState,this._originalState,this._targetState,this._easing,this._step,this._scheduleFunction,currentTime);this.pause();}
return this;};NGTweenable.prototype.stop=function(gotoEnd){this._isTweening=false;this._isPaused=false;this._timeoutHandler=noop;(root.cancelAnimationFrame||root.webkitCancelAnimationFrame||root.oCancelAnimationFrame||root.msCancelAnimationFrame||root.mozCancelRequestAnimationFrame||root.clearTimeout)(this._scheduleId);if(gotoEnd){applyFilter(this,'beforeTween');tweenProps(1,this._currentState,this._originalState,this._targetState,1,0,this._easing);applyFilter(this,'afterTween');applyFilter(this,'afterTweenEnd');this._finish.call(this,this._currentState,this._attachment);}
return this;};NGTweenable.prototype.isPlaying=function(){return this._isTweening&&!this._isPaused;};NGTweenable.prototype.setScheduleFunction=function(scheduleFunction){this._scheduleFunction=scheduleFunction;};NGTweenable.prototype.dispose=function(){var prop;for(prop in this){if(this.hasOwnProperty(prop)){delete this[prop];}}};NGTweenable.prototype.filter={};NGTweenable.prototype.formula={linear:function(pos){return pos;}};formula=NGTweenable.prototype.formula;shallowCopy(NGTweenable,{'now':now,'each':each,'tweenProps':tweenProps,'tweenProp':tweenProp,'applyFilter':applyFilter,'shallowCopy':shallowCopy,'defaults':defaults,'composeEasingObject':composeEasingObject});if(typeof SHIFTY_DEBUG_NOW==='function'){root.timeoutHandler=timeoutHandler;}
if(typeof exports==='object'){module.exports=NGTweenable;}else if(typeof define==='function'&&define.amdDISABLED){define(function(){return NGTweenable;});}else if(typeof root.NGTweenable==='undefined'){root.NGTweenable=NGTweenable;}
return NGTweenable;}());;(function(){NGTweenable.shallowCopy(NGTweenable.prototype.formula,{easeInQuad:function(pos){return Math.pow(pos,2);},easeOutQuad:function(pos){return-(Math.pow((pos-1),2)-1);},easeInOutQuad:function(pos){if((pos/=0.5)<1){return 0.5*Math.pow(pos,2);}
return-0.5*((pos-=2)*pos-2);},easeInCubic:function(pos){return Math.pow(pos,3);},easeOutCubic:function(pos){return(Math.pow((pos-1),3)+1);},easeInOutCubic:function(pos){if((pos/=0.5)<1){return 0.5*Math.pow(pos,3);}
return 0.5*(Math.pow((pos-2),3)+2);},easeInQuart:function(pos){return Math.pow(pos,4);},easeOutQuart:function(pos){return-(Math.pow((pos-1),4)-1);},easeInOutQuart:function(pos){if((pos/=0.5)<1){return 0.5*Math.pow(pos,4);}
return-0.5*((pos-=2)*Math.pow(pos,3)-2);},easeInQuint:function(pos){return Math.pow(pos,5);},easeOutQuint:function(pos){return(Math.pow((pos-1),5)+1);},easeInOutQuint:function(pos){if((pos/=0.5)<1){return 0.5*Math.pow(pos,5);}
return 0.5*(Math.pow((pos-2),5)+2);},easeInSine:function(pos){return-Math.cos(pos*(Math.PI/2))+1;},easeOutSine:function(pos){return Math.sin(pos*(Math.PI/2));},easeInOutSine:function(pos){return(-0.5*(Math.cos(Math.PI*pos)-1));},easeInExpo:function(pos){return(pos===0)?0:Math.pow(2,10*(pos-1));},easeOutExpo:function(pos){return(pos===1)?1:-Math.pow(2,-10*pos)+1;},easeInOutExpo:function(pos){if(pos===0){return 0;}
if(pos===1){return 1;}
if((pos/=0.5)<1){return 0.5*Math.pow(2,10*(pos-1));}
return 0.5*(-Math.pow(2,-10* --pos)+2);},easeInCirc:function(pos){return-(Math.sqrt(1-(pos*pos))-1);},easeOutCirc:function(pos){return Math.sqrt(1-Math.pow((pos-1),2));},easeInOutCirc:function(pos){if((pos/=0.5)<1){return-0.5*(Math.sqrt(1-pos*pos)-1);}
return 0.5*(Math.sqrt(1-(pos-=2)*pos)+1);},easeOutBounce:function(pos){if((pos)<(1/2.75)){return(7.5625*pos*pos);}else if(pos<(2/2.75)){return(7.5625*(pos-=(1.5/2.75))*pos+0.75);}else if(pos<(2.5/2.75)){return(7.5625*(pos-=(2.25/2.75))*pos+0.9375);}else{return(7.5625*(pos-=(2.625/2.75))*pos+0.984375);}},easeInBack:function(pos){var s=1.70158;return(pos)*pos*((s+1)*pos-s);},easeOutBack:function(pos){var s=1.70158;return(pos=pos-1)*pos*((s+1)*pos+s)+1;},easeInOutBack:function(pos){var s=1.70158;if((pos/=0.5)<1){return 0.5*(pos*pos*(((s*=(1.525))+1)*pos-s));}
return 0.5*((pos-=2)*pos*(((s*=(1.525))+1)*pos+s)+2);},elastic:function(pos){return-1*Math.pow(4,-8*pos)*Math.sin((pos*6-1)*(2*Math.PI)/2)+1;},swingFromTo:function(pos){var s=1.70158;return((pos/=0.5)<1)?0.5*(pos*pos*(((s*=(1.525))+1)*pos-s)):0.5*((pos-=2)*pos*(((s*=(1.525))+1)*pos+s)+2);},swingFrom:function(pos){var s=1.70158;return pos*pos*((s+1)*pos-s);},swingTo:function(pos){var s=1.70158;return(pos-=1)*pos*((s+1)*pos+s)+1;},bounce:function(pos){if(pos<(1/2.75)){return(7.5625*pos*pos);}else if(pos<(2/2.75)){return(7.5625*(pos-=(1.5/2.75))*pos+0.75);}else if(pos<(2.5/2.75)){return(7.5625*(pos-=(2.25/2.75))*pos+0.9375);}else{return(7.5625*(pos-=(2.625/2.75))*pos+0.984375);}},bouncePast:function(pos){if(pos<(1/2.75)){return(7.5625*pos*pos);}else if(pos<(2/2.75)){return 2-(7.5625*(pos-=(1.5/2.75))*pos+0.75);}else if(pos<(2.5/2.75)){return 2-(7.5625*(pos-=(2.25/2.75))*pos+0.9375);}else{return 2-(7.5625*(pos-=(2.625/2.75))*pos+0.984375);}},easeFromTo:function(pos){if((pos/=0.5)<1){return 0.5*Math.pow(pos,4);}
return-0.5*((pos-=2)*Math.pow(pos,3)-2);},easeFrom:function(pos){return Math.pow(pos,4);},easeTo:function(pos){return Math.pow(pos,0.25);}});}());;(function(){function cubicBezierAtTime(t,p1x,p1y,p2x,p2y,duration){var ax=0,bx=0,cx=0,ay=0,by=0,cy=0;function sampleCurveX(t){return((ax*t+bx)*t+cx)*t;}
function sampleCurveY(t){return((ay*t+by)*t+cy)*t;}
function sampleCurveDerivativeX(t){return(3.0*ax*t+2.0*bx)*t+cx;}
function solveEpsilon(duration){return 1.0/(200.0*duration);}
function solve(x,epsilon){return sampleCurveY(solveCurveX(x,epsilon));}
function fabs(n){if(n>=0){return n;}else{return 0-n;}}
function solveCurveX(x,epsilon){var t0,t1,t2,x2,d2,i;for(t2=x,i=0;i<8;i++){x2=sampleCurveX(t2)-x;if(fabs(x2)<epsilon){return t2;}
d2=sampleCurveDerivativeX(t2);if(fabs(d2)<1e-6){break;}
t2=t2-x2/d2;}
t0=0.0;t1=1.0;t2=x;if(t2<t0){return t0;}
if(t2>t1){return t1;}
while(t0<t1){x2=sampleCurveX(t2);if(fabs(x2-x)<epsilon){return t2;}
if(x>x2){t0=t2;}else{t1=t2;}
t2=(t1-t0)*0.5+t0;}
return t2;}
cx=3.0*p1x;bx=3.0*(p2x-p1x)-cx;ax=1.0-cx-bx;cy=3.0*p1y;by=3.0*(p2y-p1y)-cy;ay=1.0-cy-by;return solve(t,solveEpsilon(duration));}
function getCubicBezierTransition(x1,y1,x2,y2){return function(pos){return cubicBezierAtTime(pos,x1,y1,x2,y2,1);};}
NGTweenable.setBezierFunction=function(name,x1,y1,x2,y2){var cubicBezierTransition=getCubicBezierTransition(x1,y1,x2,y2);cubicBezierTransition.displayName=name;cubicBezierTransition.x1=x1;cubicBezierTransition.y1=y1;cubicBezierTransition.x2=x2;cubicBezierTransition.y2=y2;return NGTweenable.prototype.formula[name]=cubicBezierTransition;};NGTweenable.unsetBezierFunction=function(name){delete NGTweenable.prototype.formula[name];};})();;(function(){function getInterpolatedValues(from,current,targetState,position,easing,delay){return NGTweenable.tweenProps(position,current,from,targetState,1,delay,easing);}
var mockNGTweenable=new NGTweenable();mockNGTweenable._filterArgs=[];NGTweenable.interpolate=function(from,targetState,position,easing,opt_delay){var current=NGTweenable.shallowCopy({},from);var delay=opt_delay||0;var easingObject=NGTweenable.composeEasingObject(from,easing||'linear');mockNGTweenable.set({});var filterArgs=mockNGTweenable._filterArgs;filterArgs.length=0;filterArgs[0]=current;filterArgs[1]=from;filterArgs[2]=targetState;filterArgs[3]=easingObject;NGTweenable.applyFilter(mockNGTweenable,'tweenCreated');NGTweenable.applyFilter(mockNGTweenable,'beforeTween');var interpolatedValues=getInterpolatedValues(from,current,targetState,position,easingObject,delay);NGTweenable.applyFilter(mockNGTweenable,'afterTween');return interpolatedValues;};}());;(function(NGTweenable){var formatManifest;var R_NUMBER_COMPONENT=/(\d|\-|\.)/;var R_FORMAT_CHUNKS=/([^\-0-9\.]+)/g;var R_UNFORMATTED_VALUES=/[0-9.\-]+/g;var R_RGB=new RegExp('rgb\\('+R_UNFORMATTED_VALUES.source+
(/,\s*/.source)+R_UNFORMATTED_VALUES.source+
(/,\s*/.source)+R_UNFORMATTED_VALUES.source+'\\)','g');var R_RGB_PREFIX=/^.*\(/;var R_HEX=/#([0-9]|[a-f]){3,6}/gi;var VALUE_PLACEHOLDER='VAL';function getFormatChunksFrom(rawValues,prefix){var accumulator=[];var rawValuesLength=rawValues.length;var i;for(i=0;i<rawValuesLength;i++){accumulator.push('_'+prefix+'_'+i);}
return accumulator;}
function getFormatStringFrom(formattedString){var chunks=formattedString.match(R_FORMAT_CHUNKS);if(!chunks){chunks=['',''];}else if(chunks.length===1||formattedString.charAt(0).match(R_NUMBER_COMPONENT)){chunks.unshift('');}
return chunks.join(VALUE_PLACEHOLDER);}
function sanitizeObjectForHexProps(stateObject){NGTweenable.each(stateObject,function(prop){var currentProp=stateObject[prop];if(typeof currentProp==='string'&&currentProp.match(R_HEX)){stateObject[prop]=sanitizeHexChunksToRGB(currentProp);}});}
function sanitizeHexChunksToRGB(str){return filterStringChunks(R_HEX,str,convertHexToRGB);}
function convertHexToRGB(hexString){var rgbArr=hexToRGBArray(hexString);return'rgb('+rgbArr[0]+','+rgbArr[1]+','+rgbArr[2]+')';}
var hexToRGBArray_returnArray=[];function hexToRGBArray(hex){hex=hex.replace(/#/,'');if(hex.length===3){hex=hex.split('');hex=hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];}
hexToRGBArray_returnArray[0]=hexToDec(hex.substr(0,2));hexToRGBArray_returnArray[1]=hexToDec(hex.substr(2,2));hexToRGBArray_returnArray[2]=hexToDec(hex.substr(4,2));return hexToRGBArray_returnArray;}
function hexToDec(hex){return parseInt(hex,16);}
function filterStringChunks(pattern,unfilteredString,filter){var pattenMatches=unfilteredString.match(pattern);var filteredString=unfilteredString.replace(pattern,VALUE_PLACEHOLDER);if(pattenMatches){var pattenMatchesLength=pattenMatches.length;var currentChunk;for(var i=0;i<pattenMatchesLength;i++){currentChunk=pattenMatches.shift();filteredString=filteredString.replace(VALUE_PLACEHOLDER,filter(currentChunk));}}
return filteredString;}
function sanitizeRGBChunks(formattedString){return filterStringChunks(R_RGB,formattedString,sanitizeRGBChunk);}
function sanitizeRGBChunk(rgbChunk){var numbers=rgbChunk.match(R_UNFORMATTED_VALUES);var numbersLength=numbers.length;var sanitizedString=rgbChunk.match(R_RGB_PREFIX)[0];for(var i=0;i<numbersLength;i++){sanitizedString+=parseInt(numbers[i],10)+',';}
sanitizedString=sanitizedString.slice(0,-1)+')';return sanitizedString;}
function getFormatManifests(stateObject){var manifestAccumulator={};NGTweenable.each(stateObject,function(prop){var currentProp=stateObject[prop];if(typeof currentProp==='string'){var rawValues=getValuesFrom(currentProp);manifestAccumulator[prop]={'formatString':getFormatStringFrom(currentProp),'chunkNames':getFormatChunksFrom(rawValues,prop)};}});return manifestAccumulator;}
function expandFormattedProperties(stateObject,formatManifests){NGTweenable.each(formatManifests,function(prop){var currentProp=stateObject[prop];var rawValues=getValuesFrom(currentProp);var rawValuesLength=rawValues.length;for(var i=0;i<rawValuesLength;i++){stateObject[formatManifests[prop].chunkNames[i]]=+rawValues[i];}
delete stateObject[prop];});}
function collapseFormattedProperties(stateObject,formatManifests){NGTweenable.each(formatManifests,function(prop){var currentProp=stateObject[prop];var formatChunks=extractPropertyChunks(stateObject,formatManifests[prop].chunkNames);var valuesList=getValuesList(formatChunks,formatManifests[prop].chunkNames);currentProp=getFormattedValues(formatManifests[prop].formatString,valuesList);stateObject[prop]=sanitizeRGBChunks(currentProp);});}
function extractPropertyChunks(stateObject,chunkNames){var extractedValues={};var currentChunkName,chunkNamesLength=chunkNames.length;for(var i=0;i<chunkNamesLength;i++){currentChunkName=chunkNames[i];extractedValues[currentChunkName]=stateObject[currentChunkName];delete stateObject[currentChunkName];}
return extractedValues;}
var getValuesList_accumulator=[];function getValuesList(stateObject,chunkNames){getValuesList_accumulator.length=0;var chunkNamesLength=chunkNames.length;for(var i=0;i<chunkNamesLength;i++){getValuesList_accumulator.push(stateObject[chunkNames[i]]);}
return getValuesList_accumulator;}
function getFormattedValues(formatString,rawValues){var formattedValueString=formatString;var rawValuesLength=rawValues.length;for(var i=0;i<rawValuesLength;i++){formattedValueString=formattedValueString.replace(VALUE_PLACEHOLDER,+rawValues[i].toFixed(4));}
return formattedValueString;}
function getValuesFrom(formattedString){return formattedString.match(R_UNFORMATTED_VALUES);}
function expandEasingObject(easingObject,tokenData){NGTweenable.each(tokenData,function(prop){var currentProp=tokenData[prop];var chunkNames=currentProp.chunkNames;var chunkLength=chunkNames.length;var easing=easingObject[prop];var i;if(typeof easing==='string'){var easingChunks=easing.split(' ');var lastEasingChunk=easingChunks[easingChunks.length-1];for(i=0;i<chunkLength;i++){easingObject[chunkNames[i]]=easingChunks[i]||lastEasingChunk;}}else{for(i=0;i<chunkLength;i++){easingObject[chunkNames[i]]=easing;}}
delete easingObject[prop];});}
function collapseEasingObject(easingObject,tokenData){NGTweenable.each(tokenData,function(prop){var currentProp=tokenData[prop];var chunkNames=currentProp.chunkNames;var chunkLength=chunkNames.length;var firstEasing=easingObject[chunkNames[0]];var typeofEasings=typeof firstEasing;if(typeofEasings==='string'){var composedEasingString='';for(var i=0;i<chunkLength;i++){composedEasingString+=' '+easingObject[chunkNames[i]];delete easingObject[chunkNames[i]];}
easingObject[prop]=composedEasingString.substr(1);}else{easingObject[prop]=firstEasing;}});}
NGTweenable.prototype.filter.token={'tweenCreated':function(currentState,fromState,toState,easingObject){sanitizeObjectForHexProps(currentState);sanitizeObjectForHexProps(fromState);sanitizeObjectForHexProps(toState);this._tokenData=getFormatManifests(currentState);},'beforeTween':function(currentState,fromState,toState,easingObject){expandEasingObject(easingObject,this._tokenData);expandFormattedProperties(currentState,this._tokenData);expandFormattedProperties(fromState,this._tokenData);expandFormattedProperties(toState,this._tokenData);},'afterTween':function(currentState,fromState,toState,easingObject){collapseFormattedProperties(currentState,this._tokenData);collapseFormattedProperties(fromState,this._tokenData);collapseFormattedProperties(toState,this._tokenData);collapseEasingObject(easingObject,this._tokenData);}};}(NGTweenable));}).call(null);(function(window,document,exportName,undefined){'use strict';var VENDOR_PREFIXES=['','webkit','Moz','MS','ms','o'];var TEST_ELEMENT=document.createElement('div');var TYPE_FUNCTION='function';var round=Math.round;var abs=Math.abs;var now=Date.now;function setTimeoutContext(fn,timeout,context){return setTimeout(bindFn(fn,context),timeout);}
function invokeArrayArg(arg,fn,context){if(Array.isArray(arg)){each(arg,context[fn],context);return true;}
return false;}
function each(obj,iterator,context){var i;if(!obj){return;}
if(obj.forEach){obj.forEach(iterator,context);}else if(obj.length!==undefined){i=0;while(i<obj.length){iterator.call(context,obj[i],i,obj);i++;}}else{for(i in obj){obj.hasOwnProperty(i)&&iterator.call(context,obj[i],i,obj);}}}
function deprecate(method,name,message){var deprecationMessage='DEPRECATED METHOD: '+name+'\n'+message+' AT \n';return function(){var e=new Error('get-stack-trace');var stack=e&&e.stack?e.stack.replace(/^[^\(]+?[\n$]/gm,'').replace(/^\s+at\s+/gm,'').replace(/^Object.<anonymous>\s*\(/gm,'{anonymous}()@'):'Unknown Stack Trace';var log=window.console&&(window.console.warn||window.console.log);if(log){log.call(window.console,deprecationMessage,stack);}
return method.apply(this,arguments);};}
var assign;if(typeof Object.assign!=='function'){assign=function assign(target){if(target===undefined||target===null){throw new TypeError('Cannot convert undefined or null to object');}
var output=Object(target);for(var index=1;index<arguments.length;index++){var source=arguments[index];if(source!==undefined&&source!==null){for(var nextKey in source){if(source.hasOwnProperty(nextKey)){output[nextKey]=source[nextKey];}}}}
return output;};}else{assign=Object.assign;}
var extend=deprecate(function extend(dest,src,merge){var keys=Object.keys(src);var i=0;while(i<keys.length){if(!merge||(merge&&dest[keys[i]]===undefined)){dest[keys[i]]=src[keys[i]];}
i++;}
return dest;},'extend','Use `assign`.');var merge=deprecate(function merge(dest,src){return extend(dest,src,true);},'merge','Use `assign`.');function inherit(child,base,properties){var baseP=base.prototype,childP;childP=child.prototype=Object.create(baseP);childP.constructor=child;childP._super=baseP;if(properties){assign(childP,properties);}}
function bindFn(fn,context){return function boundFn(){return fn.apply(context,arguments);};}
function boolOrFn(val,args){if(typeof val==TYPE_FUNCTION){return val.apply(args?args[0]||undefined:undefined,args);}
return val;}
function ifUndefined(val1,val2){return(val1===undefined)?val2:val1;}
function addEventListeners(target,types,handler){each(splitStr(types),function(type){target.addEventListener(type,handler,false);});}
function removeEventListeners(target,types,handler){each(splitStr(types),function(type){target.removeEventListener(type,handler,false);});}
function hasParent(node,parent){while(node){if(node==parent){return true;}
node=node.parentNode;}
return false;}
function inStr(str,find){return str.indexOf(find)>-1;}
function splitStr(str){return str.trim().split(/\s+/g);}
function inArray(src,find,findByKey){if(src.indexOf&&!findByKey){return src.indexOf(find);}else{var i=0;while(i<src.length){if((findByKey&&src[i][findByKey]==find)||(!findByKey&&src[i]===find)){return i;}
i++;}
return-1;}}
function toArray(obj){return Array.prototype.slice.call(obj,0);}
function uniqueArray(src,key,sort){var results=[];var values=[];var i=0;while(i<src.length){var val=key?src[i][key]:src[i];if(inArray(values,val)<0){results.push(src[i]);}
values[i]=val;i++;}
if(sort){if(!key){results=results.sort();}else{results=results.sort(function sortUniqueArray(a,b){return a[key]>b[key];});}}
return results;}
function prefixed(obj,property){var prefix,prop;var camelProp=property[0].toUpperCase()+property.slice(1);var i=0;while(i<VENDOR_PREFIXES.length){prefix=VENDOR_PREFIXES[i];prop=(prefix)?prefix+camelProp:property;if(prop in obj){return prop;}
i++;}
return undefined;}
var _uniqueId=1;function uniqueId(){return _uniqueId++;}
function getWindowForElement(element){var doc=element.ownerDocument||element;return(doc.defaultView||doc.parentWindow||window);}
var MOBILE_REGEX=/mobile|tablet|ip(ad|hone|od)|android/i;var SUPPORT_TOUCH=('ontouchstart' in window);var SUPPORT_POINTER_EVENTS=false;var SUPPORT_ONLY_TOUCH=SUPPORT_TOUCH&&MOBILE_REGEX.test(navigator.userAgent);var INPUT_TYPE_TOUCH='touch';var INPUT_TYPE_PEN='pen';var INPUT_TYPE_MOUSE='mouse';var INPUT_TYPE_KINECT='kinect';var COMPUTE_INTERVAL=25;var INPUT_START=1;var INPUT_MOVE=2;var INPUT_END=4;var INPUT_CANCEL=8;var DIRECTION_NONE=1;var DIRECTION_LEFT=2;var DIRECTION_RIGHT=4;var DIRECTION_UP=8;var DIRECTION_DOWN=16;var DIRECTION_HORIZONTAL=DIRECTION_LEFT|DIRECTION_RIGHT;var DIRECTION_VERTICAL=DIRECTION_UP|DIRECTION_DOWN;var DIRECTION_ALL=DIRECTION_HORIZONTAL|DIRECTION_VERTICAL;var PROPS_XY=['x','y'];var PROPS_CLIENT_XY=['clientX','clientY'];function Input(manager,callback){var self=this;this.manager=manager;this.callback=callback;this.element=manager.element;this.target=manager.options.inputTarget;this.domHandler=function(ev){if(boolOrFn(manager.options.enable,[manager])){self.handler(ev);}};this.init();}
Input.prototype={handler:function(){},init:function(){this.evEl&&addEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&addEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&addEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler);},destroy:function(){this.evEl&&removeEventListeners(this.element,this.evEl,this.domHandler);this.evTarget&&removeEventListeners(this.target,this.evTarget,this.domHandler);this.evWin&&removeEventListeners(getWindowForElement(this.element),this.evWin,this.domHandler);}};function createInputInstance(manager){var Type;var inputClass=manager.options.inputClass;if(inputClass){Type=inputClass;}else if(SUPPORT_POINTER_EVENTS){Type=PointerEventInput;}else if(SUPPORT_ONLY_TOUCH){Type=TouchInput;}else if(!SUPPORT_TOUCH){Type=MouseInput;}else{Type=TouchMouseInput;}
return new(Type)(manager,inputHandler);}
function inputHandler(manager,eventType,input){var pointersLen=input.pointers.length;var changedPointersLen=input.changedPointers.length;var isFirst=(eventType&INPUT_START&&(pointersLen-changedPointersLen===0));var isFinal=(eventType&(INPUT_END|INPUT_CANCEL)&&(pointersLen-changedPointersLen===0));input.isFirst=!!isFirst;input.isFinal=!!isFinal;if(isFirst){manager.session={};}
input.eventType=eventType;computeInputData(manager,input);manager.emit('hammer.input',input);manager.recognize(input);manager.session.prevInput=input;}
function computeInputData(manager,input){var session=manager.session;var pointers=input.pointers;var pointersLength=pointers.length;if(!session.firstInput){session.firstInput=simpleCloneInputData(input);}
if(pointersLength>1&&!session.firstMultiple){session.firstMultiple=simpleCloneInputData(input);}else if(pointersLength===1){session.firstMultiple=false;}
var firstInput=session.firstInput;var firstMultiple=session.firstMultiple;var offsetCenter=firstMultiple?firstMultiple.center:firstInput.center;var center=input.center=getCenter(pointers);input.timeStamp=now();input.deltaTime=input.timeStamp-firstInput.timeStamp;input.angle=getAngle(offsetCenter,center);input.distance=getDistance(offsetCenter,center);computeDeltaXY(session,input);input.offsetDirection=getDirection(input.deltaX,input.deltaY);var overallVelocity=getVelocity(input.deltaTime,input.deltaX,input.deltaY);input.overallVelocityX=overallVelocity.x;input.overallVelocityY=overallVelocity.y;input.overallVelocity=(abs(overallVelocity.x)>abs(overallVelocity.y))?overallVelocity.x:overallVelocity.y;input.scale=firstMultiple?getScale(firstMultiple.pointers,pointers):1;input.rotation=firstMultiple?getRotation(firstMultiple.pointers,pointers):0;input.maxPointers=!session.prevInput?input.pointers.length:((input.pointers.length>session.prevInput.maxPointers)?input.pointers.length:session.prevInput.maxPointers);computeIntervalInputData(session,input);var target=manager.element;if(hasParent(input.srcEvent.target,target)){target=input.srcEvent.target;}
input.target=target;}
function computeDeltaXY(session,input){var center=input.center;var offset=session.offsetDelta||{};var prevDelta=session.prevDelta||{};var prevInput=session.prevInput||{};if(input.eventType===INPUT_START||prevInput.eventType===INPUT_END){prevDelta=session.prevDelta={x:prevInput.deltaX||0,y:prevInput.deltaY||0};offset=session.offsetDelta={x:center.x,y:center.y};}
input.deltaX=prevDelta.x+(center.x-offset.x);input.deltaY=prevDelta.y+(center.y-offset.y);}
function computeIntervalInputData(session,input){var last=session.lastInterval||input,deltaTime=input.timeStamp-last.timeStamp,velocity,velocityX,velocityY,direction;if(input.eventType!=INPUT_CANCEL&&(deltaTime>COMPUTE_INTERVAL||last.velocity===undefined)){var deltaX=input.deltaX-last.deltaX;var deltaY=input.deltaY-last.deltaY;var v=getVelocity(deltaTime,deltaX,deltaY);velocityX=v.x;velocityY=v.y;velocity=(abs(v.x)>abs(v.y))?v.x:v.y;direction=getDirection(deltaX,deltaY);session.lastInterval=input;}else{velocity=last.velocity;velocityX=last.velocityX;velocityY=last.velocityY;direction=last.direction;}
input.velocity=velocity;input.velocityX=velocityX;input.velocityY=velocityY;input.direction=direction;}
function simpleCloneInputData(input){var pointers=[];var i=0;while(i<input.pointers.length){pointers[i]={clientX:round(input.pointers[i].clientX),clientY:round(input.pointers[i].clientY)};i++;}
return{timeStamp:now(),pointers:pointers,center:getCenter(pointers),deltaX:input.deltaX,deltaY:input.deltaY};}
function getCenter(pointers){var pointersLength=pointers.length;if(pointersLength===1){return{x:round(pointers[0].clientX),y:round(pointers[0].clientY)};}
var x=0,y=0,i=0;while(i<pointersLength){x+=pointers[i].clientX;y+=pointers[i].clientY;i++;}
return{x:round(x/pointersLength),y:round(y/pointersLength)};}
function getVelocity(deltaTime,x,y){return{x:x/deltaTime||0,y:y/deltaTime||0};}
function getDirection(x,y){if(x===y){return DIRECTION_NONE;}
if(abs(x)>=abs(y)){return x<0?DIRECTION_LEFT:DIRECTION_RIGHT;}
return y<0?DIRECTION_UP:DIRECTION_DOWN;}
function getDistance(p1,p2,props){if(!props){props=PROPS_XY;}
var x=p2[props[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.sqrt((x*x)+(y*y));}
function getAngle(p1,p2,props){if(!props){props=PROPS_XY;}
var x=p2[props[0]]-p1[props[0]],y=p2[props[1]]-p1[props[1]];return Math.atan2(y,x)*180/Math.PI;}
function getRotation(start,end){return getAngle(end[1],end[0],PROPS_CLIENT_XY)+getAngle(start[1],start[0],PROPS_CLIENT_XY);}
function getScale(start,end){return getDistance(end[0],end[1],PROPS_CLIENT_XY)/getDistance(start[0],start[1],PROPS_CLIENT_XY);}
var MOUSE_INPUT_MAP={mousedown:INPUT_START,mousemove:INPUT_MOVE,mouseup:INPUT_END};var MOUSE_ELEMENT_EVENTS='mousedown';var MOUSE_WINDOW_EVENTS='mousemove mouseup';function MouseInput(){this.evEl=MOUSE_ELEMENT_EVENTS;this.evWin=MOUSE_WINDOW_EVENTS;this.pressed=false;Input.apply(this,arguments);}
inherit(MouseInput,Input,{handler:function MEhandler(ev){var eventType=MOUSE_INPUT_MAP[ev.type];if(eventType&INPUT_START&&ev.button===0){this.pressed=true;}
if(eventType&INPUT_MOVE&&ev.which!==1){eventType=INPUT_END;}
if(!this.pressed){return;}
if(eventType&INPUT_END){this.pressed=false;}
this.callback(this.manager,eventType,{pointers:[ev],changedPointers:[ev],pointerType:INPUT_TYPE_MOUSE,srcEvent:ev});}});var POINTER_INPUT_MAP={pointerdown:INPUT_START,pointermove:INPUT_MOVE,pointerup:INPUT_END,pointercancel:INPUT_CANCEL,pointerout:INPUT_CANCEL};var IE10_POINTER_TYPE_ENUM={2:INPUT_TYPE_TOUCH,3:INPUT_TYPE_PEN,4:INPUT_TYPE_MOUSE,5:INPUT_TYPE_KINECT};var POINTER_ELEMENT_EVENTS='pointerdown';var POINTER_WINDOW_EVENTS='pointermove pointerup pointercancel';if(window.MSPointerEvent&&!window.PointerEvent){POINTER_ELEMENT_EVENTS='MSPointerDown';POINTER_WINDOW_EVENTS='MSPointerMove MSPointerUp MSPointerCancel';}
function PointerEventInput(){this.evEl=POINTER_ELEMENT_EVENTS;this.evWin=POINTER_WINDOW_EVENTS;Input.apply(this,arguments);this.store=(this.manager.session.pointerEvents=[]);}
inherit(PointerEventInput,Input,{handler:function PEhandler(ev){var store=this.store;var removePointer=false;var eventTypeNormalized=ev.type.toLowerCase().replace('ms','');var eventType=POINTER_INPUT_MAP[eventTypeNormalized];var pointerType=IE10_POINTER_TYPE_ENUM[ev.pointerType]||ev.pointerType;var isTouch=(pointerType==INPUT_TYPE_TOUCH);var storeIndex=inArray(store,ev.pointerId,'pointerId');if(eventType&INPUT_START&&(ev.button===0||isTouch)){if(storeIndex<0){store.push(ev);storeIndex=store.length-1;}}else if(eventType&(INPUT_END|INPUT_CANCEL)){removePointer=true;}
if(storeIndex<0){return;}
store[storeIndex]=ev;this.callback(this.manager,eventType,{pointers:store,changedPointers:[ev],pointerType:pointerType,srcEvent:ev});if(removePointer){store.splice(storeIndex,1);}}});var SINGLE_TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var SINGLE_TOUCH_TARGET_EVENTS='touchstart';var SINGLE_TOUCH_WINDOW_EVENTS='touchstart touchmove touchend touchcancel';function SingleTouchInput(){this.evTarget=SINGLE_TOUCH_TARGET_EVENTS;this.evWin=SINGLE_TOUCH_WINDOW_EVENTS;this.started=false;Input.apply(this,arguments);}
inherit(SingleTouchInput,Input,{handler:function TEhandler(ev){var type=SINGLE_TOUCH_INPUT_MAP[ev.type];if(type===INPUT_START){this.started=true;}
if(!this.started){return;}
var touches=normalizeSingleTouches.call(this,ev,type);if(type&(INPUT_END|INPUT_CANCEL)&&touches[0].length-touches[1].length===0){this.started=false;}
this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev});}});function normalizeSingleTouches(ev,type){var all=toArray(ev.touches);var changed=toArray(ev.changedTouches);if(type&(INPUT_END|INPUT_CANCEL)){all=uniqueArray(all.concat(changed),'identifier',true);}
return[all,changed];}
var TOUCH_INPUT_MAP={touchstart:INPUT_START,touchmove:INPUT_MOVE,touchend:INPUT_END,touchcancel:INPUT_CANCEL};var TOUCH_TARGET_EVENTS='touchstart touchmove touchend touchcancel';function TouchInput(){this.evTarget=TOUCH_TARGET_EVENTS;this.targetIds={};Input.apply(this,arguments);}
inherit(TouchInput,Input,{handler:function MTEhandler(ev){var type=TOUCH_INPUT_MAP[ev.type];var touches=getTouches.call(this,ev,type);if(!touches){return;}
this.callback(this.manager,type,{pointers:touches[0],changedPointers:touches[1],pointerType:INPUT_TYPE_TOUCH,srcEvent:ev});}});function getTouches(ev,type){var allTouches=toArray(ev.touches);var targetIds=this.targetIds;if(type&(INPUT_START|INPUT_MOVE)&&allTouches.length===1){targetIds[allTouches[0].identifier]=true;return[allTouches,allTouches];}
var i,targetTouches,changedTouches=toArray(ev.changedTouches),changedTargetTouches=[],target=this.target;targetTouches=allTouches.filter(function(touch){return hasParent(touch.target,target);});if(type===INPUT_START){i=0;while(i<targetTouches.length){targetIds[targetTouches[i].identifier]=true;i++;}}
i=0;while(i<changedTouches.length){if(targetIds[changedTouches[i].identifier]){changedTargetTouches.push(changedTouches[i]);}
if(type&(INPUT_END|INPUT_CANCEL)){delete targetIds[changedTouches[i].identifier];}
i++;}
if(!changedTargetTouches.length){return;}
return[uniqueArray(targetTouches.concat(changedTargetTouches),'identifier',true),changedTargetTouches];}
var DEDUP_TIMEOUT=2500;var DEDUP_DISTANCE=25;function TouchMouseInput(){Input.apply(this,arguments);var handler=bindFn(this.handler,this);this.touch=new TouchInput(this.manager,handler);this.mouse=new MouseInput(this.manager,handler);this.primaryTouch=null;this.lastTouches=[];}
inherit(TouchMouseInput,Input,{handler:function TMEhandler(manager,inputEvent,inputData){var isTouch=(inputData.pointerType==INPUT_TYPE_TOUCH),isMouse=(inputData.pointerType==INPUT_TYPE_MOUSE);if(isMouse&&inputData.sourceCapabilities&&inputData.sourceCapabilities.firesTouchEvents){return;}
if(isTouch){recordTouches.call(this,inputEvent,inputData);}else if(isMouse&&isSyntheticEvent.call(this,inputData)){return;}
this.callback(manager,inputEvent,inputData);},destroy:function destroy(){this.touch.destroy();this.mouse.destroy();}});function recordTouches(eventType,eventData){if(eventType&INPUT_START){this.primaryTouch=eventData.changedPointers[0].identifier;setLastTouch.call(this,eventData);}else if(eventType&(INPUT_END|INPUT_CANCEL)){setLastTouch.call(this,eventData);}}
function setLastTouch(eventData){var touch=eventData.changedPointers[0];if(touch.identifier===this.primaryTouch){var lastTouch={x:touch.clientX,y:touch.clientY};this.lastTouches.push(lastTouch);var lts=this.lastTouches;var removeLastTouch=function(){var i=lts.indexOf(lastTouch);if(i>-1){lts.splice(i,1);}};setTimeout(removeLastTouch,DEDUP_TIMEOUT);}}
function isSyntheticEvent(eventData){var x=eventData.srcEvent.clientX,y=eventData.srcEvent.clientY;for(var i=0;i<this.lastTouches.length;i++){var t=this.lastTouches[i];var dx=Math.abs(x-t.x),dy=Math.abs(y-t.y);if(dx<=DEDUP_DISTANCE&&dy<=DEDUP_DISTANCE){return true;}}
return false;}
var PREFIXED_TOUCH_ACTION=prefixed(TEST_ELEMENT.style,'touchAction');var NATIVE_TOUCH_ACTION=PREFIXED_TOUCH_ACTION!==undefined;var TOUCH_ACTION_COMPUTE='compute';var TOUCH_ACTION_AUTO='auto';var TOUCH_ACTION_MANIPULATION='manipulation';var TOUCH_ACTION_NONE='none';var TOUCH_ACTION_PAN_X='pan-x';var TOUCH_ACTION_PAN_Y='pan-y';var TOUCH_ACTION_MAP=getTouchActionProps();function TouchAction(manager,value){this.manager=manager;this.set(value);}
TouchAction.prototype={set:function(value){if(value==TOUCH_ACTION_COMPUTE){value=this.compute();}
if(NATIVE_TOUCH_ACTION&&this.manager.element.style&&TOUCH_ACTION_MAP[value]){this.manager.element.style[PREFIXED_TOUCH_ACTION]=value;}
this.actions=value.toLowerCase().trim();},update:function(){this.set(this.manager.options.touchAction);},compute:function(){var actions=[];each(this.manager.recognizers,function(recognizer){if(boolOrFn(recognizer.options.enable,[recognizer])){actions=actions.concat(recognizer.getTouchAction());}});return cleanTouchActions(actions.join(' '));},preventDefaults:function(input){var srcEvent=input.srcEvent;var direction=input.offsetDirection;if(this.manager.session.prevented){srcEvent.preventDefault();return;}
var actions=this.actions;var hasNone=inStr(actions,TOUCH_ACTION_NONE)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X)&&!TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];if(hasNone){var isTapPointer=input.pointers.length===1;var isTapMovement=input.distance<2;var isTapTouchTime=input.deltaTime<250;if(isTapPointer&&isTapMovement&&isTapTouchTime){return;}}
if(hasPanX&&hasPanY){return;}
if(hasNone||(hasPanY&&direction&DIRECTION_HORIZONTAL)||(hasPanX&&direction&DIRECTION_VERTICAL)){return this.preventSrc(srcEvent);}},preventSrc:function(srcEvent){this.manager.session.prevented=true;srcEvent.preventDefault();}};function cleanTouchActions(actions){if(inStr(actions,TOUCH_ACTION_NONE)){return TOUCH_ACTION_NONE;}
var hasPanX=inStr(actions,TOUCH_ACTION_PAN_X);var hasPanY=inStr(actions,TOUCH_ACTION_PAN_Y);if(hasPanX&&hasPanY){return TOUCH_ACTION_NONE;}
if(hasPanX||hasPanY){return hasPanX?TOUCH_ACTION_PAN_X:TOUCH_ACTION_PAN_Y;}
if(inStr(actions,TOUCH_ACTION_MANIPULATION)){return TOUCH_ACTION_MANIPULATION;}
return TOUCH_ACTION_AUTO;}
function getTouchActionProps(){if(!NATIVE_TOUCH_ACTION){return false;}
var touchMap={};var cssSupports=window.CSS&&window.CSS.supports;['auto','manipulation','pan-y','pan-x','pan-x pan-y','none'].forEach(function(val){touchMap[val]=cssSupports?window.CSS.supports('touch-action',val):true;});return touchMap;}
var STATE_POSSIBLE=1;var STATE_BEGAN=2;var STATE_CHANGED=4;var STATE_ENDED=8;var STATE_RECOGNIZED=STATE_ENDED;var STATE_CANCELLED=16;var STATE_FAILED=32;function Recognizer(options){this.options=assign({},this.defaults,options||{});this.id=uniqueId();this.manager=null;this.options.enable=ifUndefined(this.options.enable,true);this.state=STATE_POSSIBLE;this.simultaneous={};this.requireFail=[];}
Recognizer.prototype={defaults:{},set:function(options){assign(this.options,options);this.manager&&this.manager.touchAction.update();return this;},recognizeWith:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,'recognizeWith',this)){return this;}
var simultaneous=this.simultaneous;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(!simultaneous[otherRecognizer.id]){simultaneous[otherRecognizer.id]=otherRecognizer;otherRecognizer.recognizeWith(this);}
return this;},dropRecognizeWith:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,'dropRecognizeWith',this)){return this;}
otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);delete this.simultaneous[otherRecognizer.id];return this;},requireFailure:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,'requireFailure',this)){return this;}
var requireFail=this.requireFail;otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);if(inArray(requireFail,otherRecognizer)===-1){requireFail.push(otherRecognizer);otherRecognizer.requireFailure(this);}
return this;},dropRequireFailure:function(otherRecognizer){if(invokeArrayArg(otherRecognizer,'dropRequireFailure',this)){return this;}
otherRecognizer=getRecognizerByNameIfManager(otherRecognizer,this);var index=inArray(this.requireFail,otherRecognizer);if(index>-1){this.requireFail.splice(index,1);}
return this;},hasRequireFailures:function(){return this.requireFail.length>0;},canRecognizeWith:function(otherRecognizer){return!!this.simultaneous[otherRecognizer.id];},emit:function(input){var self=this;var state=this.state;function emit(event){self.manager.emit(event,input);}
if(state<STATE_ENDED){emit(self.options.event+stateStr(state));}
emit(self.options.event);if(input.additionalEvent){emit(input.additionalEvent);}
if(state>=STATE_ENDED){emit(self.options.event+stateStr(state));}},tryEmit:function(input){if(this.canEmit()){return this.emit(input);}
this.state=STATE_FAILED;},canEmit:function(){var i=0;while(i<this.requireFail.length){if(!(this.requireFail[i].state&(STATE_FAILED|STATE_POSSIBLE))){return false;}
i++;}
return true;},recognize:function(inputData){var inputDataClone=assign({},inputData);if(!boolOrFn(this.options.enable,[this,inputDataClone])){this.reset();this.state=STATE_FAILED;return;}
if(this.state&(STATE_RECOGNIZED|STATE_CANCELLED|STATE_FAILED)){this.state=STATE_POSSIBLE;}
this.state=this.process(inputDataClone);if(this.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED|STATE_CANCELLED)){this.tryEmit(inputDataClone);}},process:function(inputData){},getTouchAction:function(){},reset:function(){}};function stateStr(state){if(state&STATE_CANCELLED){return'cancel';}else if(state&STATE_ENDED){return'end';}else if(state&STATE_CHANGED){return'move';}else if(state&STATE_BEGAN){return'start';}
return'';}
function directionStr(direction){if(direction==DIRECTION_DOWN){return'down';}else if(direction==DIRECTION_UP){return'up';}else if(direction==DIRECTION_LEFT){return'left';}else if(direction==DIRECTION_RIGHT){return'right';}
return'';}
function getRecognizerByNameIfManager(otherRecognizer,recognizer){var manager=recognizer.manager;if(manager){return manager.get(otherRecognizer);}
return otherRecognizer;}
function AttrRecognizer(){Recognizer.apply(this,arguments);}
inherit(AttrRecognizer,Recognizer,{defaults:{pointers:1},attrTest:function(input){var optionPointers=this.options.pointers;return optionPointers===0||input.pointers.length===optionPointers;},process:function(input){var state=this.state;var eventType=input.eventType;var isRecognized=state&(STATE_BEGAN|STATE_CHANGED);var isValid=this.attrTest(input);if(isRecognized&&(eventType&INPUT_CANCEL||!isValid)){return state|STATE_CANCELLED;}else if(isRecognized||isValid){if(eventType&INPUT_END){return state|STATE_ENDED;}else if(!(state&STATE_BEGAN)){return STATE_BEGAN;}
return state|STATE_CHANGED;}
return STATE_FAILED;}});function PanRecognizer(){AttrRecognizer.apply(this,arguments);this.pX=null;this.pY=null;}
inherit(PanRecognizer,AttrRecognizer,{defaults:{event:'pan',threshold:10,pointers:1,direction:DIRECTION_ALL},getTouchAction:function(){var direction=this.options.direction;var actions=[];if(direction&DIRECTION_HORIZONTAL){actions.push(TOUCH_ACTION_PAN_Y);}
if(direction&DIRECTION_VERTICAL){actions.push(TOUCH_ACTION_PAN_X);}
return actions;},directionTest:function(input){var options=this.options;var hasMoved=true;var distance=input.distance;var direction=input.direction;var x=input.deltaX;var y=input.deltaY;if(!(direction&options.direction)){if(options.direction&DIRECTION_HORIZONTAL){direction=(x===0)?DIRECTION_NONE:(x<0)?DIRECTION_LEFT:DIRECTION_RIGHT;hasMoved=x!=this.pX;distance=Math.abs(input.deltaX);}else{direction=(y===0)?DIRECTION_NONE:(y<0)?DIRECTION_UP:DIRECTION_DOWN;hasMoved=y!=this.pY;distance=Math.abs(input.deltaY);}}
input.direction=direction;return hasMoved&&distance>options.threshold&&direction&options.direction;},attrTest:function(input){return AttrRecognizer.prototype.attrTest.call(this,input)&&(this.state&STATE_BEGAN||(!(this.state&STATE_BEGAN)&&this.directionTest(input)));},emit:function(input){this.pX=input.deltaX;this.pY=input.deltaY;var direction=directionStr(input.direction);if(direction){input.additionalEvent=this.options.event+direction;}
this._super.emit.call(this,input);}});function PinchRecognizer(){AttrRecognizer.apply(this,arguments);}
inherit(PinchRecognizer,AttrRecognizer,{defaults:{event:'pinch',threshold:0,pointers:2},getTouchAction:function(){return[TOUCH_ACTION_NONE];},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.scale-1)>this.options.threshold||this.state&STATE_BEGAN);},emit:function(input){if(input.scale!==1){var inOut=input.scale<1?'in':'out';input.additionalEvent=this.options.event+inOut;}
this._super.emit.call(this,input);}});function PressRecognizer(){Recognizer.apply(this,arguments);this._timer=null;this._input=null;}
inherit(PressRecognizer,Recognizer,{defaults:{event:'press',pointers:1,time:251,threshold:9},getTouchAction:function(){return[TOUCH_ACTION_AUTO];},process:function(input){var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTime=input.deltaTime>options.time;this._input=input;if(!validMovement||!validPointers||(input.eventType&(INPUT_END|INPUT_CANCEL)&&!validTime)){this.reset();}else if(input.eventType&INPUT_START){this.reset();this._timer=setTimeoutContext(function(){this.state=STATE_RECOGNIZED;this.tryEmit();},options.time,this);}else if(input.eventType&INPUT_END){return STATE_RECOGNIZED;}
return STATE_FAILED;},reset:function(){clearTimeout(this._timer);},emit:function(input){if(this.state!==STATE_RECOGNIZED){return;}
if(input&&(input.eventType&INPUT_END)){this.manager.emit(this.options.event+'up',input);}else{this._input.timeStamp=now();this.manager.emit(this.options.event,this._input);}}});function RotateRecognizer(){AttrRecognizer.apply(this,arguments);}
inherit(RotateRecognizer,AttrRecognizer,{defaults:{event:'rotate',threshold:0,pointers:2},getTouchAction:function(){return[TOUCH_ACTION_NONE];},attrTest:function(input){return this._super.attrTest.call(this,input)&&(Math.abs(input.rotation)>this.options.threshold||this.state&STATE_BEGAN);}});function SwipeRecognizer(){AttrRecognizer.apply(this,arguments);}
inherit(SwipeRecognizer,AttrRecognizer,{defaults:{event:'swipe',threshold:10,velocity:0.3,direction:DIRECTION_HORIZONTAL|DIRECTION_VERTICAL,pointers:1},getTouchAction:function(){return PanRecognizer.prototype.getTouchAction.call(this);},attrTest:function(input){var direction=this.options.direction;var velocity;if(direction&(DIRECTION_HORIZONTAL|DIRECTION_VERTICAL)){velocity=input.overallVelocity;}else if(direction&DIRECTION_HORIZONTAL){velocity=input.overallVelocityX;}else if(direction&DIRECTION_VERTICAL){velocity=input.overallVelocityY;}
return this._super.attrTest.call(this,input)&&direction&input.offsetDirection&&input.distance>this.options.threshold&&input.maxPointers==this.options.pointers&&abs(velocity)>this.options.velocity&&input.eventType&INPUT_END;},emit:function(input){var direction=directionStr(input.offsetDirection);if(direction){this.manager.emit(this.options.event+direction,input);}
this.manager.emit(this.options.event,input);}});function TapRecognizer(){Recognizer.apply(this,arguments);this.pTime=false;this.pCenter=false;this._timer=null;this._input=null;this.count=0;}
inherit(TapRecognizer,Recognizer,{defaults:{event:'tap',pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},getTouchAction:function(){return[TOUCH_ACTION_MANIPULATION];},process:function(input){var options=this.options;var validPointers=input.pointers.length===options.pointers;var validMovement=input.distance<options.threshold;var validTouchTime=input.deltaTime<options.time;this.reset();if((input.eventType&INPUT_START)&&(this.count===0)){return this.failTimeout();}
if(validMovement&&validTouchTime&&validPointers){if(input.eventType!=INPUT_END){return this.failTimeout();}
var validInterval=this.pTime?(input.timeStamp-this.pTime<options.interval):true;var validMultiTap=!this.pCenter||getDistance(this.pCenter,input.center)<options.posThreshold;this.pTime=input.timeStamp;this.pCenter=input.center;if(!validMultiTap||!validInterval){this.count=1;}else{this.count+=1;}
this._input=input;var tapCount=this.count%options.taps;if(tapCount===0){if(!this.hasRequireFailures()){return STATE_RECOGNIZED;}else{this._timer=setTimeoutContext(function(){this.state=STATE_RECOGNIZED;this.tryEmit();},options.interval,this);return STATE_BEGAN;}}}
return STATE_FAILED;},failTimeout:function(){this._timer=setTimeoutContext(function(){this.state=STATE_FAILED;},this.options.interval,this);return STATE_FAILED;},reset:function(){clearTimeout(this._timer);},emit:function(){if(this.state==STATE_RECOGNIZED){this._input.tapCount=this.count;this.manager.emit(this.options.event,this._input);}}});function NGHammer(element,options){options=options||{};options.recognizers=ifUndefined(options.recognizers,NGHammer.defaults.preset);return new Manager(element,options);}
NGHammer.VERSION='2.0.7';NGHammer.defaults={domEvents:false,touchAction:TOUCH_ACTION_COMPUTE,enable:true,inputTarget:null,inputClass:null,preset:[[RotateRecognizer,{enable:false}],[PinchRecognizer,{enable:false},['rotate']],[SwipeRecognizer,{direction:DIRECTION_HORIZONTAL}],[PanRecognizer,{direction:DIRECTION_HORIZONTAL},['swipe']],[TapRecognizer],[TapRecognizer,{event:'doubletap',taps:2},['tap']],[PressRecognizer]],cssProps:{userSelect:'none',touchSelect:'none',touchCallout:'none',contentZooming:'none',userDrag:'none',tapHighlightColor:'rgba(0,0,0,0)'}};var STOP=1;var FORCED_STOP=2;function Manager(element,options){this.options=assign({},NGHammer.defaults,options||{});this.options.inputTarget=this.options.inputTarget||element;this.handlers={};this.session={};this.recognizers=[];this.oldCssProps={};this.element=element;this.input=createInputInstance(this);this.touchAction=new TouchAction(this,this.options.touchAction);toggleCssProps(this,true);each(this.options.recognizers,function(item){var recognizer=this.add(new(item[0])(item[1]));item[2]&&recognizer.recognizeWith(item[2]);item[3]&&recognizer.requireFailure(item[3]);},this);}
Manager.prototype={set:function(options){assign(this.options,options);if(options.touchAction){this.touchAction.update();}
if(options.inputTarget){this.input.destroy();this.input.target=options.inputTarget;this.input.init();}
return this;},stop:function(force){this.session.stopped=force?FORCED_STOP:STOP;},recognize:function(inputData){var session=this.session;if(session.stopped){return;}
this.touchAction.preventDefaults(inputData);var recognizer;var recognizers=this.recognizers;var curRecognizer=session.curRecognizer;if(!curRecognizer||(curRecognizer&&curRecognizer.state&STATE_RECOGNIZED)){curRecognizer=session.curRecognizer=null;}
var i=0;while(i<recognizers.length){recognizer=recognizers[i];if(session.stopped!==FORCED_STOP&&(!curRecognizer||recognizer==curRecognizer||recognizer.canRecognizeWith(curRecognizer))){recognizer.recognize(inputData);}else{recognizer.reset();}
if(!curRecognizer&&recognizer.state&(STATE_BEGAN|STATE_CHANGED|STATE_ENDED)){curRecognizer=session.curRecognizer=recognizer;}
i++;}},get:function(recognizer){if(recognizer instanceof Recognizer){return recognizer;}
var recognizers=this.recognizers;for(var i=0;i<recognizers.length;i++){if(recognizers[i].options.event==recognizer){return recognizers[i];}}
return null;},add:function(recognizer){if(invokeArrayArg(recognizer,'add',this)){return this;}
var existing=this.get(recognizer.options.event);if(existing){this.remove(existing);}
this.recognizers.push(recognizer);recognizer.manager=this;this.touchAction.update();return recognizer;},remove:function(recognizer){if(invokeArrayArg(recognizer,'remove',this)){return this;}
recognizer=this.get(recognizer);if(recognizer){var recognizers=this.recognizers;var index=inArray(recognizers,recognizer);if(index!==-1){recognizers.splice(index,1);this.touchAction.update();}}
return this;},on:function(events,handler){if(events===undefined){return;}
if(handler===undefined){return;}
var handlers=this.handlers;each(splitStr(events),function(event){handlers[event]=handlers[event]||[];handlers[event].push(handler);});return this;},off:function(events,handler){if(events===undefined){return;}
var handlers=this.handlers;each(splitStr(events),function(event){if(!handler){delete handlers[event];}else{handlers[event]&&handlers[event].splice(inArray(handlers[event],handler),1);}});return this;},emit:function(event,data){if(this.options.domEvents){triggerDomEvent(event,data);}
var handlers=this.handlers[event]&&this.handlers[event].slice();if(!handlers||!handlers.length){return;}
data.type=event;data.preventDefault=function(){data.srcEvent.preventDefault();};var i=0;while(i<handlers.length){handlers[i](data);i++;}},destroy:function(){this.element&&toggleCssProps(this,false);this.handlers={};this.session={};this.input.destroy();this.element=null;}};function toggleCssProps(manager,add){var element=manager.element;if(!element.style){return;}
var prop;each(manager.options.cssProps,function(value,name){prop=prefixed(element.style,name);if(add){manager.oldCssProps[prop]=element.style[prop];element.style[prop]=value;}else{element.style[prop]=manager.oldCssProps[prop]||'';}});if(!add){manager.oldCssProps={};}}
function triggerDomEvent(event,data){var gestureEvent=document.createEvent('Event');gestureEvent.initEvent(event,true,true);gestureEvent.gesture=data;data.target.dispatchEvent(gestureEvent);}
assign(NGHammer,{INPUT_START:INPUT_START,INPUT_MOVE:INPUT_MOVE,INPUT_END:INPUT_END,INPUT_CANCEL:INPUT_CANCEL,STATE_POSSIBLE:STATE_POSSIBLE,STATE_BEGAN:STATE_BEGAN,STATE_CHANGED:STATE_CHANGED,STATE_ENDED:STATE_ENDED,STATE_RECOGNIZED:STATE_RECOGNIZED,STATE_CANCELLED:STATE_CANCELLED,STATE_FAILED:STATE_FAILED,DIRECTION_NONE:DIRECTION_NONE,DIRECTION_LEFT:DIRECTION_LEFT,DIRECTION_RIGHT:DIRECTION_RIGHT,DIRECTION_UP:DIRECTION_UP,DIRECTION_DOWN:DIRECTION_DOWN,DIRECTION_HORIZONTAL:DIRECTION_HORIZONTAL,DIRECTION_VERTICAL:DIRECTION_VERTICAL,DIRECTION_ALL:DIRECTION_ALL,Manager:Manager,Input:Input,TouchAction:TouchAction,TouchInput:TouchInput,MouseInput:MouseInput,PointerEventInput:PointerEventInput,TouchMouseInput:TouchMouseInput,SingleTouchInput:SingleTouchInput,Recognizer:Recognizer,AttrRecognizer:AttrRecognizer,Tap:TapRecognizer,Pan:PanRecognizer,Swipe:SwipeRecognizer,Pinch:PinchRecognizer,Rotate:RotateRecognizer,Press:PressRecognizer,on:addEventListeners,off:removeEventListeners,each:each,merge:merge,extend:extend,assign:assign,inherit:inherit,bindFn:bindFn,prefixed:prefixed});var freeGlobal=(typeof window!=='undefined'?window:(typeof self!=='undefined'?self:{}));freeGlobal.NGHammer=NGHammer;if(typeof define==='function'&&define.amdDISABLED){define(function(){return NGHammer;});}else if(typeof module!='undefined'&&module.exports){module.exports=NGHammer;}else{window[exportName]=NGHammer;}})(window,document,'NGHammer');}));(function(){'use strict';function document_ready(callback){if(document.readyState!='loading')callback();else if(document.addEventListener)document.addEventListener('DOMContentLoaded',callback);else document.attachEvent('onreadystatechange',function(){if(document.readyState=='complete')callback();});}
document_ready(function(){var t=document.querySelectorAll('[data-nanogallery2]');for(var i=0;i<t.length;i++){jQuery(t[i]).nanogallery2(jQuery(t[i]).data('nanogallery2'));}
var t=document.querySelectorAll('[data-nanogallery2-lightbox]');for(var i=0;i<t.length;i++){t[i].classList.add('NGY2ThumbnailLightbox');t[i].addEventListener('click',function(e){e.preventDefault();var options={lightboxStandalone:true,viewerToolbar:{display:false}};var g=this.dataset.nanogallery2Lgroup;var t=document.querySelectorAll('[data-nanogallery2-lightbox]');for(var i=0;i<t.length;i++){if(t[i].dataset.nanogallery2Lgroup==g){if(t[i].dataset.nanogallery2Lightbox!==""){options=jQuery.extend(true,{},options,jQuery(t[i]).data('nanogallery2Lightbox'));break;}}}
jQuery(this).nanogallery2(options);});}});}).call(null);;;
if(typeof Object.create!=='function'){Object.create=function(obj){function F(){}
F.prototype=obj;return new F();};}
(function($,window,document){var EZP={init:function(options,elem){var self=this;self.elem=elem;self.$elem=$(elem);self.options=$.extend({},$.fn.ezPlus.options,self.responsiveConfig(options||{}));self.imageSrc=self.$elem.attr('data-'+self.options.attrImageZoomSrc)?self.$elem.attr('data-'+self.options.attrImageZoomSrc):self.$elem.attr('src');if(!self.options.enabled){return;}
if(self.options.tint){self.options.lensColour='transparent';self.options.lensOpacity='1';}
if(self.options.zoomType==='inner'){self.options.showLens=false;}
if(self.options.zoomType==='lens'){self.options.zoomWindowWidth=0;}
if(self.options.zoomId===-1){self.options.zoomId=generateUUID();}
self.$elem.parent().removeAttr('title').removeAttr('alt');self.zoomImage=self.imageSrc;self.refresh(1);var galleryEvent=self.options.galleryEvent+'.ezpspace';galleryEvent+=self.options.touchEnabled?' touchend.ezpspace':'';self.$galleries=$(self.options.gallery?('#'+self.options.gallery):self.options.gallerySelector);self.$galleries.on(galleryEvent,self.options.galleryItem,function(e){if(self.options.galleryActiveClass){$(self.options.galleryItem,self.$galleries).removeClass(self.options.galleryActiveClass);$(this).addClass(self.options.galleryActiveClass);}
if(this.tagName==='A'){e.preventDefault();}
if($(this).data(self.options.attrImageZoomSrc)){self.zoomImagePre=$(this).data(self.options.attrImageZoomSrc);}
else{self.zoomImagePre=$(this).data('image');}
self.swaptheimage($(this).data('image'),self.zoomImagePre);if(this.tagName==='A'){return false;}});function generateUUID(){var d=new Date().getTime();var uuid='xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g,function(c){var r=(d+Math.random()*16)%16|0;d=Math.floor(d/16);return(c==='x'?r:(r&0x3|0x8)).toString(16);});return uuid;}},refresh:function(length){var self=this;setTimeout(function(){self.fetch(self.imageSrc,self.$elem,self.options.minZoomLevel);},length||self.options.refresh);},fetch:function(imgsrc,element,minZoom){var self=this;var newImg=new Image();newImg.onload=function(){if(newImg.width/element.width()<=minZoom){self.largeWidth=element.width()*minZoom;}else{self.largeWidth=newImg.width;}
if(newImg.height/element.height()<=minZoom){self.largeHeight=element.height()*minZoom;}else{self.largeHeight=newImg.height;}
self.startZoom();self.currentImage=self.imageSrc;self.options.onZoomedImageLoaded(self.$elem);};self.setImageSource(newImg,imgsrc);return;},setImageSource:function(image,src){image.src=src;},startZoom:function(){var self=this;self.nzWidth=self.$elem.width();self.nzHeight=self.$elem.height();self.isWindowActive=false;self.isLensActive=false;self.isTintActive=false;self.overWindow=false;if(self.options.imageCrossfade){var elementZoomWrapper=$('<div class="zoomWrapper"/>').css({height:self.nzHeight,width:self.nzWidth});if(self.$elem.parent().hasClass('zoomWrapper')){self.$elem.unwrap();}
self.zoomWrap=self.$elem.wrap(elementZoomWrapper);self.$elem.css({position:'absolute'});}
self.zoomLock=1;self.scrollingLock=false;self.changeBgSize=false;self.currentZoomLevel=self.options.zoomLevel;self.updateOffset(self);self.widthRatio=(self.largeWidth/self.currentZoomLevel)/self.nzWidth;self.heightRatio=(self.largeHeight/self.currentZoomLevel)/self.nzHeight;function getWindowZoomStyle(){return{display:'none',position:'absolute',height:self.options.zoomWindowHeight,width:self.options.zoomWindowWidth,border:''+self.options.borderSize+'px solid '+self.options.borderColour,backgroundSize:''+(self.largeWidth/self.currentZoomLevel)+'px '+(self.largeHeight/self.currentZoomLevel)+'px',backgroundPosition:'0px 0px',backgroundRepeat:'no-repeat',backgroundColor:''+self.options.zoomWindowBgColour,overflow:'hidden',zIndex:100};}
if(self.options.zoomType==='window'){self.zoomWindowStyle=getWindowZoomStyle();}
function getInnerZoomStyle(){var borderWidth=self.$elem.css('border-left-width');if(self.options.scrollZoom)
self.zoomLens=$('<div class="zoomLens"/>');return{display:'none',position:'absolute',height:self.nzHeight,width:self.nzWidth,marginTop:borderWidth,marginLeft:borderWidth,border:''+self.options.borderSize+'px solid '+self.options.borderColour,backgroundPosition:'0px 0px',backgroundRepeat:'no-repeat',cursor:self.options.cursor,overflow:'hidden',zIndex:self.options.zIndex};}
if(self.options.zoomType==='inner'){self.zoomWindowStyle=getInnerZoomStyle();}
function getWindowLensStyle(){if(self.nzHeight<self.options.zoomWindowHeight/self.heightRatio){self.lensHeight=self.nzHeight;}
else{self.lensHeight=self.options.zoomWindowHeight/self.heightRatio;}
if(self.largeWidth<self.options.zoomWindowWidth){self.lensWidth=self.nzWidth;}
else{self.lensWidth=self.options.zoomWindowWidth/self.widthRatio;}
return{display:'none',position:'absolute',height:self.lensHeight,width:self.lensWidth,border:''+self.options.lensBorderSize+'px'+' solid '+self.options.lensBorderColour,backgroundPosition:'0px 0px',backgroundRepeat:'no-repeat',backgroundColor:self.options.lensColour,opacity:self.options.lensOpacity,cursor:self.options.cursor,zIndex:999,overflow:'hidden'};}
if(self.options.zoomType==='window'){self.lensStyle=getWindowLensStyle();}
self.tintStyle={display:'block',position:'absolute',height:self.nzHeight,width:self.nzWidth,backgroundColor:self.options.tintColour,opacity:0};self.lensRound={};if(self.options.zoomType==='lens'){self.lensStyle={display:'none',position:'absolute',float:'left',height:self.options.lensSize,width:self.options.lensSize,border:''+self.options.borderSize+'px solid '+self.options.borderColour,backgroundPosition:'0px 0px',backgroundRepeat:'no-repeat',backgroundColor:self.options.lensColour,cursor:self.options.cursor};}
if(self.options.lensShape==='round'){self.lensRound={borderRadius:self.options.lensSize/2+self.options.borderSize};}
self.zoomContainer=$('<div class="'+self.options.container+'" '+'uuid="'+self.options.zoomId+'"/>');self.zoomContainer.css({position:'absolute',top:self.nzOffset.top,left:self.nzOffset.left,height:self.nzHeight,width:self.nzWidth,zIndex:self.options.zIndex});if(self.$elem.attr('id')){self.zoomContainer.attr('id',self.$elem.attr('id')+'-'+self.options.container);}
$('.'+self.options.container+'[uuid="'+self.options.zoomId+'"]').remove();$(self.options.zoomContainerAppendTo).append(self.zoomContainer);if(self.options.containLensZoom&&self.options.zoomType==='lens'){self.zoomContainer.css('overflow','hidden');}
if(self.options.zoomType!=='inner'){self.zoomLens=$('<div class="zoomLens"/>').css($.extend({},self.lensStyle,self.lensRound)).appendTo(self.zoomContainer).click(function(){self.$elem.trigger('click');});if(self.options.tint){self.tintContainer=$('<div class="tintContainer"/>');self.zoomTint=$('<div class="zoomTint"/>').css(self.tintStyle);self.zoomLens.wrap(self.tintContainer);self.zoomTintcss=self.zoomLens.after(self.zoomTint);self.zoomTintImage=$('<img src="'+self.$elem.attr('src')+'">').css({position:'absolute',top:0,left:0,height:self.nzHeight,width:self.nzWidth,maxWidth:'none'}).appendTo(self.zoomLens).click(function(){self.$elem.trigger('click');});}}
var targetZoomContainer=isNaN(self.options.zoomWindowPosition)?'body':self.zoomContainer;self.zoomWindow=$('<div class="zoomWindow"/>').css($.extend({zIndex:999,top:self.windowOffsetTop,left:self.windowOffsetLeft,},self.zoomWindowStyle)).appendTo(targetZoomContainer).click(function(){self.$elem.trigger('click');});self.zoomWindowContainer=$('<div class="zoomWindowContainer" />').css({width:self.options.zoomWindowWidth});self.zoomWindow.wrap(self.zoomWindowContainer);if(self.options.zoomType==='lens'){self.zoomContainer.css('display','none');self.zoomLens.css({backgroundImage:'url("'+self.imageSrc+'")'});}
if(self.options.zoomType==='window'){self.zoomWindow.css({backgroundImage:'url("'+self.imageSrc+'")'});}
if(self.options.zoomType==='inner'){self.zoomWindow.css({backgroundImage:'url("'+self.imageSrc+'")'});}
if(self.options.touchEnabled){self.$elem.on('touchmove.ezpspace',function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.setPosition(touch);});self.zoomContainer.on('touchmove.ezpspace',function(e){self.setElements('show');e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.setPosition(touch);});self.zoomContainer.add(self.$elem).on('touchend.ezpspace',function(e){self.showHideWindow('hide');if(self.options.showLens){self.showHideLens('hide');}
if(self.options.tint&&self.options.zoomType!=='inner'){self.showHideTint('hide');}});if(self.options.showLens){self.zoomLens.on('touchmove.ezpspace',function(e){e.preventDefault();var touch=e.originalEvent.touches[0]||e.originalEvent.changedTouches[0];self.setPosition(touch);});self.zoomLens.on('touchend.ezpspace',function(e){self.showHideWindow('hide');if(self.options.showLens){self.showHideLens('hide');}
if(self.options.tint&&self.options.zoomType!=='inner'){self.showHideTint('hide');}});}}
self.zoomContainer.on('click.ezpspace touchstart.ezpspace',self.options.onImageClick);self.zoomContainer.add(self.$elem).on('mousemove.ezpspace',function(e){if(self.overWindow===false){self.setElements('show');}
mouseMoveZoomHandler(e);});function mouseMoveZoomHandler(e){if(self.lastX!==e.clientX||self.lastY!==e.clientY){self.setPosition(e);self.currentLoc=e;}
self.lastX=e.clientX;self.lastY=e.clientY;}
var elementToTrack=null;if(self.options.zoomType!=='inner'){elementToTrack=self.zoomLens;}
if(self.options.tint&&self.options.zoomType!=='inner'){elementToTrack=self.zoomTint;}
if(self.options.zoomType==='inner'){elementToTrack=self.zoomWindow;}
if(elementToTrack){elementToTrack.on('mousemove.ezpspace',mouseMoveZoomHandler);}
self.zoomContainer.add(self.$elem).hover(function(){if(self.overWindow===false){self.setElements('show');}},function(){if(!self.scrollLock){self.setElements('hide');self.options.onDestroy(self.$elem);}});if(self.options.zoomType!=='inner'){self.zoomWindow.hover(function(){self.overWindow=true;self.setElements('hide');},function(){self.overWindow=false;});}
if(self.options.minZoomLevel){self.minZoomLevel=self.options.minZoomLevel;}
else{self.minZoomLevel=self.options.scrollZoomIncrement*2;}
if(self.options.scrollZoom){self.zoomContainer.add(self.$elem).on('wheel DOMMouseScroll MozMousePixelScroll',function(e){self.scrollLock=true;clearTimeout($.data(this,'timer'));$.data(this,'timer',setTimeout(function(){self.scrollLock=false;},250));var theEvent=e.originalEvent.deltaY||e.originalEvent.detail* -1;e.stopImmediatePropagation();e.stopPropagation();e.preventDefault();if(theEvent===0){return false;}
var nextZoomLevel;if(theEvent/120>0){nextZoomLevel=parseFloat(self.currentZoomLevel)-self.options.scrollZoomIncrement;if(nextZoomLevel>=parseFloat(self.minZoomLevel)){self.changeZoomLevel(nextZoomLevel);}}
else{if((!self.fullheight&&!self.fullwidth)||!self.options.mantainZoomAspectRatio){nextZoomLevel=parseFloat(self.currentZoomLevel)+self.options.scrollZoomIncrement;if(self.options.maxZoomLevel){if(nextZoomLevel<=self.options.maxZoomLevel){self.changeZoomLevel(nextZoomLevel);}}
else{self.changeZoomLevel(nextZoomLevel);}}}
return false;});}},destroy:function(){var self=this;self.$elem.off('.ezpspace');self.$galleries.off('.ezpspace');$(self.zoomContainer).remove();if(self.options.loadingIcon&&!!self.spinner&&!!self.spinner.length){self.spinner.remove();delete self.spinner;}},getIdentifier:function(){var self=this;return self.options.zoomId;},setElements:function(type){var self=this;if(!self.options.zoomEnabled){return false;}
if(type==='show'){if(self.isWindowSet){if(self.options.zoomType==='inner'){self.showHideWindow('show');}
if(self.options.zoomType==='window'){self.showHideWindow('show');}
if(self.options.showLens){self.showHideZoomContainer('show');self.showHideLens('show');}
if(self.options.tint&&self.options.zoomType!=='inner'){self.showHideTint('show');}}}
if(type==='hide'){if(self.options.zoomType==='window'){self.showHideWindow('hide');}
if(!self.options.tint){self.showHideWindow('hide');}
if(self.options.showLens){self.showHideZoomContainer('hide');self.showHideLens('hide');}
if(self.options.tint){self.showHideTint('hide');}}},setPosition:function(e){var self=this;if(!self.options.zoomEnabled||e===undefined){return false;}
self.nzHeight=self.$elem.height();self.nzWidth=self.$elem.width();self.updateOffset(self);if(self.options.tint&&self.options.zoomType!=='inner'){self.zoomTint.css({top:0,left:0});}
if(self.options.responsive&&!self.options.scrollZoom){if(self.options.showLens){var lensHeight,lensWidth;if(self.nzHeight<self.options.zoomWindowWidth/self.widthRatio){self.lensHeight=self.nzHeight;}
else{self.lensHeight=self.options.zoomWindowHeight/self.heightRatio;}
if(self.largeWidth<self.options.zoomWindowWidth){self.lensWidth=self.nzWidth;}
else{self.lensWidth=(self.options.zoomWindowWidth/self.widthRatio);}
self.widthRatio=self.largeWidth/self.nzWidth;self.heightRatio=self.largeHeight/self.nzHeight;if(self.options.zoomType!=='lens'){if(self.nzHeight<self.options.zoomWindowWidth/self.widthRatio){self.lensHeight=self.nzHeight;}
else{self.lensHeight=self.options.zoomWindowHeight/self.heightRatio;}
if(self.nzWidth<self.options.zoomWindowHeight/self.heightRatio){self.lensWidth=self.nzWidth;}
else{self.lensWidth=self.options.zoomWindowWidth/self.widthRatio;}
self.zoomLens.css({width:self.lensWidth,height:self.lensHeight});if(self.options.tint){self.zoomTintImage.css({width:self.nzWidth,height:self.nzHeight});}}
if(self.options.zoomType==='lens'){self.zoomLens.css({width:self.options.lensSize,height:self.options.lensSize});}}}
self.zoomContainer.css({top:self.nzOffset.top,left:self.nzOffset.left,width:self.nzWidth,height:self.nzHeight});self.mouseLeft=parseInt(e.pageX-self.pageOffsetX-self.nzOffset.left);self.mouseTop=parseInt(e.pageY-self.pageOffsetY-self.nzOffset.top);if(self.options.zoomType==='window'){var zoomLensHeight=self.zoomLens.height()/2;var zoomLensWidth=self.zoomLens.width()/2;self.Etoppos=(self.mouseTop<0+zoomLensHeight);self.Eboppos=(self.mouseTop>self.nzHeight-zoomLensHeight-(self.options.lensBorderSize*2));self.Eloppos=(self.mouseLeft<0+zoomLensWidth);self.Eroppos=(self.mouseLeft>(self.nzWidth-zoomLensWidth-(self.options.lensBorderSize*2)));}
if(self.options.zoomType==='inner'){self.Etoppos=(self.mouseTop<((self.nzHeight/2)/self.heightRatio));self.Eboppos=(self.mouseTop>(self.nzHeight-((self.nzHeight/2)/self.heightRatio)));self.Eloppos=(self.mouseLeft<0+(((self.nzWidth/2)/self.widthRatio)));self.Eroppos=(self.mouseLeft>(self.nzWidth-(self.nzWidth/2)/self.widthRatio-(self.options.lensBorderSize*2)));}
if(self.mouseLeft<0||self.mouseTop<0||self.mouseLeft>self.nzWidth||self.mouseTop>self.nzHeight){self.setElements('hide');return;}
else{if(self.options.showLens){self.lensLeftPos=Math.floor(self.mouseLeft-self.zoomLens.width()/2);self.lensTopPos=Math.floor(self.mouseTop-self.zoomLens.height()/2);}
if(self.Etoppos){self.lensTopPos=0;}
if(self.Eloppos){self.windowLeftPos=0;self.lensLeftPos=0;self.tintpos=0;}
if(self.options.zoomType==='window'){if(self.Eboppos){self.lensTopPos=Math.max((self.nzHeight)-self.zoomLens.height()-(self.options.lensBorderSize*2),0);}
if(self.Eroppos){self.lensLeftPos=(self.nzWidth-(self.zoomLens.width())-(self.options.lensBorderSize*2));}}
if(self.options.zoomType==='inner'){if(self.Eboppos){self.lensTopPos=Math.max(((self.nzHeight)-(self.options.lensBorderSize*2)),0);}
if(self.Eroppos){self.lensLeftPos=(self.nzWidth-(self.nzWidth)-(self.options.lensBorderSize*2));}}
if(self.options.zoomType==='lens'){self.windowLeftPos=((e.pageX-self.pageOffsetX-self.nzOffset.left)*self.widthRatio-self.zoomLens.width()/2)* -1;self.windowTopPos=((e.pageY-self.pageOffsetY-self.nzOffset.top)*self.heightRatio-self.zoomLens.height()/2)* -1;self.zoomLens.css({backgroundPosition:''+self.windowLeftPos+'px '+self.windowTopPos+'px'});if(self.changeBgSize){if(self.nzHeight>self.nzWidth){if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
else{if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
self.changeBgSize=false;}
self.setWindowPosition(e);}
if(self.options.tint&&self.options.zoomType!=='inner'){self.setTintPosition(e);}
if(self.options.zoomType==='window'){self.setWindowPosition(e);}
if(self.options.zoomType==='inner'){self.setWindowPosition(e);}
if(self.options.showLens){if(self.fullwidth&&self.options.zoomType!=='lens'){self.lensLeftPos=0;}
self.zoomLens.css({left:self.lensLeftPos,top:self.lensTopPos});}}},showHideZoomContainer:function(change){var self=this;if(change==='show'){if(self.zoomContainer){self.zoomContainer.show();}}
if(change==='hide'){if(self.zoomContainer){self.zoomContainer.hide();}}},showHideWindow:function(change){var self=this;if(change==='show'){if(!self.isWindowActive&&self.zoomWindow){self.options.onShow(self);if(self.options.zoomWindowFadeIn){self.zoomWindow.stop(true,true,false).fadeIn(self.options.zoomWindowFadeIn);}
else{self.zoomWindow.show();}
self.isWindowActive=true;}}
if(change==='hide'){if(self.isWindowActive){if(self.options.zoomWindowFadeOut){self.zoomWindow.stop(true,true).fadeOut(self.options.zoomWindowFadeOut,function(){if(self.loop){clearInterval(self.loop);self.loop=false;}});}
else{self.zoomWindow.hide();}
self.options.onHide(self);self.isWindowActive=false;}}},showHideLens:function(change){var self=this;if(change==='show'){if(!self.isLensActive){if(self.zoomLens){if(self.options.lensFadeIn){self.zoomLens.stop(true,true,false).fadeIn(self.options.lensFadeIn);}
else{self.zoomLens.show();}}
self.isLensActive=true;}}
if(change==='hide'){if(self.isLensActive){if(self.zoomLens){if(self.options.lensFadeOut){self.zoomLens.stop(true,true).fadeOut(self.options.lensFadeOut);}
else{self.zoomLens.hide();}}
self.isLensActive=false;}}},showHideTint:function(change){var self=this;if(change==='show'){if(!self.isTintActive&&self.zoomTint){if(self.options.zoomTintFadeIn){self.zoomTint.css('opacity',self.options.tintOpacity).animate().stop(true,true).fadeIn('slow');}
else{self.zoomTint.css('opacity',self.options.tintOpacity).animate();self.zoomTint.show();}
self.isTintActive=true;}}
if(change==='hide'){if(self.isTintActive){if(self.options.zoomTintFadeOut){self.zoomTint.stop(true,true).fadeOut(self.options.zoomTintFadeOut);}
else{self.zoomTint.hide();}
self.isTintActive=false;}}},setLensPosition:function(e){},setWindowPosition:function(e){var self=this;if(!isNaN(self.options.zoomWindowPosition)){switch(self.options.zoomWindowPosition){case 1:self.windowOffsetTop=(self.options.zoomWindowOffsetY);self.windowOffsetLeft=(+self.nzWidth);break;case 2:if(self.options.zoomWindowHeight>self.nzHeight){self.windowOffsetTop=((self.options.zoomWindowHeight/2)-(self.nzHeight/2))*(-1);self.windowOffsetLeft=(self.nzWidth);}
else{$.noop();}
break;case 3:self.windowOffsetTop=(self.nzHeight-self.zoomWindow.height()-(self.options.borderSize*2));self.windowOffsetLeft=(self.nzWidth);break;case 4:self.windowOffsetTop=(self.nzHeight);self.windowOffsetLeft=(self.nzWidth);break;case 5:self.windowOffsetTop=(self.nzHeight);self.windowOffsetLeft=(self.nzWidth-self.zoomWindow.width()-(self.options.borderSize*2));break;case 6:if(self.options.zoomWindowHeight>self.nzHeight){self.windowOffsetTop=(self.nzHeight);self.windowOffsetLeft=((self.options.zoomWindowWidth/2)-(self.nzWidth/2)+(self.options.borderSize*2))*(-1);}
else{$.noop();}
break;case 7:self.windowOffsetTop=(self.nzHeight);self.windowOffsetLeft=0;break;case 8:self.windowOffsetTop=(self.nzHeight);self.windowOffsetLeft=(self.zoomWindow.width()+(self.options.borderSize*2))*(-1);break;case 9:self.windowOffsetTop=(self.nzHeight-self.zoomWindow.height()-(self.options.borderSize*2));self.windowOffsetLeft=(self.zoomWindow.width()+(self.options.borderSize*2))*(-1);break;case 10:if(self.options.zoomWindowHeight>self.nzHeight){self.windowOffsetTop=((self.options.zoomWindowHeight/2)-(self.nzHeight/2))*(-1);self.windowOffsetLeft=(self.zoomWindow.width()+(self.options.borderSize*2))*(-1);}
else{$.noop();}
break;case 11:self.windowOffsetTop=(self.options.zoomWindowOffsetY);self.windowOffsetLeft=(self.zoomWindow.width()+(self.options.borderSize*2))*(-1);break;case 12:self.windowOffsetTop=(self.zoomWindow.height()+(self.options.borderSize*2))*(-1);self.windowOffsetLeft=(self.zoomWindow.width()+(self.options.borderSize*2))*(-1);break;case 13:self.windowOffsetTop=(self.zoomWindow.height()+(self.options.borderSize*2))*(-1);self.windowOffsetLeft=(0);break;case 14:if(self.options.zoomWindowHeight>self.nzHeight){self.windowOffsetTop=(self.zoomWindow.height()+(self.options.borderSize*2))*(-1);self.windowOffsetLeft=((self.options.zoomWindowWidth/2)-(self.nzWidth/2)+(self.options.borderSize*2))*(-1);}
else{$.noop();}
break;case 15:self.windowOffsetTop=(self.zoomWindow.height()+(self.options.borderSize*2))*(-1);self.windowOffsetLeft=(self.nzWidth-self.zoomWindow.width()-(self.options.borderSize*2));break;case 16:self.windowOffsetTop=(self.zoomWindow.height()+(self.options.borderSize*2))*(-1);self.windowOffsetLeft=(self.nzWidth);break;default:self.windowOffsetTop=(self.options.zoomWindowOffsetY);self.windowOffsetLeft=(self.nzWidth);}}
else{self.externalContainer=$(self.options.zoomWindowPosition);if(!self.externalContainer.length){self.externalContainer=$('#'+self.options.zoomWindowPosition);}
self.externalContainerWidth=self.externalContainer.width();self.externalContainerHeight=self.externalContainer.height();self.externalContainerOffset=self.externalContainer.offset();self.windowOffsetTop=self.externalContainerOffset.top;self.windowOffsetLeft=self.externalContainerOffset.left;}
self.isWindowSet=true;self.windowOffsetTop=self.windowOffsetTop+self.options.zoomWindowOffsetY;self.windowOffsetLeft=self.windowOffsetLeft+self.options.zoomWindowOffsetX;self.zoomWindow.css({top:self.windowOffsetTop,left:self.windowOffsetLeft});if(self.options.zoomType==='inner'){self.zoomWindow.css({top:0,left:0});}
self.windowLeftPos=((e.pageX-self.pageOffsetX-self.nzOffset.left)*self.widthRatio-self.zoomWindow.width()/2)* -1;self.windowTopPos=((e.pageY-self.pageOffsetY-self.nzOffset.top)*self.heightRatio-self.zoomWindow.height()/2)* -1;if(self.Etoppos){self.windowTopPos=0;}
if(self.Eloppos){self.windowLeftPos=0;}
if(self.Eboppos){self.windowTopPos=(self.largeHeight/self.currentZoomLevel-self.zoomWindow.height())*(-1);}
if(self.Eroppos){self.windowLeftPos=((self.largeWidth/self.currentZoomLevel-self.zoomWindow.width())*(-1));}
if(self.fullheight){self.windowTopPos=0;}
if(self.fullwidth){self.windowLeftPos=0;}
if(self.options.zoomType==='window'||self.options.zoomType==='inner'){if(self.zoomLock===1){if(self.widthRatio<=1){self.windowLeftPos=0;}
if(self.heightRatio<=1){self.windowTopPos=0;}}
if(self.options.easing){if(!self.xp){self.xp=0;}
if(!self.yp){self.yp=0;}
var interval=16;var easingInterval=parseInt(self.options.easing);if(typeof easingInterval==='number'&&isFinite(easingInterval)&&Math.floor(easingInterval)===easingInterval){interval=easingInterval;}
if(!self.loop){self.loop=setInterval(function(){self.xp+=(self.windowLeftPos-self.xp)/self.options.easingAmount;self.yp+=(self.windowTopPos-self.yp)/self.options.easingAmount;if(self.scrollingLock){clearInterval(self.loop);self.xp=self.windowLeftPos;self.yp=self.windowTopPos;self.xp=((e.pageX-self.pageOffsetX-self.nzOffset.left)*self.widthRatio-self.zoomWindow.width()/2)*(-1);self.yp=(((e.pageY-self.pageOffsetY-self.nzOffset.top)*self.heightRatio-self.zoomWindow.height()/2)*(-1));if(self.changeBgSize){if(self.nzHeight>self.nzWidth){if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
else{if(self.options.zoomType!=='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
self.changeBgSize=false;}
self.zoomWindow.css({backgroundPosition:''+self.windowLeftPos+'px '+self.windowTopPos+'px'});self.scrollingLock=false;self.loop=false;}
else if(Math.round(Math.abs(self.xp-self.windowLeftPos)+Math.abs(self.yp-self.windowTopPos))<1){clearInterval(self.loop);self.zoomWindow.css({backgroundPosition:''+self.windowLeftPos+'px '+self.windowTopPos+'px'});self.loop=false;}
else{if(self.changeBgSize){if(self.nzHeight>self.nzWidth){if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
else{if(self.options.zoomType!=='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
self.changeBgSize=false;}
self.zoomWindow.css({backgroundPosition:''+self.xp+'px '+self.yp+'px'});}},interval);}}
else{if(self.changeBgSize){if(self.nzHeight>self.nzWidth){if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}
else{if(self.options.zoomType==='lens'){self.zoomLens.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
if((self.largeHeight/self.newvaluewidth)<self.options.zoomWindowHeight){self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvaluewidth)+'px '+
(self.largeHeight/self.newvaluewidth)+'px'});}
else{self.zoomWindow.css({backgroundSize:''+
(self.largeWidth/self.newvalueheight)+'px '+
(self.largeHeight/self.newvalueheight)+'px'});}}
self.changeBgSize=false;}
self.zoomWindow.css({backgroundPosition:''+
self.windowLeftPos+'px '+
self.windowTopPos+'px'});}}},setTintPosition:function(e){var self=this;var zoomLensWidth=self.zoomLens.width();var zoomLensHeight=self.zoomLens.height();self.updateOffset(self);self.tintpos=((e.pageX-self.pageOffsetX-self.nzOffset.left)-(zoomLensWidth/2))* -1;self.tintposy=((e.pageY-self.pageOffsetY-self.nzOffset.top)-zoomLensHeight/2)* -1;if(self.Etoppos){self.tintposy=0;}
if(self.Eloppos){self.tintpos=0;}
if(self.Eboppos){self.tintposy=(self.nzHeight-zoomLensHeight-(self.options.lensBorderSize*2))*(-1);}
if(self.Eroppos){self.tintpos=((self.nzWidth-zoomLensWidth-(self.options.lensBorderSize*2))*(-1));}
if(self.options.tint){if(self.fullheight){self.tintposy=0;}
if(self.fullwidth){self.tintpos=0;}
self.zoomTintImage.css({left:self.tintpos,top:self.tintposy});}},swaptheimage:function(smallimage,largeimage){var self=this;var newImg=new Image();if(self.options.loadingIcon&&!self.spinner){var styleAttr={background:'url("'+self.options.loadingIcon+'") no-repeat',height:self.nzHeight,width:self.nzWidth,zIndex:2000,position:'absolute',backgroundPosition:'center center',};if(self.options.zoomType==='inner'){styleAttr.setProperty('top',0);}
self.spinner=$('<div class="ezp-spinner"></div>').css(styleAttr);self.$elem.after(self.spinner);}else if(self.spinner){self.spinner.show();}
self.options.onImageSwap(self.$elem);newImg.onload=function(){self.largeWidth=newImg.width;self.largeHeight=newImg.height;self.zoomImage=largeimage;self.zoomWindow.css({backgroundSize:''+self.largeWidth+'px '+self.largeHeight+'px'});self.swapAction(smallimage,largeimage);return;};self.setImageSource(newImg,largeimage);},swapAction:function(smallimage,largeimage){var self=this;var elemWidth=self.$elem.width();var elemHeight=self.$elem.height();var newImg2=new Image();newImg2.onload=function(){self.nzHeight=newImg2.height;self.nzWidth=newImg2.width;self.options.onImageSwapComplete(self.$elem);self.doneCallback();return;};self.setImageSource(newImg2,smallimage);self.currentZoomLevel=self.options.zoomLevel;self.options.maxZoomLevel=false;if(self.options.zoomType==='lens'){self.zoomLens.css('background-image','url("'+largeimage+'")');}
if(self.options.zoomType==='window'){self.zoomWindow.css('background-image','url("'+largeimage+'")');}
if(self.options.zoomType==='inner'){self.zoomWindow.css('background-image','url("'+largeimage+'")');}
self.currentImage=largeimage;if(self.options.imageCrossfade){var oldImg=self.$elem;var newImg=oldImg.clone();self.$elem.attr('src',smallimage);self.$elem.after(newImg);newImg.stop(true).fadeOut(self.options.imageCrossfade,function(){$(this).remove();});self.$elem.width('auto').removeAttr('width');self.$elem.height('auto').removeAttr('height');oldImg.fadeIn(self.options.imageCrossfade);if(self.options.tint&&self.options.zoomType!=='inner'){var oldImgTint=self.zoomTintImage;var newImgTint=oldImgTint.clone();self.zoomTintImage.attr('src',largeimage);self.zoomTintImage.after(newImgTint);newImgTint.stop(true).fadeOut(self.options.imageCrossfade,function(){$(this).remove();});oldImgTint.fadeIn(self.options.imageCrossfade);self.zoomTint.css({height:elemHeight,width:elemWidth});}
self.zoomContainer.css({'height':elemHeight,'width':elemWidth});if(self.options.zoomType==='inner'){if(!self.options.constrainType){self.zoomWrap.parent().css({'height':elemHeight,'width':elemWidth});self.zoomWindow.css({'height':elemHeight,'width':elemWidth});}}
if(self.options.imageCrossfade){self.zoomWrap.css({'height':elemHeight,'width':elemWidth});}}
else{self.$elem.attr('src',smallimage);if(self.options.tint){self.zoomTintImage.attr('src',largeimage);self.zoomTintImage.attr('height',elemHeight);self.zoomTintImage.css('height',elemHeight);self.zoomTint.css('height',elemHeight);}
self.zoomContainer.css({'height':elemHeight,'width':elemWidth});if(self.options.imageCrossfade){self.zoomWrap.css({'height':elemHeight,'width':elemWidth});}}
if(self.options.constrainType){if(self.options.constrainType==='height'){var autoWDimension={'height':self.options.constrainSize,'width':'auto'};self.zoomContainer.css(autoWDimension);if(self.options.imageCrossfade){self.zoomWrap.css(autoWDimension);self.constwidth=self.zoomWrap.width();}
else{self.$elem.css(autoWDimension);self.constwidth=elemWidth;}
var constWDim={'height':self.options.constrainSize,'width':self.constwidth};if(self.options.zoomType==='inner'){self.zoomWrap.parent().css(constWDim);self.zoomWindow.css(constWDim);}
if(self.options.tint){self.tintContainer.css(constWDim);self.zoomTint.css(constWDim);self.zoomTintImage.css(constWDim);}}
if(self.options.constrainType==='width'){var autoHDimension={'height':'auto','width':self.options.constrainSize};self.zoomContainer.css(autoHDimension);if(self.options.imageCrossfade){self.zoomWrap.css(autoHDimension);self.constheight=self.zoomWrap.height();}
else{self.$elem.css(autoHDimension);self.constheight=elemHeight;}
var constHDim={'height':self.constheight,'width':self.options.constrainSize};if(self.options.zoomType==='inner'){self.zoomWrap.parent().css(constHDim);self.zoomWindow.css(constHDim);}
if(self.options.tint){self.tintContainer.css(constHDim);self.zoomTint.css(constHDim);self.zoomTintImage.css(constHDim);}}}},doneCallback:function(){var self=this;if(self.options.loadingIcon&&!!self.spinner&&!!self.spinner.length){self.spinner.hide();}
self.updateOffset(self);self.nzWidth=self.$elem.width();self.nzHeight=self.$elem.height();self.currentZoomLevel=self.options.zoomLevel;self.widthRatio=self.largeWidth/self.nzWidth;self.heightRatio=self.largeHeight/self.nzHeight;if(self.options.zoomType==='window'){if(self.nzHeight<self.options.zoomWindowHeight/self.heightRatio){self.lensHeight=self.nzHeight;}
else{self.lensHeight=self.options.zoomWindowHeight/self.heightRatio;}
if(self.nzWidth<self.options.zoomWindowWidth){self.lensWidth=self.nzWidth;}
else{self.lensWidth=self.options.zoomWindowWidth/self.widthRatio;}
if(self.zoomLens){self.zoomLens.css({'width':self.lensWidth,'height':self.lensHeight});}}},getCurrentImage:function(){var self=this;return self.zoomImage;},getGalleryList:function(){var self=this;self.gallerylist=[];if(self.options.gallery){$('#'+self.options.gallery+' a').each(function(){var imgSrc='';if($(this).data(self.options.attrImageZoomSrc)){imgSrc=$(this).data(self.options.attrImageZoomSrc);}
else if($(this).data('image')){imgSrc=$(this).data('image');}
if(imgSrc===self.zoomImage){self.gallerylist.unshift({href:''+imgSrc+'',title:$(this).find('img').attr('title')});}
else{self.gallerylist.push({href:''+imgSrc+'',title:$(this).find('img').attr('title')});}});}
else{self.gallerylist.push({href:''+self.zoomImage+'',title:$(this).find('img').attr('title')});}
return self.gallerylist;},changeZoomLevel:function(value){var self=this;self.scrollingLock=true;self.newvalue=parseFloat(value).toFixed(2);var newvalue=self.newvalue;var maxheightnewvalue=self.largeHeight/((self.options.zoomWindowHeight/self.nzHeight)*self.nzHeight);var maxwidthtnewvalue=self.largeWidth/((self.options.zoomWindowWidth/self.nzWidth)*self.nzWidth);if(self.options.zoomType!=='inner'){if(maxheightnewvalue<=newvalue){self.heightRatio=(self.largeHeight/maxheightnewvalue)/self.nzHeight;self.newvalueheight=maxheightnewvalue;self.fullheight=true;}
else{self.heightRatio=(self.largeHeight/newvalue)/self.nzHeight;self.newvalueheight=newvalue;self.fullheight=false;}
if(maxwidthtnewvalue<=newvalue){self.widthRatio=(self.largeWidth/maxwidthtnewvalue)/self.nzWidth;self.newvaluewidth=maxwidthtnewvalue;self.fullwidth=true;}
else{self.widthRatio=(self.largeWidth/newvalue)/self.nzWidth;self.newvaluewidth=newvalue;self.fullwidth=false;}
if(self.options.zoomType==='lens'){if(maxheightnewvalue<=newvalue){self.fullwidth=true;self.newvaluewidth=maxheightnewvalue;}else{self.widthRatio=(self.largeWidth/newvalue)/self.nzWidth;self.newvaluewidth=newvalue;self.fullwidth=false;}}}
if(self.options.zoomType==='inner'){maxheightnewvalue=parseFloat(self.largeHeight/self.nzHeight).toFixed(2);maxwidthtnewvalue=parseFloat(self.largeWidth/self.nzWidth).toFixed(2);if(newvalue>maxheightnewvalue){newvalue=maxheightnewvalue;}
if(newvalue>maxwidthtnewvalue){newvalue=maxwidthtnewvalue;}
if(maxheightnewvalue<=newvalue){self.heightRatio=(self.largeHeight/newvalue)/self.nzHeight;if(newvalue>maxheightnewvalue){self.newvalueheight=maxheightnewvalue;}else{self.newvalueheight=newvalue;}
self.fullheight=true;}
else{self.heightRatio=(self.largeHeight/newvalue)/self.nzHeight;if(newvalue>maxheightnewvalue){self.newvalueheight=maxheightnewvalue;}else{self.newvalueheight=newvalue;}
self.fullheight=false;}
if(maxwidthtnewvalue<=newvalue){self.widthRatio=(self.largeWidth/newvalue)/self.nzWidth;if(newvalue>maxwidthtnewvalue){self.newvaluewidth=maxwidthtnewvalue;}else{self.newvaluewidth=newvalue;}
self.fullwidth=true;}
else{self.widthRatio=(self.largeWidth/newvalue)/self.nzWidth;self.newvaluewidth=newvalue;self.fullwidth=false;}}
var scrcontinue=false;if(self.options.zoomType==='inner'){if(self.nzWidth>=self.nzHeight){if(self.newvaluewidth<=maxwidthtnewvalue){scrcontinue=true;}
else{scrcontinue=false;self.fullheight=true;self.fullwidth=true;}}
if(self.nzHeight>self.nzWidth){if(self.newvaluewidth<=maxwidthtnewvalue){scrcontinue=true;}
else{scrcontinue=false;self.fullheight=true;self.fullwidth=true;}}}
if(self.options.zoomType!=='inner'){scrcontinue=true;}
if(scrcontinue){self.zoomLock=0;self.changeZoom=true;if(((self.options.zoomWindowHeight)/self.heightRatio)<=self.nzHeight){self.currentZoomLevel=self.newvalueheight;if(self.options.zoomType!=='lens'&&self.options.zoomType!=='inner'){self.changeBgSize=true;self.zoomLens.css({height:self.options.zoomWindowHeight/self.heightRatio});}
if(self.options.zoomType==='lens'||self.options.zoomType==='inner'){self.changeBgSize=true;}}
if((self.options.zoomWindowWidth/self.widthRatio)<=self.nzWidth){if(self.options.zoomType!=='inner'){if(self.newvaluewidth>self.newvalueheight){self.currentZoomLevel=self.newvaluewidth;}}
if(self.options.zoomType!=='lens'&&self.options.zoomType!=='inner'){self.changeBgSize=true;self.zoomLens.css({width:self.options.zoomWindowWidth/self.widthRatio});}
if(self.options.zoomType==='lens'||self.options.zoomType==='inner'){self.changeBgSize=true;}}
if(self.options.zoomType==='inner'){self.changeBgSize=true;if(self.nzWidth>self.nzHeight){self.currentZoomLevel=self.newvaluewidth;}
else if(self.nzHeight>=self.nzWidth){self.currentZoomLevel=self.newvaluewidth;}}}
self.setPosition(self.currentLoc);},closeAll:function(){var self=this;if(self.zoomWindow){self.zoomWindow.hide();}
if(self.zoomLens){self.zoomLens.hide();}
if(self.zoomTint){self.zoomTint.hide();}},updateOffset:function(self){if(self.options.zoomContainerAppendTo!=='body'){self.nzOffset=self.$elem.offset();var appendedPosition=$(self.options.zoomContainerAppendTo).offset();self.nzOffset.top=self.$elem.offset().top-appendedPosition.top;self.nzOffset.left=self.$elem.offset().left-appendedPosition.left;self.pageOffsetX=appendedPosition.left;self.pageOffsetY=appendedPosition.top;}else{self.nzOffset=self.$elem.offset();self.pageOffsetX=0;self.pageOffsetY=0;}},changeState:function(value){var self=this;if(value==='enable'){self.options.zoomEnabled=true;}
if(value==='disable'){self.options.zoomEnabled=false;}},responsiveConfig:function(options){if(options.respond&&options.respond.length>0){return $.extend({},options,this.configByScreenWidth(options));}
return options;},configByScreenWidth:function(options){var screenWidth=$(window).width();var config=$.grep(options.respond,function(item){var range=item.range.split('-');return(screenWidth>=range[0])&&(screenWidth<=range[1]);});if(config.length>0){return config[0];}else{return options;}}};$.fn.ezPlus=function(options){return this.each(function(){var elevate=Object.create(EZP);elevate.init(options,this);$.data(this,'ezPlus',elevate);});};$.fn.ezPlus.options={container:'ZoomContainer',attrImageZoomSrc:'zoom-image',borderColour:'#888',borderSize:4,constrainSize:false,constrainType:false,containLensZoom:false,cursor:'inherit',debug:false,easing:false,easingAmount:12,enabled:true,gallery:false,galleryActiveClass:'zoomGalleryActive',gallerySelector:false,galleryItem:'a',galleryEvent:'click',imageCrossfade:false,lensBorderColour:'#000',lensBorderSize:1,lensColour:'white',lensFadeIn:false,lensFadeOut:false,lensOpacity:0.4,lensShape:'square',lensSize:200,lenszoom:false,loadingIcon:false,mantainZoomAspectRatio:false,maxZoomLevel:false,minZoomLevel:1.01,onComplete:$.noop,onDestroy:$.noop,onImageClick:$.noop,onImageSwap:$.noop,onImageSwapComplete:$.noop,onShow:$.noop,onHide:$.noop,onZoomedImageLoaded:$.noop,preloading:1,respond:[],responsive:true,scrollZoom:false,scrollZoomIncrement:0.1,showLens:true,tint:false,tintColour:'#333',tintOpacity:0.4,touchEnabled:true,zoomActivation:'hover',zoomContainerAppendTo:'body',zoomId:-1,zoomLevel:1,zoomTintFadeIn:false,zoomTintFadeOut:false,zoomType:'window',zoomWindowAlwaysShow:false,zoomWindowBgColour:'#fff',zoomWindowFadeIn:false,zoomWindowFadeOut:false,zoomWindowHeight:400,zoomWindowOffsetX:0,zoomWindowOffsetY:0,zoomWindowPosition:1,zoomWindowWidth:400,zoomEnabled:true,zIndex:999};})(window.jQuery,window,document);;;
var Utils={};Utils.tileBorderInBetween=function(){$(document).ready(function(){$('.row').each(function(){var $tiles=$(this).find('.col-md-4 .tile--one-third'),tileCount=$tiles.length;if(tileCount===3){$($tiles[1]).addClass('one-third--in-between');}});})};Utils.lazyLoadImages=function(){$(document).ready(function(){$("img").unveil();})};Utils.openRegisterBidModal=function(){$('#registerBidModal').modal('show');};Utils.showNavigation=function(){var mobileNavHeight=$(".mobile-nav").height()
var navHeight=$(".top-nav__container").height()
$(".top-nav__container").css("top","0")
$(".mobile-nav").css("top","0")
$(".sidebar-affix").css("top",$(".mobile-nav").is(":visible")?mobileNavHeight:navHeight)}
Utils.hideNavigation=function(){var mobileNavHeight=$(".mobile-nav").height()
var navHeight=$(".top-nav__container").height()
$(".top-nav__container").css("top",navHeight* -1)
$(".mobile-nav").css("top",mobileNavHeight* -1)
$(".sidebar-affix").css("top","0");};;
$(document).ready(function(){var lastScrollY=window.scrollY;window.onscroll=function(){if(lastScrollY>window.scrollY||window.scrollY<=0){Utils.showNavigation();}else{Utils.hideNavigation();}
if(window.scrollY<=0){lastScrollY=0;}else{lastScrollY=window.scrollY;}}
Utils.tileBorderInBetween();Utils.lazyLoadImages();var tag=document.createElement('script');tag.src='https://www.youtube.com/player_api';var firstScriptTag=document.getElementsByTagName('script')[0];firstScriptTag.parentNode.insertBefore(tag,firstScriptTag);$("a[data-parent='#accordion']").on("click",function(){var active=$(this).attr("href");var second=$($(this).attr("data-href"));active=$(active);$('.arrow-up').addClass('hidden');var arrow=$(this).parent().parent().siblings('.arrow-up');second.on('show.bs.collapse',function(){$(second.find("a[data-copy]")[0]).click();arrow.removeClass('hidden');});second.on('hidden.bs.collapse',function(){arrow.addClass('hidden');});second.collapse("toggle");$(".collapse").each(function(){if(!$(this).is(active)||!$(this).is(second)){$(this).collapse('hide');}});});$("a[data-copy]").on("click",function(){var target=$(this).attr("href");$(target+' picture').remove();$(target+' .lot__titles').remove();$(this).children("picture").clone().prependTo("div"+target);$(this).siblings(".lot__titles").clone().appendTo("div"+target).removeClass("visible-xs");});});;;
if(typeof(rms)=="undefined")rms={}
rms.Countries=(function(){_countries={'AD':{'DE':'Andorra','EN':'Andorra','FR':'Andorre','IT':'Andorra'},'AE':{'DE':'Vereinigte Arabische Emirate','EN':'United Arab Emirates','FR':'Émirats arabes unis','IT':'Emirati Arabi Uniti'},'AF':{'DE':'Afghanistan','EN':'Afghanistan','FR':'Afghanistan','IT':'Afghanistan'},'AG':{'DE':'Antigua und Barbuda','EN':'Antigua and Barbuda','FR':'Antigua-et-Barbuda','IT':'Antigua e Barbuda'},'AI':{'DE':'Anguilla','EN':'Anguilla','FR':'Anguilla','IT':'Anguilla'},'AL':{'DE':'Albanien','EN':'Albania','FR':'Albanie','IT':'Albania'},'AM':{'DE':'Armenien','EN':'Armenia','FR':'Arménie','IT':'Armenia'},'AN':{'DE':'Niederländische Antillen','EN':'Netherlands Antilles','FR':'Antilles néerlandaises','IT':'Antille Olandesi'},'AO':{'DE':'Angola','EN':'Angola','FR':'Angola','IT':'Angola'},'AQ':{'DE':'Antarktis','EN':'Antarctica','FR':'Antarctique','IT':'Antartide'},'AR':{'DE':'Argentinien','EN':'Argentina','FR':'Argentine','IT':'Argentina'},'AS':{'DE':'Amerikanisch-Samoa','EN':'American Samoa','FR':'Samoa américaines','IT':'Samoa Americane'},'AT':{'DE':'Österreich','EN':'Austria','FR':'Autriche','IT':'Austria'},'AU':{'DE':'Australien','EN':'Australia','FR':'Australie','IT':'Australia'},'AW':{'DE':'Aruba','EN':'Aruba','FR':'Aruba','IT':'Aruba'},'AX':{'DE':'Alandinseln','EN':'Åland Islands','FR':'Îles Åland','IT':'Isole Aland'},'AZ':{'DE':'Aserbaidschan','EN':'Azerbaijan','FR':'Azerbaïdjan','IT':'Azerbaigian'},'BA':{'DE':'Bosnien und Herzegowina','EN':'Bosnia and Herzegovina','FR':'Bosnie-Herzégovine','IT':'Bosnia Erzegovina'},'BB':{'DE':'Barbados','EN':'Barbados','FR':'Barbade','IT':'Barbados'},'BD':{'DE':'Bangladesch','EN':'Bangladesh','FR':'Bangladesh','IT':'Bangladesh'},'BE':{'DE':'Belgien','EN':'Belgium','FR':'Belgique','IT':'Belgio'},'BF':{'DE':'Burkina Faso','EN':'Burkina Faso','FR':'Burkina Faso','IT':'Burkina Faso'},'BG':{'DE':'Bulgarien','EN':'Bulgaria','FR':'Bulgarie','IT':'Bulgaria'},'BH':{'DE':'Bahrain','EN':'Bahrain','FR':'Bahreïn','IT':'Bahrein'},'BI':{'DE':'Burundi','EN':'Burundi','FR':'Burundi','IT':'Burundi'},'BJ':{'DE':'Benin','EN':'Benin','FR':'Bénin','IT':'Benin'},'BL':{'DE':'St. Barthélemy','EN':'Saint Barthélemy','FR':'Saint-Barthélémy','IT':'San Bartolomeo'},'BM':{'DE':'Bermuda','EN':'Bermuda','FR':'Bermudes','IT':'Bermuda'},'BN':{'DE':'Brunei Darussalam','EN':'Brunei','FR':'Brunéi Darussalam','IT':'Brunei'},'BO':{'DE':'Bolivien','EN':'Bolivia','FR':'Bolivie','IT':'Bolivia'},'BR':{'DE':'Brasilien','EN':'Brazil','FR':'Brésil','IT':'Brasile'},'BS':{'DE':'Bahamas','EN':'Bahamas','FR':'Bahamas','IT':'Bahamas'},'BT':{'DE':'Bhutan','EN':'Bhutan','FR':'Bhoutan','IT':'Bhutan'},'BV':{'DE':'Bouvetinsel','EN':'Bouvet Island','FR':'Île Bouvet','IT':'Isola Bouvet'},'BW':{'DE':'Botsuana','EN':'Botswana','FR':'Botswana','IT':'Botswana'},'BY':{'DE':'Belarus','EN':'Belarus','FR':'Bélarus','IT':'Bielorussia'},'BZ':{'DE':'Belize','EN':'Belize','FR':'Belize','IT':'Belize'},'CA':{'DE':'Kanada','EN':'Canada','FR':'Canada','IT':'Canada'},'CC':{'DE':'Kokosinseln','EN':'Cocos [Keeling] Islands','FR':'Îles Cocos - Keeling','IT':'Isole Cocos'},'CD':{'DE':'Demokratische Republik Kongo','EN':'Congo - Kinshasa','FR':'République démocratique du Congo','IT':'Repubblica Democratica del Congo'},'CD':{'DE':'Demokratische Republik Kongo','EN':'Congo [DRC]','FR':'République démocratique du Congo','IT':'Repubblica Democratica del Congo'},'CF':{'DE':'Zentralafrikanische Republik','EN':'Central African Republic','FR':'République centrafricaine','IT':'Repubblica Centrafricana'},'CG':{'DE':'Kongo','EN':'Congo - Brazzaville','FR':'Congo','IT':'Congo'},'CG':{'DE':'Kongo','EN':'Congo [Republic]','FR':'Congo','IT':'Congo'},'CH':{'DE':'Schweiz','EN':'Switzerland','FR':'Suisse','IT':'Svizzera'},'CI':{'DE':'Côte d’Ivoire','EN':'Côte d’Ivoire','FR':'Côte d’Ivoire','IT':'Costa d’Avorio'},'CI':{'DE':'Côte d’Ivoire','EN':'Ivory Coast','FR':'Côte d’Ivoire','IT':'Costa d’Avorio'},'CK':{'DE':'Cookinseln','EN':'Cook Islands','FR':'Îles Cook','IT':'Isole Cook'},'CL':{'DE':'Chile','EN':'Chile','FR':'Chili','IT':'Cile'},'CM':{'DE':'Kamerun','EN':'Cameroon','FR':'Cameroun','IT':'Camerun'},'CN':{'DE':'China','EN':'China','FR':'Chine','IT':'Cina'},'CO':{'DE':'Kolumbien','EN':'Colombia','FR':'Colombie','IT':'Colombia'},'CR':{'DE':'Costa Rica','EN':'Costa Rica','FR':'Costa Rica','IT':'Costa Rica'},'CS':{'DE':'Serbien und Montenegro','EN':'Serbia and Montenegro','FR':'Serbie-et-Monténégro','IT':'Serbia e Montenegro'},'CU':{'DE':'Kuba','EN':'Cuba','FR':'Cuba','IT':'Cuba'},'CV':{'DE':'Kap Verde','EN':'Cape Verde','FR':'Cap-Vert','IT':'Capo Verde'},'CX':{'DE':'Weihnachtsinsel','EN':'Christmas Island','FR':'Île Christmas','IT':'Isola di Christmas'},'CY':{'DE':'Zypern','EN':'Cyprus','FR':'Chypre','IT':'Cipro'},'CZ':{'DE':'Tschechische Republik','EN':'Czech Republic','FR':'République tchèque','IT':'Repubblica Ceca'},'DE':{'DE':'Deutschland','EN':'Germany','FR':'Allemagne','IT':'Germania'},'DJ':{'DE':'Dschibuti','EN':'Djibouti','FR':'Djibouti','IT':'Gibuti'},'DK':{'DE':'Dänemark','EN':'Denmark','FR':'Danemark','IT':'Danimarca'},'DM':{'DE':'Dominica','EN':'Dominica','FR':'Dominique','IT':'Dominica'},'DO':{'DE':'Dominikanische Republik','EN':'Dominican Republic','FR':'République dominicaine','IT':'Repubblica Dominicana'},'DZ':{'DE':'Algerien','EN':'Algeria','FR':'Algérie','IT':'Algeria'},'EC':{'DE':'Ecuador','EN':'Ecuador','FR':'Équateur','IT':'Ecuador'},'EE':{'DE':'Estland','EN':'Estonia','FR':'Estonie','IT':'Estonia'},'EG':{'DE':'Ägypten','EN':'Egypt','FR':'Égypte','IT':'Egitto'},'EH':{'DE':'Westsahara','EN':'Western Sahara','FR':'Sahara occidental','IT':'Sahara Occidentale'},'ER':{'DE':'Eritrea','EN':'Eritrea','FR':'Érythrée','IT':'Eritrea'},'ES':{'DE':'Spanien','EN':'Spain','FR':'Espagne','IT':'Spagna'},'ET':{'DE':'Äthiopien','EN':'Ethiopia','FR':'Éthiopie','IT':'Etiopia'},'FI':{'DE':'Finnland','EN':'Finland','FR':'Finlande','IT':'Finlandia'},'FJ':{'DE':'Fidschi','EN':'Fiji','FR':'Fidji','IT':'Figi'},'FK':{'DE':'Falklandinseln','EN':'Falkland Islands','FR':'Îles Malouines','IT':'Isole Falkland'},'FK':{'DE':'Falklandinseln','EN':'Falkland Islands [Islas Malvinas]','FR':'Îles Malouines','IT':'Isole Falkland'},'FM':{'DE':'Mikronesien','EN':'Micronesia','FR':'États fédérés de Micronésie','IT':'Micronesia'},'FO':{'DE':'Färöer','EN':'Faroe Islands','FR':'Îles Féroé','IT':'Isole Faroe'},'FR':{'DE':'Frankreich','EN':'France','FR':'France','IT':'Francia'},'GA':{'DE':'Gabun','EN':'Gabon','FR':'Gabon','IT':'Gabon'},'GB':{'DE':'Vereinigtes Königreich','EN':'United Kingdom','FR':'Royaume-Uni','IT':'Regno Unito'},'GD':{'DE':'Grenada','EN':'Grenada','FR':'Grenade','IT':'Grenada'},'GE':{'DE':'Georgien','EN':'Georgia','FR':'Géorgie','IT':'Georgia'},'GF':{'DE':'Französisch-Guayana','EN':'French Guiana','FR':'Guyane française','IT':'Guiana Francese'},'GG':{'DE':'Guernsey','EN':'Guernsey','FR':'Guernesey','IT':'Guernsey'},'GH':{'DE':'Ghana','EN':'Ghana','FR':'Ghana','IT':'Ghana'},'GI':{'DE':'Gibraltar','EN':'Gibraltar','FR':'Gibraltar','IT':'Gibilterra'},'GL':{'DE':'Grönland','EN':'Greenland','FR':'Groenland','IT':'Groenlandia'},'GM':{'DE':'Gambia','EN':'Gambia','FR':'Gambie','IT':'Gambia'},'GN':{'DE':'Guinea','EN':'Guinea','FR':'Guinée','IT':'Guinea'},'GP':{'DE':'Guadeloupe','EN':'Guadeloupe','FR':'Guadeloupe','IT':'Guadalupa'},'GQ':{'DE':'Äquatorialguinea','EN':'Equatorial Guinea','FR':'Guinée équatoriale','IT':'Guinea Equatoriale'},'GR':{'DE':'Griechenland','EN':'Greece','FR':'Grèce','IT':'Grecia'},'GS':{'DE':'Südgeorgien und die Südlichen Sandwichinseln','EN':'South Georgia and the South Sandwich Islands','FR':'Géorgie du Sud et les îles Sandwich du Sud','IT':'Georgia del Sud e Isole Sandwich del Sud'},'GT':{'DE':'Guatemala','EN':'Guatemala','FR':'Guatemala','IT':'Guatemala'},'GU':{'DE':'Guam','EN':'Guam','FR':'Guam','IT':'Guam'},'GW':{'DE':'Guinea-Bissau','EN':'Guinea-Bissau','FR':'Guinée-Bissau','IT':'Guinea-Bissau'},'GY':{'DE':'Guyana','EN':'Guyana','FR':'Guyana','IT':'Guyana'},'HK':{'DE':'Sonderverwaltungszone Hongkong','EN':'Hong Kong SAR China','FR':'R.A.S. chinoise de Hong Kong','IT':'Hong Kong'},'HK':{'DE':'Sonderverwaltungszone Hongkong','EN':'Hong Kong','FR':'R.A.S. chinoise de Hong Kong','IT':'Hong Kong'},'HM':{'DE':'Heard- und McDonald-Inseln','EN':'Heard Island and McDonald Islands','FR':'Îles Heard et MacDonald','IT':'Isole Heard ed Isole McDonald'},'HN':{'DE':'Honduras','EN':'Honduras','FR':'Honduras','IT':'Honduras'},'HR':{'DE':'Kroatien','EN':'Croatia','FR':'Croatie','IT':'Croazia'},'HT':{'DE':'Haiti','EN':'Haiti','FR':'Haïti','IT':'Haiti'},'HU':{'DE':'Ungarn','EN':'Hungary','FR':'Hongrie','IT':'Ungheria'},'ID':{'DE':'Indonesien','EN':'Indonesia','FR':'Indonésie','IT':'Indonesia'},'IE':{'DE':'Irland','EN':'Ireland','FR':'Irlande','IT':'Irlanda'},'IL':{'DE':'Israel','EN':'Israel','FR':'Israël','IT':'Israele'},'IM':{'DE':'Isle of Man','EN':'Isle of Man','FR':'Île de Man','IT':'Isola di Man'},'IN':{'DE':'Indien','EN':'India','FR':'Inde','IT':'India'},'IO':{'DE':'Britisches Territorium im Indischen Ozean','EN':'British Indian Ocean Territory','FR':'Territoire britannique de l\'océan Indien','IT':'Territorio Britannico dell’Oceano Indiano'},'IQ':{'DE':'Irak','EN':'Iraq','FR':'Irak','IT':'Iraq'},'IR':{'DE':'Iran','EN':'Iran','FR':'Iran','IT':'Iran'},'IS':{'DE':'Island','EN':'Iceland','FR':'Islande','IT':'Islanda'},'IT':{'DE':'Italien','EN':'Italy','FR':'Italie','IT':'Italia'},'JE':{'DE':'Jersey','EN':'Jersey','FR':'Jersey','IT':'Jersey'},'JM':{'DE':'Jamaika','EN':'Jamaica','FR':'Jamaïque','IT':'Giamaica'},'JO':{'DE':'Jordanien','EN':'Jordan','FR':'Jordanie','IT':'Giordania'},'JP':{'DE':'Japan','EN':'Japan','FR':'Japon','IT':'Giappone'},'KE':{'DE':'Kenia','EN':'Kenya','FR':'Kenya','IT':'Kenya'},'KG':{'DE':'Kirgisistan','EN':'Kyrgyzstan','FR':'Kirghizistan','IT':'Kirghizistan'},'KH':{'DE':'Kambodscha','EN':'Cambodia','FR':'Cambodge','IT':'Cambogia'},'KI':{'DE':'Kiribati','EN':'Kiribati','FR':'Kiribati','IT':'Kiribati'},'KM':{'DE':'Komoren','EN':'Comoros','FR':'Comores','IT':'Comore'},'KN':{'DE':'St. Kitts und Nevis','EN':'Saint Kitts and Nevis','FR':'Saint-Kitts-et-Nevis','IT':'Saint Kitts e Nevis'},'KP':{'DE':'Demokratische Volksrepublik Korea','EN':'North Korea','FR':'Corée du Nord','IT':'Corea del Nord'},'KR':{'DE':'Republik Korea','EN':'South Korea','FR':'Corée du Sud','IT':'Corea del Sud'},'KW':{'DE':'Kuwait','EN':'Kuwait','FR':'Koweït','IT':'Kuwait'},'KY':{'DE':'Kaimaninseln','EN':'Cayman Islands','FR':'Îles Caïmans','IT':'Isole Cayman'},'KZ':{'DE':'Kasachstan','EN':'Kazakhstan','FR':'Kazakhstan','IT':'Kazakistan'},'LA':{'DE':'Laos','EN':'Laos','FR':'Laos','IT':'Laos'},'LB':{'DE':'Libanon','EN':'Lebanon','FR':'Liban','IT':'Libano'},'LC':{'DE':'St. Lucia','EN':'Saint Lucia','FR':'Sainte-Lucie','IT':'Saint Lucia'},'LI':{'DE':'Liechtenstein','EN':'Liechtenstein','FR':'Liechtenstein','IT':'Liechtenstein'},'LK':{'DE':'Sri Lanka','EN':'Sri Lanka','FR':'Sri Lanka','IT':'Sri Lanka'},'LR':{'DE':'Liberia','EN':'Liberia','FR':'Libéria','IT':'Liberia'},'LS':{'DE':'Lesotho','EN':'Lesotho','FR':'Lesotho','IT':'Lesotho'},'LT':{'DE':'Litauen','EN':'Lithuania','FR':'Lituanie','IT':'Lituania'},'LU':{'DE':'Luxemburg','EN':'Luxembourg','FR':'Luxembourg','IT':'Lussemburgo'},'LV':{'DE':'Lettland','EN':'Latvia','FR':'Lettonie','IT':'Lettonia'},'LY':{'DE':'Libyen','EN':'Libya','FR':'Libye','IT':'Libia'},'MA':{'DE':'Marokko','EN':'Morocco','FR':'Maroc','IT':'Marocco'},'MC':{'DE':'Monaco','EN':'Monaco','FR':'Monaco','IT':'Monaco'},'MD':{'DE':'Republik Moldau','EN':'Moldova','FR':'Moldavie','IT':'Moldavia'},'ME':{'DE':'Montenegro','EN':'Montenegro','FR':'Monténégro','IT':'Montenegro'},'MF':{'DE':'St. Martin','EN':'Saint Martin','FR':'Saint-Martin','IT':'St. Martin'},'MG':{'DE':'Madagaskar','EN':'Madagascar','FR':'Madagascar','IT':'Madagascar'},'MH':{'DE':'Marshallinseln','EN':'Marshall Islands','FR':'Îles Marshall','IT':'Isole Marshall'},'MK':{'DE':'Mazedonien','EN':'Macedonia','FR':'Macédoine','IT':'Repubblica di Macedonia'},'MK':{'DE':'Mazedonien','EN':'Macedonia [FYROM]','FR':'Macédoine','IT':'Repubblica di Macedonia'},'ML':{'DE':'Mali','EN':'Mali','FR':'Mali','IT':'Mali'},'MM':{'DE':'Myanmar','EN':'Myanmar [Burma]','FR':'Myanmar','IT':'Myanmar'},'MN':{'DE':'Mongolei','EN':'Mongolia','FR':'Mongolie','IT':'Mongolia'},'MO':{'DE':'Sonderverwaltungszone Macao','EN':'Macau SAR China','FR':'R.A.S. chinoise de Macao','IT':'Macao'},'MO':{'DE':'Sonderverwaltungszone Macao','EN':'Macau','FR':'R.A.S. chinoise de Macao','IT':'Macao'},'MP':{'DE':'Nördliche Marianen','EN':'Northern Mariana Islands','FR':'Îles Mariannes du Nord','IT':'Isole Marianne Settentrionali'},'MQ':{'DE':'Martinique','EN':'Martinique','FR':'Martinique','IT':'Martinica'},'MR':{'DE':'Mauretanien','EN':'Mauritania','FR':'Mauritanie','IT':'Mauritania'},'MS':{'DE':'Montserrat','EN':'Montserrat','FR':'Montserrat','IT':'Montserrat'},'MT':{'DE':'Malta','EN':'Malta','FR':'Malte','IT':'Malta'},'MU':{'DE':'Mauritius','EN':'Mauritius','FR':'Maurice','IT':'Mauritius'},'MV':{'DE':'Malediven','EN':'Maldives','FR':'Maldives','IT':'Maldive'},'MW':{'DE':'Malawi','EN':'Malawi','FR':'Malawi','IT':'Malawi'},'MX':{'DE':'Mexiko','EN':'Mexico','FR':'Mexique','IT':'Messico'},'MY':{'DE':'Malaysia','EN':'Malaysia','FR':'Malaisie','IT':'Malesia'},'MZ':{'DE':'Mosambik','EN':'Mozambique','FR':'Mozambique','IT':'Mozambico'},'NA':{'DE':'Namibia','EN':'Namibia','FR':'Namibie','IT':'Namibia'},'NC':{'DE':'Neukaledonien','EN':'New Caledonia','FR':'Nouvelle-Calédonie','IT':'Nuova Caledonia'},'NE':{'DE':'Niger','EN':'Niger','FR':'Niger','IT':'Niger'},'NF':{'DE':'Norfolkinsel','EN':'Norfolk Island','FR':'Île Norfolk','IT':'Isola Norfolk'},'NG':{'DE':'Nigeria','EN':'Nigeria','FR':'Nigéria','IT':'Nigeria'},'NI':{'DE':'Nicaragua','EN':'Nicaragua','FR':'Nicaragua','IT':'Nicaragua'},'NL':{'DE':'Niederlande','EN':'Netherlands','FR':'Pays-Bas','IT':'Paesi Bassi'},'NO':{'DE':'Norwegen','EN':'Norway','FR':'Norvège','IT':'Norvegia'},'NP':{'DE':'Nepal','EN':'Nepal','FR':'Népal','IT':'Nepal'},'NR':{'DE':'Nauru','EN':'Nauru','FR':'Nauru','IT':'Nauru'},'NU':{'DE':'Niue','EN':'Niue','FR':'Niue','IT':'Niue'},'NZ':{'DE':'Neuseeland','EN':'New Zealand','FR':'Nouvelle-Zélande','IT':'Nuova Zelanda'},'OM':{'DE':'Oman','EN':'Oman','FR':'Oman','IT':'Oman'},'PA':{'DE':'Panama','EN':'Panama','FR':'Panama','IT':'Panama'},'PE':{'DE':'Peru','EN':'Peru','FR':'Pérou','IT':'Perù'},'PF':{'DE':'Französisch-Polynesien','EN':'French Polynesia','FR':'Polynésie française','IT':'Polinesia Francese'},'PG':{'DE':'Papua-Neuguinea','EN':'Papua New Guinea','FR':'Papouasie-Nouvelle-Guinée','IT':'Papua Nuova Guinea'},'PH':{'DE':'Philippinen','EN':'Philippines','FR':'Philippines','IT':'Filippine'},'PK':{'DE':'Pakistan','EN':'Pakistan','FR':'Pakistan','IT':'Pakistan'},'PL':{'DE':'Polen','EN':'Poland','FR':'Pologne','IT':'Polonia'},'PM':{'DE':'St. Pierre und Miquelon','EN':'Saint Pierre and Miquelon','FR':'Saint-Pierre-et-Miquelon','IT':'Saint Pierre e Miquelon'},'PN':{'DE':'Pitcairn','EN':'Pitcairn Islands','FR':'Pitcairn','IT':'Pitcairn'},'PR':{'DE':'Puerto Rico','EN':'Puerto Rico','FR':'Porto Rico','IT':'Portorico'},'PS':{'DE':'Palästinensische Gebiete','EN':'Palestinian Territories','FR':'Territoire palestinien','IT':'Palestina'},'PT':{'DE':'Portugal','EN':'Portugal','FR':'Portugal','IT':'Portogallo'},'PW':{'DE':'Palau','EN':'Palau','FR':'Palaos','IT':'Palau'},'PY':{'DE':'Paraguay','EN':'Paraguay','FR':'Paraguay','IT':'Paraguay'},'QA':{'DE':'Katar','EN':'Qatar','FR':'Qatar','IT':'Qatar'},'QO':{'DE':'Äußeres Ozeanien','EN':'Outlying Oceania','FR':'régions éloignées de l’Océanie','IT':'Oceania lontana'},'QU':{'DE':'Europäische Union','EN':'European Union','FR':'Union européenne','IT':'Unione Europea'},'RE':{'DE':'Réunion','EN':'Réunion','FR':'Réunion','IT':'Réunion'},'RO':{'DE':'Rumänien','EN':'Romania','FR':'Roumanie','IT':'Romania'},'RS':{'DE':'Serbien','EN':'Serbia','FR':'Serbie','IT':'Serbia'},'RU':{'DE':'Russische Föderation','EN':'Russia','FR':'Russie','IT':'Federazione Russa'},'RW':{'DE':'Ruanda','EN':'Rwanda','FR':'Rwanda','IT':'Ruanda'},'SA':{'DE':'Saudi-Arabien','EN':'Saudi Arabia','FR':'Arabie saoudite','IT':'Arabia Saudita'},'SB':{'DE':'Salomonen','EN':'Solomon Islands','FR':'Îles Salomon','IT':'Isole Solomon'},'SC':{'DE':'Seychellen','EN':'Seychelles','FR':'Seychelles','IT':'Seychelles'},'SD':{'DE':'Sudan','EN':'Sudan','FR':'Soudan','IT':'Sudan'},'SE':{'DE':'Schweden','EN':'Sweden','FR':'Suède','IT':'Svezia'},'SG':{'DE':'Singapur','EN':'Singapore','FR':'Singapour','IT':'Singapore'},'SH':{'DE':'St. Helena','EN':'Saint Helena','FR':'Sainte-Hélène','IT':'Sant’Elena'},'SI':{'DE':'Slowenien','EN':'Slovenia','FR':'Slovénie','IT':'Slovenia'},'SJ':{'DE':'Svalbard und Jan Mayen','EN':'Svalbard and Jan Mayen','FR':'Svalbard et Île Jan Mayen','IT':'Svalbard e Jan Mayen'},'SK':{'DE':'Slowakei','EN':'Slovakia','FR':'Slovaquie','IT':'Slovacchia'},'SL':{'DE':'Sierra Leone','EN':'Sierra Leone','FR':'Sierra Leone','IT':'Sierra Leone'},'SM':{'DE':'San Marino','EN':'San Marino','FR':'Saint-Marin','IT':'San Marino'},'SN':{'DE':'Senegal','EN':'Senegal','FR':'Sénégal','IT':'Senegal'},'SO':{'DE':'Somalia','EN':'Somalia','FR':'Somalie','IT':'Somalia'},'SR':{'DE':'Suriname','EN':'Suriname','FR':'Suriname','IT':'Suriname'},'ST':{'DE':'São Tomé und Príncipe','EN':'São Tomé and Príncipe','FR':'Sao Tomé-et-Principe','IT':'Sao Tomé e Príncipe'},'SV':{'DE':'El Salvador','EN':'El Salvador','FR':'El Salvador','IT':'El Salvador'},'SY':{'DE':'Syrien','EN':'Syria','FR':'Syrie','IT':'Siria'},'SZ':{'DE':'Swasiland','EN':'Swaziland','FR':'Swaziland','IT':'Swaziland'},'TC':{'DE':'Turks- und Caicosinseln','EN':'Turks and Caicos Islands','FR':'Îles Turks et Caïques','IT':'Isole Turks e Caicos'},'TD':{'DE':'Tschad','EN':'Chad','FR':'Tchad','IT':'Ciad'},'TF':{'DE':'Französische Süd- und Antarktisgebiete','EN':'French Southern Territories','FR':'Terres australes françaises','IT':'Territori australi francesi'},'TG':{'DE':'Togo','EN':'Togo','FR':'Togo','IT':'Togo'},'TH':{'DE':'Thailand','EN':'Thailand','FR':'Thaïlande','IT':'Tailandia'},'TJ':{'DE':'Tadschikistan','EN':'Tajikistan','FR':'Tadjikistan','IT':'Tagikistan'},'TK':{'DE':'Tokelau','EN':'Tokelau','FR':'Tokelau','IT':'Tokelau'},'TL':{'DE':'Osttimor','EN':'Timor-Leste','FR':'Timor oriental','IT':'Timor Est'},'TL':{'DE':'Osttimor','EN':'East Timor','FR':'Timor oriental','IT':'Timor Est'},'TM':{'DE':'Turkmenistan','EN':'Turkmenistan','FR':'Turkménistan','IT':'Turkmenistan'},'TN':{'DE':'Tunesien','EN':'Tunisia','FR':'Tunisie','IT':'Tunisia'},'TO':{'DE':'Tonga','EN':'Tonga','FR':'Tonga','IT':'Tonga'},'TR':{'DE':'Türkei','EN':'Turkey','FR':'Turquie','IT':'Turchia'},'TT':{'DE':'Trinidad und Tobago','EN':'Trinidad and Tobago','FR':'Trinité-et-Tobago','IT':'Trinidad e Tobago'},'TV':{'DE':'Tuvalu','EN':'Tuvalu','FR':'Tuvalu','IT':'Tuvalu'},'TW':{'DE':'Taiwan','EN':'Taiwan','FR':'Taïwan','IT':'Taiwan'},'TZ':{'DE':'Tansania','EN':'Tanzania','FR':'Tanzanie','IT':'Tanzania'},'UA':{'DE':'Ukraine','EN':'Ukraine','FR':'Ukraine','IT':'Ucraina'},'UG':{'DE':'Uganda','EN':'Uganda','FR':'Ouganda','IT':'Uganda'},'UM':{'DE':'Amerikanisch-Ozeanien','EN':'U.S. Minor Outlying Islands','FR':'Îles Mineures Éloignées des États-Unis','IT':'Isole Minori lontane dagli Stati Uniti'},'US':{'DE':'Vereinigte Staaten','EN':'United States','FR':'États-Unis','IT':'Stati Uniti'},'UY':{'DE':'Uruguay','EN':'Uruguay','FR':'Uruguay','IT':'Uruguay'},'UZ':{'DE':'Usbekistan','EN':'Uzbekistan','FR':'Ouzbékistan','IT':'Uzbekistan'},'VA':{'DE':'Vatikanstadt','EN':'Vatican City','FR':'État de la Cité du Vatican','IT':'Vaticano'},'VC':{'DE':'St. Vincent und die Grenadinen','EN':'Saint Vincent and the Grenadines','FR':'Saint-Vincent-et-les Grenadines','IT':'Saint Vincent e Grenadines'},'VE':{'DE':'Venezuela','EN':'Venezuela','FR':'Venezuela','IT':'Venezuela'},'VG':{'DE':'Britische Jungferninseln','EN':'British Virgin Islands','FR':'Îles Vierges britanniques','IT':'Isole Vergini Britanniche'},'VI':{'DE':'Amerikanische Jungferninseln','EN':'U.S. Virgin Islands','FR':'Îles Vierges des États-Unis','IT':'Isole Vergini Americane'},'VN':{'DE':'Vietnam','EN':'Vietnam','FR':'Viêt Nam','IT':'Vietnam'},'VU':{'DE':'Vanuatu','EN':'Vanuatu','FR':'Vanuatu','IT':'Vanuatu'},'WF':{'DE':'Wallis und Futuna','EN':'Wallis and Futuna','FR':'Wallis-et-Futuna','IT':'Wallis e Futuna'},'WS':{'DE':'Samoa','EN':'Samoa','FR':'Samoa','IT':'Samoa'},'YE':{'DE':'Jemen','EN':'Yemen','FR':'Yémen','IT':'Yemen'},'YT':{'DE':'Mayotte','EN':'Mayotte','FR':'Mayotte','IT':'Mayotte'},'ZA':{'DE':'Südafrika','EN':'South Africa','FR':'Afrique du Sud','IT':'Sudafrica'},'ZM':{'DE':'Sambia','EN':'Zambia','FR':'Zambie','IT':'Zambia'},'ZW':{'DE':'Simbabwe','EN':'Zimbabwe','FR':'Zimbabwe','IT':'Zimbabwe'},};_lists={};_getListForLang=function(lang){lang=lang.substring(0,2).toUpperCase();if(!_lists[lang])
{var newList=[];for(var code in _countries)
newList.push(_countries[code][lang]);_lists[lang]=newList.sort();}
return _lists[lang];}
return{GetListForLang:_getListForLang,}})();;;
if(typeof(rms)=="undefined")rms={}
rms.Lang=(function(){var _initLanguagePicker=function(picker)
{picker.change(function(){$(location).attr('href',this.value)});}
var _setLanguageCookie=function(lang)
{var d=new Date();d.setTime(d.getTime()+(365*24*60*60*1000));var expires="expires="+d.toUTCString();document.cookie="preferredLanguage=code="+lang.toLowerCase()+"; "+expires;}
return{InitLanguagePicker:_initLanguagePicker,SetLanguageCookie:_setLanguageCookie,}})();rms.Lang.InitLanguagePicker($("#lang"));;;
if(typeof(rms)=="undefined")rms={}
rms.Results=(function(){var _initResultsYearPicker=function(picker)
{picker.change(function()
{$(location).attr('href',picker.val())});}
return{InitResultsYearPicker:_initResultsYearPicker,}})();rms.Results.InitResultsYearPicker($("#resultsYear"));;;
!function(){'use strict';var isTouchDevice='ontouchstart' in window||'onmsgesturechange' in window;var mutable=['vertical','reverse','cycle','speed','playSpeed'];function Circlr(options){options.mouse=options.mouse||true;options.scroll=options.scroll||false;options.vertical=options.vertical||false;options.reverse=options.reverse||false;options.cycle=options.cycle||true;options.start=options.start||0;options.speed=options.speed||50;var autoplay=options.autoplay||false;options.playSpeed=options.playSpeed||100;options.reversePlay=options.reversePlay||false;var el=this.el=options.element;el.setAttribute('data-circlr',true);var loader=options.loader?document.getElementById(options.loader):undefined;var length=this.length=el.getElementsByTagName('img').length;var height=options.height||undefined;var width=options.width||undefined;var movable=false;var loaded=[];var errored=[];var current;var pre={};pre.Y=null;pre.X=null;pre.frame=0;var callbacks={};callbacks.ready=options.ready||undefined;callbacks.change=options.change||undefined;var scrollEvents=['wheel','mousewheel','scroll','DOMMouseScroll'];function onEventListener(target,event,fn){if(target.addEventListener){target.addEventListener(event,fn,false);}else{target.attachEvent('on'+event,function(){fn.call(target,window.event);});}}
function preventDefault(e){if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}}
function preMove(e){autoplay=false;if(!isTouchDevice)preventDefault(e);e=e.type==='touchstart'?e.changedTouches[0]:e;movable=true;if(options.vertical){pre.Y=e.clientY-el.offsetTop;}else{pre.X=e.clientX-el.offsetLeft;}}
function normalize(cur){if(cur<0){cur=options.cycle?cur+length:0;}else if(cur>length-1){cur=options.cycle?cur-length:length-1;}
return cur;}
function isMove(e){if(movable){if(!isTouchDevice)preventDefault(e);e=e.type==='touchmove'?e.changedTouches[0]:e;var offset=(options.vertical)?((e.clientY-el.offsetTop)-pre.Y):((e.clientX-el.offsetLeft)-pre.X);offset=options.reverse?-offset:offset;var step=width/length;var previous=current;offset=Math.floor(offset/step);if(offset!==current){current=normalize(pre.frame+offset);if(previous!==current){el.getElementsByTagName('img')[previous].style.display='none';el.getElementsByTagName('img')[current].style.display='block';if(typeof callbacks.change==='function'){callbacks.change(current,length);}}}}}
function stopMove(e){if(!isTouchDevice)preventDefault(e);movable=false;pre.frame=current;}
function scrollMove(e){autoplay=false;if(!isTouchDevice)preventDefault(e);var delta=e.deltaY||e.detail||(-e.wheelDelta);delta=delta/Math.abs(delta);delta=options.reverse?-delta:delta;current=normalize(current+delta);el.getElementsByTagName('img')[pre.frame].style.display='none';el.getElementsByTagName('img')[current].style.display='block';pre.frame=current;if(typeof callbacks.change==='function'){callbacks.change(current,length);}}
function initEvents(){if(loader){loader.style.display='none';}
if(errored.length===0){var start=normalize(options.start);el.getElementsByTagName('img')[start].style.display='block';current=start;el.style.position='relative';el.style.width='100%';if(isTouchDevice){if(options.mouse||options.scroll){onEventListener(el,'touchstart',preMove);onEventListener(el,'touchmove',isMove);onEventListener(el,'touchend',stopMove);}}else{if(options.mouse){onEventListener(el,'mousedown',preMove);onEventListener(el,'mousemove',isMove);onEventListener(document,'mouseup',stopMove);}
if(options.scroll){for(var e=0;e<scrollEvents.length;e++){if('on'+scrollEvents[e]in window){onEventListener(el,scrollEvents[e],scrollMove);break;}}}}
if(autoplay){play();}}
if(typeof callbacks.ready==='function'){callbacks.ready(errored);}}
function loadImagesEvents(img){img.onload=function(){loaded.push(this.src);if(loaded.length+errored.length===length){initEvents();}};img.onerror=function(){errored.push(this.src);if(loaded.length+errored.length===length){initEvents();}};img.onreadystatechange=function(){this.onload();};}
function loadImages(){var img;if(loader){loader.style.display='block';}
for(var i=0;i<length;i++){img=el.getElementsByTagName('img')[i];img.style.display='none';img.style.width='100%';img.setAttribute('src',img.getAttribute('data-src'));img.setAttribute('data-index',i);img.removeAttribute('data-src');loadImagesEvents(img);}
height=height||el.clientHeight;width=width||el.clientWidth;}
loadImages();function setFrame(i){el.getElementsByTagName('img')[current].style.display='none';el.getElementsByTagName('img')[i].style.display='block';pre.frame=current=i;}
var turn=this.turn=function(i){i=normalize(i);autoplay=true;(function turnInterval(){if(i!==current&&autoplay){setFrame(normalize(i<current||options.reversePlay?current-1:current+1));setTimeout(turnInterval,typeof i==='undefined'?options.playSpeed:options.speed);}else if(i===current){pre.frame=current=i;autoplay=false;if(typeof callbacks.change==='function'){callbacks.change(current,length);}}})();};this.go=function(i){if(i!==current){setFrame(i);if(typeof callbacks.change==='function'){callbacks.change(current,length);}}};var play=this.play=function(){autoplay=true;turn();};this.stop=function(){autoplay=false;};this.show=function(){el.style.display='block';};this.hide=function(){el.style.display='none';};this.set=function(set){for(var i=0,key;i<mutable.length;i++){key=mutable[i];options[key]=typeof set[key]!=='undefined'?set[key]:options[key];}};}
function Creator(element,options){element=document.getElementById(element);if(element.getAttribute('data-circlr')){return;}
options=options||{};options.element=element;return new Circlr(options);}
if(typeof define==='function'&&define.amd){define([],function(){return Creator;});}else if(typeof module!=='undefined'&&module.exports){module.exports=Creator;}else{this.circlr=Creator;}}.call(this);;;
(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==='object'&&typeof module==='object')
module.exports=factory();else if(typeof define==='function'&&define.amd)
define([],factory);else if(typeof exports==='object')
exports["signalR"]=factory();else
root["signalR"]=factory();})(self,()=>{return(()=>{"use strict";var __webpack_require__={};(()=>{__webpack_require__.d=(exports,definition)=>{for(var key in definition){if(__webpack_require__.o(definition,key)&&!__webpack_require__.o(exports,key)){Object.defineProperty(exports,key,{enumerable:true,get:definition[key]});}}};})();(()=>{__webpack_require__.g=(function(){if(typeof globalThis==='object')return globalThis;try{return this||new Function('return this')();}catch(e){if(typeof window==='object')return window;}})();})();(()=>{__webpack_require__.o=(obj,prop)=>(Object.prototype.hasOwnProperty.call(obj,prop))})();(()=>{__webpack_require__.r=(exports)=>{if(typeof Symbol!=='undefined'&&Symbol.toStringTag){Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});}
Object.defineProperty(exports,'__esModule',{value:true});};})();var __webpack_exports__={};__webpack_require__.r(__webpack_exports__);__webpack_require__.d(__webpack_exports__,{"AbortError":()=>(AbortError),"DefaultHttpClient":()=>(DefaultHttpClient),"HttpClient":()=>(HttpClient),"HttpError":()=>(HttpError),"HttpResponse":()=>(HttpResponse),"HttpTransportType":()=>(HttpTransportType),"HubConnection":()=>(HubConnection),"HubConnectionBuilder":()=>(HubConnectionBuilder),"HubConnectionState":()=>(HubConnectionState),"JsonHubProtocol":()=>(JsonHubProtocol),"LogLevel":()=>(LogLevel),"MessageType":()=>(MessageType),"NullLogger":()=>(NullLogger),"Subject":()=>(Subject),"TimeoutError":()=>(TimeoutError),"TransferFormat":()=>(TransferFormat),"VERSION":()=>(VERSION)});;class HttpError extends Error{constructor(errorMessage,statusCode){const trueProto=new.target.prototype;super(`${errorMessage}: Status code '${statusCode}'`);this.statusCode=statusCode;this.__proto__=trueProto;}}
class TimeoutError extends Error{constructor(errorMessage="A timeout occurred."){const trueProto=new.target.prototype;super(errorMessage);this.__proto__=trueProto;}}
class AbortError extends Error{constructor(errorMessage="An abort occurred."){const trueProto=new.target.prototype;super(errorMessage);this.__proto__=trueProto;}}
class UnsupportedTransportError extends Error{constructor(message,transport){const trueProto=new.target.prototype;super(message);this.transport=transport;this.errorType='UnsupportedTransportError';this.__proto__=trueProto;}}
class DisabledTransportError extends Error{constructor(message,transport){const trueProto=new.target.prototype;super(message);this.transport=transport;this.errorType='DisabledTransportError';this.__proto__=trueProto;}}
class FailedToStartTransportError extends Error{constructor(message,transport){const trueProto=new.target.prototype;super(message);this.transport=transport;this.errorType='FailedToStartTransportError';this.__proto__=trueProto;}}
class FailedToNegotiateWithServerError extends Error{constructor(message){const trueProto=new.target.prototype;super(message);this.errorType='FailedToNegotiateWithServerError';this.__proto__=trueProto;}}
class AggregateErrors extends Error{constructor(message,innerErrors){const trueProto=new.target.prototype;super(message);this.innerErrors=innerErrors;this.__proto__=trueProto;}};class HttpResponse{constructor(statusCode,statusText,content){this.statusCode=statusCode;this.statusText=statusText;this.content=content;}}
class HttpClient{get(url,options){return this.send({...options,method:"GET",url,});}
post(url,options){return this.send({...options,method:"POST",url,});}
delete(url,options){return this.send({...options,method:"DELETE",url,});}
getCookieString(url){return"";}};var LogLevel;(function(LogLevel){LogLevel[LogLevel["Trace"]=0]="Trace";LogLevel[LogLevel["Debug"]=1]="Debug";LogLevel[LogLevel["Information"]=2]="Information";LogLevel[LogLevel["Warning"]=3]="Warning";LogLevel[LogLevel["Error"]=4]="Error";LogLevel[LogLevel["Critical"]=5]="Critical";LogLevel[LogLevel["None"]=6]="None";})(LogLevel||(LogLevel={}));;class NullLogger{constructor(){}
log(_logLevel,_message){}}
NullLogger.instance=new NullLogger();;const VERSION="8.0.0";class Arg{static isRequired(val,name){if(val===null||val===undefined){throw new Error(`The '${name}' argument is required.`);}}
static isNotEmpty(val,name){if(!val||val.match(/^\s*$/)){throw new Error(`The '${name}' argument should not be empty.`);}}
static isIn(val,values,name){if(!(val in values)){throw new Error(`Unknown ${name} value: ${val}.`);}}}
class Platform{static get isBrowser(){return!Platform.isNode&&typeof window==="object"&&typeof window.document==="object";}
static get isWebWorker(){return!Platform.isNode&&typeof self==="object"&&"importScripts" in self;}
static get isReactNative(){return!Platform.isNode&&typeof window==="object"&&typeof window.document==="undefined";}
static get isNode(){return typeof process!=="undefined"&&process.release&&process.release.name==="node";}}
function getDataDetail(data,includeContent){let detail="";if(isArrayBuffer(data)){detail=`Binary data of length ${data.byteLength}`;if(includeContent){detail+=`. Content: '${formatArrayBuffer(data)}'`;}}
else if(typeof data==="string"){detail=`String data of length ${data.length}`;if(includeContent){detail+=`. Content: '${data}'`;}}
return detail;}
function formatArrayBuffer(data){const view=new Uint8Array(data);let str="";view.forEach((num)=>{const pad=num<16?"0":"";str+=`0x${pad}${num.toString(16)} `;});return str.substr(0,str.length-1);}
function isArrayBuffer(val){return val&&typeof ArrayBuffer!=="undefined"&&(val instanceof ArrayBuffer||(val.constructor&&val.constructor.name==="ArrayBuffer"));}
async function sendMessage(logger,transportName,httpClient,url,content,options){const headers={};const[name,value]=getUserAgentHeader();headers[name]=value;logger.log(LogLevel.Trace,`(${transportName} transport) sending data. ${getDataDetail(content, options.logMessageContent)}.`);const responseType=isArrayBuffer(content)?"arraybuffer":"text";const response=await httpClient.post(url,{content,headers:{...headers,...options.headers},responseType,timeout:options.timeout,withCredentials:options.withCredentials,});logger.log(LogLevel.Trace,`(${transportName} transport) request complete. Response status: ${response.statusCode}.`);}
function createLogger(logger){if(logger===undefined){return new ConsoleLogger(LogLevel.Information);}
if(logger===null){return NullLogger.instance;}
if(logger.log!==undefined){return logger;}
return new ConsoleLogger(logger);}
class SubjectSubscription{constructor(subject,observer){this._subject=subject;this._observer=observer;}
dispose(){const index=this._subject.observers.indexOf(this._observer);if(index>-1){this._subject.observers.splice(index,1);}
if(this._subject.observers.length===0&&this._subject.cancelCallback){this._subject.cancelCallback().catch((_)=>{});}}}
class ConsoleLogger{constructor(minimumLogLevel){this._minLevel=minimumLogLevel;this.out=console;}
log(logLevel,message){if(logLevel>=this._minLevel){const msg=`[${new Date().toISOString()}] ${LogLevel[logLevel]}: ${message}`;switch(logLevel){case LogLevel.Critical:case LogLevel.Error:this.out.error(msg);break;case LogLevel.Warning:this.out.warn(msg);break;case LogLevel.Information:this.out.info(msg);break;default:this.out.log(msg);break;}}}}
function getUserAgentHeader(){let userAgentHeaderName="X-SignalR-User-Agent";if(Platform.isNode){userAgentHeaderName="User-Agent";}
return[userAgentHeaderName,constructUserAgent(VERSION,getOsName(),getRuntime(),getRuntimeVersion())];}
function constructUserAgent(version,os,runtime,runtimeVersion){let userAgent="Microsoft SignalR/";const majorAndMinor=version.split(".");userAgent+=`${majorAndMinor[0]}.${majorAndMinor[1]}`;userAgent+=` (${version}; `;if(os&&os!==""){userAgent+=`${os}; `;}
else{userAgent+="Unknown OS; ";}
userAgent+=`${runtime}`;if(runtimeVersion){userAgent+=`; ${runtimeVersion}`;}
else{userAgent+="; Unknown Runtime Version";}
userAgent+=")";return userAgent;}
function getOsName(){if(Platform.isNode){switch(process.platform){case"win32":return"Windows NT";case"darwin":return"macOS";case"linux":return"Linux";default:return process.platform;}}
else{return"";}}
function getRuntimeVersion(){if(Platform.isNode){return process.versions.node;}
return undefined;}
function getRuntime(){if(Platform.isNode){return"NodeJS";}
else{return"Browser";}}
function getErrorString(e){if(e.stack){return e.stack;}
else if(e.message){return e.message;}
return`${e}`;}
function getGlobalThis(){if(typeof globalThis!=="undefined"){return globalThis;}
if(typeof self!=="undefined"){return self;}
if(typeof window!=="undefined"){return window;}
if(typeof __webpack_require__.g!=="undefined"){return __webpack_require__.g;}
throw new Error("could not find global");};function configureFetch(){return false;}
function configureAbortController(){return false;}
function getWS(){throw new Error("Trying to import 'ws' in the browser.");}
function getEventSource(){throw new Error("Trying to import 'eventsource' in the browser.");};class FetchHttpClient extends HttpClient{constructor(logger){super();this._logger=logger;const fetchObj={_fetchType:undefined,_jar:undefined};if(configureFetch(fetchObj)){this._fetchType=fetchObj._fetchType;this._jar=fetchObj._jar;}
else{this._fetchType=fetch.bind(getGlobalThis());}
this._abortControllerType=AbortController;const abortObj={_abortControllerType:this._abortControllerType};if(configureAbortController(abortObj)){this._abortControllerType=abortObj._abortControllerType;}}
async send(request){if(request.abortSignal&&request.abortSignal.aborted){throw new AbortError();}
if(!request.method){throw new Error("No method defined.");}
if(!request.url){throw new Error("No url defined.");}
const abortController=new this._abortControllerType();let error;if(request.abortSignal){request.abortSignal.onabort=()=>{abortController.abort();error=new AbortError();};}
let timeoutId=null;if(request.timeout){const msTimeout=request.timeout;timeoutId=setTimeout(()=>{abortController.abort();this._logger.log(LogLevel.Warning,`Timeout from HTTP request.`);error=new TimeoutError();},msTimeout);}
if(request.content===""){request.content=undefined;}
if(request.content){request.headers=request.headers||{};if(isArrayBuffer(request.content)){request.headers["Content-Type"]="application/octet-stream";}
else{request.headers["Content-Type"]="text/plain;charset=UTF-8";}}
let response;try{response=await this._fetchType(request.url,{body:request.content,cache:"no-cache",credentials:request.withCredentials===true?"include":"same-origin",headers:{"X-Requested-With":"XMLHttpRequest",...request.headers,},method:request.method,mode:"cors",redirect:"follow",signal:abortController.signal,});}
catch(e){if(error){throw error;}
this._logger.log(LogLevel.Warning,`Error from HTTP request. ${e}.`);throw e;}
finally{if(timeoutId){clearTimeout(timeoutId);}
if(request.abortSignal){request.abortSignal.onabort=null;}}
if(!response.ok){const errorMessage=await deserializeContent(response,"text");throw new HttpError(errorMessage||response.statusText,response.status);}
const content=deserializeContent(response,request.responseType);const payload=await content;return new HttpResponse(response.status,response.statusText,payload);}
getCookieString(url){let cookies="";if(Platform.isNode&&this._jar){this._jar.getCookies(url,(e,c)=>cookies=c.join("; "));}
return cookies;}}
function deserializeContent(response,responseType){let content;switch(responseType){case"arraybuffer":content=response.arrayBuffer();break;case"text":content=response.text();break;case"blob":case"document":case"json":throw new Error(`${responseType} is not supported.`);default:content=response.text();break;}
return content;};class XhrHttpClient extends HttpClient{constructor(logger){super();this._logger=logger;}
send(request){if(request.abortSignal&&request.abortSignal.aborted){return Promise.reject(new AbortError());}
if(!request.method){return Promise.reject(new Error("No method defined."));}
if(!request.url){return Promise.reject(new Error("No url defined."));}
return new Promise((resolve,reject)=>{const xhr=new XMLHttpRequest();xhr.open(request.method,request.url,true);xhr.withCredentials=request.withCredentials===undefined?true:request.withCredentials;xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");if(request.content===""){request.content=undefined;}
if(request.content){if(isArrayBuffer(request.content)){xhr.setRequestHeader("Content-Type","application/octet-stream");}
else{xhr.setRequestHeader("Content-Type","text/plain;charset=UTF-8");}}
const headers=request.headers;if(headers){Object.keys(headers).forEach((header)=>{xhr.setRequestHeader(header,headers[header]);});}
if(request.responseType){xhr.responseType=request.responseType;}
if(request.abortSignal){request.abortSignal.onabort=()=>{xhr.abort();reject(new AbortError());};}
if(request.timeout){xhr.timeout=request.timeout;}
xhr.onload=()=>{if(request.abortSignal){request.abortSignal.onabort=null;}
if(xhr.status>=200&&xhr.status<300){resolve(new HttpResponse(xhr.status,xhr.statusText,xhr.response||xhr.responseText));}
else{reject(new HttpError(xhr.response||xhr.responseText||xhr.statusText,xhr.status));}};xhr.onerror=()=>{this._logger.log(LogLevel.Warning,`Error from HTTP request. ${xhr.status}: ${xhr.statusText}.`);reject(new HttpError(xhr.statusText,xhr.status));};xhr.ontimeout=()=>{this._logger.log(LogLevel.Warning,`Timeout from HTTP request.`);reject(new TimeoutError());};xhr.send(request.content);});}};class DefaultHttpClient extends HttpClient{constructor(logger){super();if(typeof fetch!=="undefined"||Platform.isNode){this._httpClient=new FetchHttpClient(logger);}
else if(typeof XMLHttpRequest!=="undefined"){this._httpClient=new XhrHttpClient(logger);}
else{throw new Error("No usable HttpClient found.");}}
send(request){if(request.abortSignal&&request.abortSignal.aborted){return Promise.reject(new AbortError());}
if(!request.method){return Promise.reject(new Error("No method defined."));}
if(!request.url){return Promise.reject(new Error("No url defined."));}
return this._httpClient.send(request);}
getCookieString(url){return this._httpClient.getCookieString(url);}};class TextMessageFormat{static write(output){return`${output}${TextMessageFormat.RecordSeparator}`;}
static parse(input){if(input[input.length-1]!==TextMessageFormat.RecordSeparator){throw new Error("Message is incomplete.");}
const messages=input.split(TextMessageFormat.RecordSeparator);messages.pop();return messages;}}
TextMessageFormat.RecordSeparatorCode=0x1e;TextMessageFormat.RecordSeparator=String.fromCharCode(TextMessageFormat.RecordSeparatorCode);;class HandshakeProtocol{writeHandshakeRequest(handshakeRequest){return TextMessageFormat.write(JSON.stringify(handshakeRequest));}
parseHandshakeResponse(data){let messageData;let remainingData;if(isArrayBuffer(data)){const binaryData=new Uint8Array(data);const separatorIndex=binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);if(separatorIndex===-1){throw new Error("Message is incomplete.");}
const responseLength=separatorIndex+1;messageData=String.fromCharCode.apply(null,Array.prototype.slice.call(binaryData.slice(0,responseLength)));remainingData=(binaryData.byteLength>responseLength)?binaryData.slice(responseLength).buffer:null;}
else{const textData=data;const separatorIndex=textData.indexOf(TextMessageFormat.RecordSeparator);if(separatorIndex===-1){throw new Error("Message is incomplete.");}
const responseLength=separatorIndex+1;messageData=textData.substring(0,responseLength);remainingData=(textData.length>responseLength)?textData.substring(responseLength):null;}
const messages=TextMessageFormat.parse(messageData);const response=JSON.parse(messages[0]);if(response.type){throw new Error("Expected a handshake response from the server.");}
const responseMessage=response;return[remainingData,responseMessage];}};var MessageType;(function(MessageType){MessageType[MessageType["Invocation"]=1]="Invocation";MessageType[MessageType["StreamItem"]=2]="StreamItem";MessageType[MessageType["Completion"]=3]="Completion";MessageType[MessageType["StreamInvocation"]=4]="StreamInvocation";MessageType[MessageType["CancelInvocation"]=5]="CancelInvocation";MessageType[MessageType["Ping"]=6]="Ping";MessageType[MessageType["Close"]=7]="Close";MessageType[MessageType["Ack"]=8]="Ack";MessageType[MessageType["Sequence"]=9]="Sequence";})(MessageType||(MessageType={}));;class Subject{constructor(){this.observers=[];}
next(item){for(const observer of this.observers){observer.next(item);}}
error(err){for(const observer of this.observers){if(observer.error){observer.error(err);}}}
complete(){for(const observer of this.observers){if(observer.complete){observer.complete();}}}
subscribe(observer){this.observers.push(observer);return new SubjectSubscription(this,observer);}};class MessageBuffer{constructor(protocol,connection,bufferSize){this._bufferSize=100000;this._messages=[];this._totalMessageCount=0;this._waitForSequenceMessage=false;this._nextReceivingSequenceId=1;this._latestReceivedSequenceId=0;this._bufferedByteCount=0;this._reconnectInProgress=false;this._protocol=protocol;this._connection=connection;this._bufferSize=bufferSize;}
async _send(message){const serializedMessage=this._protocol.writeMessage(message);let backpressurePromise=Promise.resolve();if(this._isInvocationMessage(message)){this._totalMessageCount++;let backpressurePromiseResolver=()=>{};let backpressurePromiseRejector=()=>{};if(isArrayBuffer(serializedMessage)){this._bufferedByteCount+=serializedMessage.byteLength;}
else{this._bufferedByteCount+=serializedMessage.length;}
if(this._bufferedByteCount>=this._bufferSize){backpressurePromise=new Promise((resolve,reject)=>{backpressurePromiseResolver=resolve;backpressurePromiseRejector=reject;});}
this._messages.push(new BufferedItem(serializedMessage,this._totalMessageCount,backpressurePromiseResolver,backpressurePromiseRejector));}
try{if(!this._reconnectInProgress){await this._connection.send(serializedMessage);}}
catch{this._disconnected();}
await backpressurePromise;}
_ack(ackMessage){let newestAckedMessage=-1;for(let index=0;index<this._messages.length;index++){const element=this._messages[index];if(element._id<=ackMessage.sequenceId){newestAckedMessage=index;if(isArrayBuffer(element._message)){this._bufferedByteCount-=element._message.byteLength;}
else{this._bufferedByteCount-=element._message.length;}
element._resolver();}
else if(this._bufferedByteCount<this._bufferSize){element._resolver();}
else{break;}}
if(newestAckedMessage!==-1){this._messages=this._messages.slice(newestAckedMessage+1);}}
_shouldProcessMessage(message){if(this._waitForSequenceMessage){if(message.type!==MessageType.Sequence){return false;}
else{this._waitForSequenceMessage=false;return true;}}
if(!this._isInvocationMessage(message)){return true;}
const currentId=this._nextReceivingSequenceId;this._nextReceivingSequenceId++;if(currentId<=this._latestReceivedSequenceId){if(currentId===this._latestReceivedSequenceId){this._ackTimer();}
return false;}
this._latestReceivedSequenceId=currentId;this._ackTimer();return true;}
_resetSequence(message){if(message.sequenceId>this._nextReceivingSequenceId){this._connection.stop(new Error("Sequence ID greater than amount of messages we've received."));return;}
this._nextReceivingSequenceId=message.sequenceId;}
_disconnected(){this._reconnectInProgress=true;this._waitForSequenceMessage=true;}
async _resend(){const sequenceId=this._messages.length!==0?this._messages[0]._id:this._totalMessageCount+1;await this._connection.send(this._protocol.writeMessage({type:MessageType.Sequence,sequenceId}));const messages=this._messages;for(const element of messages){await this._connection.send(element._message);}
this._reconnectInProgress=false;}
_dispose(error){error!==null&&error!==void 0?error:(error=new Error("Unable to reconnect to server."));for(const element of this._messages){element._rejector(error);}}
_isInvocationMessage(message){switch(message.type){case MessageType.Invocation:case MessageType.StreamItem:case MessageType.Completion:case MessageType.StreamInvocation:case MessageType.CancelInvocation:return true;case MessageType.Close:case MessageType.Sequence:case MessageType.Ping:case MessageType.Ack:return false;}}
_ackTimer(){if(this._ackTimerHandle===undefined){this._ackTimerHandle=setTimeout(async()=>{try{if(!this._reconnectInProgress){await this._connection.send(this._protocol.writeMessage({type:MessageType.Ack,sequenceId:this._latestReceivedSequenceId}));}}
catch{}
clearTimeout(this._ackTimerHandle);this._ackTimerHandle=undefined;},1000);}}}
class BufferedItem{constructor(message,id,resolver,rejector){this._message=message;this._id=id;this._resolver=resolver;this._rejector=rejector;}};const DEFAULT_TIMEOUT_IN_MS=30*1000;const DEFAULT_PING_INTERVAL_IN_MS=15*1000;const DEFAULT_STATEFUL_RECONNECT_BUFFER_SIZE=100000;var HubConnectionState;(function(HubConnectionState){HubConnectionState["Disconnected"]="Disconnected";HubConnectionState["Connecting"]="Connecting";HubConnectionState["Connected"]="Connected";HubConnectionState["Disconnecting"]="Disconnecting";HubConnectionState["Reconnecting"]="Reconnecting";})(HubConnectionState||(HubConnectionState={}));class HubConnection{static create(connection,logger,protocol,reconnectPolicy,serverTimeoutInMilliseconds,keepAliveIntervalInMilliseconds,statefulReconnectBufferSize){return new HubConnection(connection,logger,protocol,reconnectPolicy,serverTimeoutInMilliseconds,keepAliveIntervalInMilliseconds,statefulReconnectBufferSize);}
constructor(connection,logger,protocol,reconnectPolicy,serverTimeoutInMilliseconds,keepAliveIntervalInMilliseconds,statefulReconnectBufferSize){this._nextKeepAlive=0;this._freezeEventListener=()=>{this._logger.log(LogLevel.Warning,"The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep");};Arg.isRequired(connection,"connection");Arg.isRequired(logger,"logger");Arg.isRequired(protocol,"protocol");this.serverTimeoutInMilliseconds=serverTimeoutInMilliseconds!==null&&serverTimeoutInMilliseconds!==void 0?serverTimeoutInMilliseconds:DEFAULT_TIMEOUT_IN_MS;this.keepAliveIntervalInMilliseconds=keepAliveIntervalInMilliseconds!==null&&keepAliveIntervalInMilliseconds!==void 0?keepAliveIntervalInMilliseconds:DEFAULT_PING_INTERVAL_IN_MS;this._statefulReconnectBufferSize=statefulReconnectBufferSize!==null&&statefulReconnectBufferSize!==void 0?statefulReconnectBufferSize:DEFAULT_STATEFUL_RECONNECT_BUFFER_SIZE;this._logger=logger;this._protocol=protocol;this.connection=connection;this._reconnectPolicy=reconnectPolicy;this._handshakeProtocol=new HandshakeProtocol();this.connection.onreceive=(data)=>this._processIncomingData(data);this.connection.onclose=(error)=>this._connectionClosed(error);this._callbacks={};this._methods={};this._closedCallbacks=[];this._reconnectingCallbacks=[];this._reconnectedCallbacks=[];this._invocationId=0;this._receivedHandshakeResponse=false;this._connectionState=HubConnectionState.Disconnected;this._connectionStarted=false;this._cachedPingMessage=this._protocol.writeMessage({type:MessageType.Ping});}
get state(){return this._connectionState;}
get connectionId(){return this.connection?(this.connection.connectionId||null):null;}
get baseUrl(){return this.connection.baseUrl||"";}
set baseUrl(url){if(this._connectionState!==HubConnectionState.Disconnected&&this._connectionState!==HubConnectionState.Reconnecting){throw new Error("The HubConnection must be in the Disconnected or Reconnecting state to change the url.");}
if(!url){throw new Error("The HubConnection url must be a valid url.");}
this.connection.baseUrl=url;}
start(){this._startPromise=this._startWithStateTransitions();return this._startPromise;}
async _startWithStateTransitions(){if(this._connectionState!==HubConnectionState.Disconnected){return Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."));}
this._connectionState=HubConnectionState.Connecting;this._logger.log(LogLevel.Debug,"Starting HubConnection.");try{await this._startInternal();if(Platform.isBrowser){window.document.addEventListener("freeze",this._freezeEventListener);}
this._connectionState=HubConnectionState.Connected;this._connectionStarted=true;this._logger.log(LogLevel.Debug,"HubConnection connected successfully.");}
catch(e){this._connectionState=HubConnectionState.Disconnected;this._logger.log(LogLevel.Debug,`HubConnection failed to start successfully because of error '${e}'.`);return Promise.reject(e);}}
async _startInternal(){this._stopDuringStartError=undefined;this._receivedHandshakeResponse=false;const handshakePromise=new Promise((resolve,reject)=>{this._handshakeResolver=resolve;this._handshakeRejecter=reject;});await this.connection.start(this._protocol.transferFormat);try{let version=this._protocol.version;if(!this.connection.features.reconnect){version=1;}
const handshakeRequest={protocol:this._protocol.name,version,};this._logger.log(LogLevel.Debug,"Sending handshake request.");await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(handshakeRequest));this._logger.log(LogLevel.Information,`Using HubProtocol '${this._protocol.name}'.`);this._cleanupTimeout();this._resetTimeoutPeriod();this._resetKeepAliveInterval();await handshakePromise;if(this._stopDuringStartError){throw this._stopDuringStartError;}
const useStatefulReconnect=this.connection.features.reconnect||false;if(useStatefulReconnect){this._messageBuffer=new MessageBuffer(this._protocol,this.connection,this._statefulReconnectBufferSize);this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer);this.connection.features.resend=()=>{if(this._messageBuffer){return this._messageBuffer._resend();}};}
if(!this.connection.features.inherentKeepAlive){await this._sendMessage(this._cachedPingMessage);}}
catch(e){this._logger.log(LogLevel.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`);this._cleanupTimeout();this._cleanupPingTimer();await this.connection.stop(e);throw e;}}
async stop(){const startPromise=this._startPromise;this.connection.features.reconnect=false;this._stopPromise=this._stopInternal();await this._stopPromise;try{await startPromise;}
catch(e){}}
_stopInternal(error){if(this._connectionState===HubConnectionState.Disconnected){this._logger.log(LogLevel.Debug,`Call to HubConnection.stop(${error}) ignored because it is already in the disconnected state.`);return Promise.resolve();}
if(this._connectionState===HubConnectionState.Disconnecting){this._logger.log(LogLevel.Debug,`Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);return this._stopPromise;}
const state=this._connectionState;this._connectionState=HubConnectionState.Disconnecting;this._logger.log(LogLevel.Debug,"Stopping HubConnection.");if(this._reconnectDelayHandle){this._logger.log(LogLevel.Debug,"Connection stopped during reconnect delay. Done reconnecting.");clearTimeout(this._reconnectDelayHandle);this._reconnectDelayHandle=undefined;this._completeClose();return Promise.resolve();}
if(state===HubConnectionState.Connected){this._sendCloseMessage();}
this._cleanupTimeout();this._cleanupPingTimer();this._stopDuringStartError=error||new AbortError("The connection was stopped before the hub handshake could complete.");return this.connection.stop(error);}
async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage());}
catch{}}
stream(methodName,...args){const[streams,streamIds]=this._replaceStreamingParams(args);const invocationDescriptor=this._createStreamInvocation(methodName,args,streamIds);let promiseQueue;const subject=new Subject();subject.cancelCallback=()=>{const cancelInvocation=this._createCancelInvocation(invocationDescriptor.invocationId);delete this._callbacks[invocationDescriptor.invocationId];return promiseQueue.then(()=>{return this._sendWithProtocol(cancelInvocation);});};this._callbacks[invocationDescriptor.invocationId]=(invocationEvent,error)=>{if(error){subject.error(error);return;}
else if(invocationEvent){if(invocationEvent.type===MessageType.Completion){if(invocationEvent.error){subject.error(new Error(invocationEvent.error));}
else{subject.complete();}}
else{subject.next((invocationEvent.item));}}};promiseQueue=this._sendWithProtocol(invocationDescriptor).catch((e)=>{subject.error(e);delete this._callbacks[invocationDescriptor.invocationId];});this._launchStreams(streams,promiseQueue);return subject;}
_sendMessage(message){this._resetKeepAliveInterval();return this.connection.send(message);}
_sendWithProtocol(message){if(this._messageBuffer){return this._messageBuffer._send(message);}
else{return this._sendMessage(this._protocol.writeMessage(message));}}
send(methodName,...args){const[streams,streamIds]=this._replaceStreamingParams(args);const sendPromise=this._sendWithProtocol(this._createInvocation(methodName,args,true,streamIds));this._launchStreams(streams,sendPromise);return sendPromise;}
invoke(methodName,...args){const[streams,streamIds]=this._replaceStreamingParams(args);const invocationDescriptor=this._createInvocation(methodName,args,false,streamIds);const p=new Promise((resolve,reject)=>{this._callbacks[invocationDescriptor.invocationId]=(invocationEvent,error)=>{if(error){reject(error);return;}
else if(invocationEvent){if(invocationEvent.type===MessageType.Completion){if(invocationEvent.error){reject(new Error(invocationEvent.error));}
else{resolve(invocationEvent.result);}}
else{reject(new Error(`Unexpected message type: ${invocationEvent.type}`));}}};const promiseQueue=this._sendWithProtocol(invocationDescriptor).catch((e)=>{reject(e);delete this._callbacks[invocationDescriptor.invocationId];});this._launchStreams(streams,promiseQueue);});return p;}
on(methodName,newMethod){if(!methodName||!newMethod){return;}
methodName=methodName.toLowerCase();if(!this._methods[methodName]){this._methods[methodName]=[];}
if(this._methods[methodName].indexOf(newMethod)!==-1){return;}
this._methods[methodName].push(newMethod);}
off(methodName,method){if(!methodName){return;}
methodName=methodName.toLowerCase();const handlers=this._methods[methodName];if(!handlers){return;}
if(method){const removeIdx=handlers.indexOf(method);if(removeIdx!==-1){handlers.splice(removeIdx,1);if(handlers.length===0){delete this._methods[methodName];}}}
else{delete this._methods[methodName];}}
onclose(callback){if(callback){this._closedCallbacks.push(callback);}}
onreconnecting(callback){if(callback){this._reconnectingCallbacks.push(callback);}}
onreconnected(callback){if(callback){this._reconnectedCallbacks.push(callback);}}
_processIncomingData(data){this._cleanupTimeout();if(!this._receivedHandshakeResponse){data=this._processHandshakeResponse(data);this._receivedHandshakeResponse=true;}
if(data){const messages=this._protocol.parseMessages(data,this._logger);for(const message of messages){if(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(message)){continue;}
switch(message.type){case MessageType.Invocation:this._invokeClientMethod(message);break;case MessageType.StreamItem:case MessageType.Completion:{const callback=this._callbacks[message.invocationId];if(callback){if(message.type===MessageType.Completion){delete this._callbacks[message.invocationId];}
try{callback(message);}
catch(e){this._logger.log(LogLevel.Error,`Stream callback threw error: ${getErrorString(e)}`);}}
break;}
case MessageType.Ping:break;case MessageType.Close:{this._logger.log(LogLevel.Information,"Close message received from server.");const error=message.error?new Error("Server returned an error on close: "+message.error):undefined;if(message.allowReconnect===true){this.connection.stop(error);}
else{this._stopPromise=this._stopInternal(error);}
break;}
case MessageType.Ack:if(this._messageBuffer){this._messageBuffer._ack(message);}
break;case MessageType.Sequence:if(this._messageBuffer){this._messageBuffer._resetSequence(message);}
break;default:this._logger.log(LogLevel.Warning,`Invalid message type: ${message.type}.`);break;}}}
this._resetTimeoutPeriod();}
_processHandshakeResponse(data){let responseMessage;let remainingData;try{[remainingData,responseMessage]=this._handshakeProtocol.parseHandshakeResponse(data);}
catch(e){const message="Error parsing handshake response: "+e;this._logger.log(LogLevel.Error,message);const error=new Error(message);this._handshakeRejecter(error);throw error;}
if(responseMessage.error){const message="Server returned handshake error: "+responseMessage.error;this._logger.log(LogLevel.Error,message);const error=new Error(message);this._handshakeRejecter(error);throw error;}
else{this._logger.log(LogLevel.Debug,"Server handshake complete.");}
this._handshakeResolver();return remainingData;}
_resetKeepAliveInterval(){if(this.connection.features.inherentKeepAlive){return;}
this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds;this._cleanupPingTimer();}
_resetTimeoutPeriod(){if(!this.connection.features||!this.connection.features.inherentKeepAlive){this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds);if(this._pingServerHandle===undefined){let nextPing=this._nextKeepAlive-new Date().getTime();if(nextPing<0){nextPing=0;}
this._pingServerHandle=setTimeout(async()=>{if(this._connectionState===HubConnectionState.Connected){try{await this._sendMessage(this._cachedPingMessage);}
catch{this._cleanupPingTimer();}}},nextPing);}}}
serverTimeout(){this.connection.stop(new Error("Server timeout elapsed without receiving a message from the server."));}
async _invokeClientMethod(invocationMessage){const methodName=invocationMessage.target.toLowerCase();const methods=this._methods[methodName];if(!methods){this._logger.log(LogLevel.Warning,`No client method with the name '${methodName}' found.`);if(invocationMessage.invocationId){this._logger.log(LogLevel.Warning,`No result given for '${methodName}' method and invocation ID '${invocationMessage.invocationId}'.`);await this._sendWithProtocol(this._createCompletionMessage(invocationMessage.invocationId,"Client didn't provide a result.",null));}
return;}
const methodsCopy=methods.slice();const expectsResponse=invocationMessage.invocationId?true:false;let res;let exception;let completionMessage;for(const m of methodsCopy){try{const prevRes=res;res=await m.apply(this,invocationMessage.arguments);if(expectsResponse&&res&&prevRes){this._logger.log(LogLevel.Error,`Multiple results provided for '${methodName}'. Sending error to server.`);completionMessage=this._createCompletionMessage(invocationMessage.invocationId,`Client provided multiple results.`,null);}
exception=undefined;}
catch(e){exception=e;this._logger.log(LogLevel.Error,`A callback for the method '${methodName}' threw error '${e}'.`);}}
if(completionMessage){await this._sendWithProtocol(completionMessage);}
else if(expectsResponse){if(exception){completionMessage=this._createCompletionMessage(invocationMessage.invocationId,`${exception}`,null);}
else if(res!==undefined){completionMessage=this._createCompletionMessage(invocationMessage.invocationId,null,res);}
else{this._logger.log(LogLevel.Warning,`No result given for '${methodName}' method and invocation ID '${invocationMessage.invocationId}'.`);completionMessage=this._createCompletionMessage(invocationMessage.invocationId,"Client didn't provide a result.",null);}
await this._sendWithProtocol(completionMessage);}
else{if(res){this._logger.log(LogLevel.Error,`Result given for '${methodName}' method but server is not expecting a result.`);}}}
_connectionClosed(error){this._logger.log(LogLevel.Debug,`HubConnection.connectionClosed(${error}) called while in state ${this._connectionState}.`);this._stopDuringStartError=this._stopDuringStartError||error||new AbortError("The underlying connection was closed before the hub handshake could complete.");if(this._handshakeResolver){this._handshakeResolver();}
this._cancelCallbacksWithError(error||new Error("Invocation canceled due to the underlying connection being closed."));this._cleanupTimeout();this._cleanupPingTimer();if(this._connectionState===HubConnectionState.Disconnecting){this._completeClose(error);}
else if(this._connectionState===HubConnectionState.Connected&&this._reconnectPolicy){this._reconnect(error);}
else if(this._connectionState===HubConnectionState.Connected){this._completeClose(error);}}
_completeClose(error){if(this._connectionStarted){this._connectionState=HubConnectionState.Disconnected;this._connectionStarted=false;if(this._messageBuffer){this._messageBuffer._dispose(error!==null&&error!==void 0?error:new Error("Connection closed."));this._messageBuffer=undefined;}
if(Platform.isBrowser){window.document.removeEventListener("freeze",this._freezeEventListener);}
try{this._closedCallbacks.forEach((c)=>c.apply(this,[error]));}
catch(e){this._logger.log(LogLevel.Error,`An onclose callback called with error '${error}' threw error '${e}'.`);}}}
async _reconnect(error){const reconnectStartTime=Date.now();let previousReconnectAttempts=0;let retryError=error!==undefined?error:new Error("Attempting to reconnect due to a unknown error.");let nextRetryDelay=this._getNextRetryDelay(previousReconnectAttempts++,0,retryError);if(nextRetryDelay===null){this._logger.log(LogLevel.Debug,"Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.");this._completeClose(error);return;}
this._connectionState=HubConnectionState.Reconnecting;if(error){this._logger.log(LogLevel.Information,`Connection reconnecting because of error '${error}'.`);}
else{this._logger.log(LogLevel.Information,"Connection reconnecting.");}
if(this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach((c)=>c.apply(this,[error]));}
catch(e){this._logger.log(LogLevel.Error,`An onreconnecting callback called with error '${error}' threw error '${e}'.`);}
if(this._connectionState!==HubConnectionState.Reconnecting){this._logger.log(LogLevel.Debug,"Connection left the reconnecting state in onreconnecting callback. Done reconnecting.");return;}}
while(nextRetryDelay!==null){this._logger.log(LogLevel.Information,`Reconnect attempt number ${previousReconnectAttempts} will start in ${nextRetryDelay} ms.`);await new Promise((resolve)=>{this._reconnectDelayHandle=setTimeout(resolve,nextRetryDelay);});this._reconnectDelayHandle=undefined;if(this._connectionState!==HubConnectionState.Reconnecting){this._logger.log(LogLevel.Debug,"Connection left the reconnecting state during reconnect delay. Done reconnecting.");return;}
try{await this._startInternal();this._connectionState=HubConnectionState.Connected;this._logger.log(LogLevel.Information,"HubConnection reconnected successfully.");if(this._reconnectedCallbacks.length!==0){try{this._reconnectedCallbacks.forEach((c)=>c.apply(this,[this.connection.connectionId]));}
catch(e){this._logger.log(LogLevel.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`);}}
return;}
catch(e){this._logger.log(LogLevel.Information,`Reconnect attempt failed because of error '${e}'.`);if(this._connectionState!==HubConnectionState.Reconnecting){this._logger.log(LogLevel.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`);if(this._connectionState===HubConnectionState.Disconnecting){this._completeClose();}
return;}
retryError=e instanceof Error?e:new Error(e.toString());nextRetryDelay=this._getNextRetryDelay(previousReconnectAttempts++,Date.now()-reconnectStartTime,retryError);}}
this._logger.log(LogLevel.Information,`Reconnect retries have been exhausted after ${Date.now() - reconnectStartTime} ms and ${previousReconnectAttempts} failed attempts. Connection disconnecting.`);this._completeClose();}
_getNextRetryDelay(previousRetryCount,elapsedMilliseconds,retryReason){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds,previousRetryCount,retryReason,});}
catch(e){this._logger.log(LogLevel.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${previousRetryCount}, ${elapsedMilliseconds}) threw error '${e}'.`);return null;}}
_cancelCallbacksWithError(error){const callbacks=this._callbacks;this._callbacks={};Object.keys(callbacks).forEach((key)=>{const callback=callbacks[key];try{callback(null,error);}
catch(e){this._logger.log(LogLevel.Error,`Stream 'error' callback called with '${error}' threw error: ${getErrorString(e)}`);}});}
_cleanupPingTimer(){if(this._pingServerHandle){clearTimeout(this._pingServerHandle);this._pingServerHandle=undefined;}}
_cleanupTimeout(){if(this._timeoutHandle){clearTimeout(this._timeoutHandle);}}
_createInvocation(methodName,args,nonblocking,streamIds){if(nonblocking){if(streamIds.length!==0){return{arguments:args,streamIds,target:methodName,type:MessageType.Invocation,};}
else{return{arguments:args,target:methodName,type:MessageType.Invocation,};}}
else{const invocationId=this._invocationId;this._invocationId++;if(streamIds.length!==0){return{arguments:args,invocationId:invocationId.toString(),streamIds,target:methodName,type:MessageType.Invocation,};}
else{return{arguments:args,invocationId:invocationId.toString(),target:methodName,type:MessageType.Invocation,};}}}
_launchStreams(streams,promiseQueue){if(streams.length===0){return;}
if(!promiseQueue){promiseQueue=Promise.resolve();}
for(const streamId in streams){streams[streamId].subscribe({complete:()=>{promiseQueue=promiseQueue.then(()=>this._sendWithProtocol(this._createCompletionMessage(streamId)));},error:(err)=>{let message;if(err instanceof Error){message=err.message;}
else if(err&&err.toString){message=err.toString();}
else{message="Unknown error";}
promiseQueue=promiseQueue.then(()=>this._sendWithProtocol(this._createCompletionMessage(streamId,message)));},next:(item)=>{promiseQueue=promiseQueue.then(()=>this._sendWithProtocol(this._createStreamItemMessage(streamId,item)));},});}}
_replaceStreamingParams(args){const streams=[];const streamIds=[];for(let i=0;i<args.length;i++){const argument=args[i];if(this._isObservable(argument)){const streamId=this._invocationId;this._invocationId++;streams[streamId]=argument;streamIds.push(streamId.toString());args.splice(i,1);}}
return[streams,streamIds];}
_isObservable(arg){return arg&&arg.subscribe&&typeof arg.subscribe==="function";}
_createStreamInvocation(methodName,args,streamIds){const invocationId=this._invocationId;this._invocationId++;if(streamIds.length!==0){return{arguments:args,invocationId:invocationId.toString(),streamIds,target:methodName,type:MessageType.StreamInvocation,};}
else{return{arguments:args,invocationId:invocationId.toString(),target:methodName,type:MessageType.StreamInvocation,};}}
_createCancelInvocation(id){return{invocationId:id,type:MessageType.CancelInvocation,};}
_createStreamItemMessage(id,item){return{invocationId:id,item,type:MessageType.StreamItem,};}
_createCompletionMessage(id,error,result){if(error){return{error,invocationId:id,type:MessageType.Completion,};}
return{invocationId:id,result,type:MessageType.Completion,};}
_createCloseMessage(){return{type:MessageType.Close};}};const DEFAULT_RETRY_DELAYS_IN_MILLISECONDS=[0,2000,10000,30000,null];class DefaultReconnectPolicy{constructor(retryDelays){this._retryDelays=retryDelays!==undefined?[...retryDelays,null]:DEFAULT_RETRY_DELAYS_IN_MILLISECONDS;}
nextRetryDelayInMilliseconds(retryContext){return this._retryDelays[retryContext.previousRetryCount];}};class HeaderNames{}
HeaderNames.Authorization="Authorization";HeaderNames.Cookie="Cookie";;class AccessTokenHttpClient extends HttpClient{constructor(innerClient,accessTokenFactory){super();this._innerClient=innerClient;this._accessTokenFactory=accessTokenFactory;}
async send(request){let allowRetry=true;if(this._accessTokenFactory&&(!this._accessToken||(request.url&&request.url.indexOf("/negotiate?")>0))){allowRetry=false;this._accessToken=await this._accessTokenFactory();}
this._setAuthorizationHeader(request);const response=await this._innerClient.send(request);if(allowRetry&&response.statusCode===401&&this._accessTokenFactory){this._accessToken=await this._accessTokenFactory();this._setAuthorizationHeader(request);return await this._innerClient.send(request);}
return response;}
_setAuthorizationHeader(request){if(!request.headers){request.headers={};}
if(this._accessToken){request.headers[HeaderNames.Authorization]=`Bearer ${this._accessToken}`;}
else if(this._accessTokenFactory){if(request.headers[HeaderNames.Authorization]){delete request.headers[HeaderNames.Authorization];}}}
getCookieString(url){return this._innerClient.getCookieString(url);}};var HttpTransportType;(function(HttpTransportType){HttpTransportType[HttpTransportType["None"]=0]="None";HttpTransportType[HttpTransportType["WebSockets"]=1]="WebSockets";HttpTransportType[HttpTransportType["ServerSentEvents"]=2]="ServerSentEvents";HttpTransportType[HttpTransportType["LongPolling"]=4]="LongPolling";})(HttpTransportType||(HttpTransportType={}));var TransferFormat;(function(TransferFormat){TransferFormat[TransferFormat["Text"]=1]="Text";TransferFormat[TransferFormat["Binary"]=2]="Binary";})(TransferFormat||(TransferFormat={}));;class AbortController_AbortController{constructor(){this._isAborted=false;this.onabort=null;}
abort(){if(!this._isAborted){this._isAborted=true;if(this.onabort){this.onabort();}}}
get signal(){return this;}
get aborted(){return this._isAborted;}};class LongPollingTransport{get pollAborted(){return this._pollAbort.aborted;}
constructor(httpClient,logger,options){this._httpClient=httpClient;this._logger=logger;this._pollAbort=new AbortController_AbortController();this._options=options;this._running=false;this.onreceive=null;this.onclose=null;}
async connect(url,transferFormat){Arg.isRequired(url,"url");Arg.isRequired(transferFormat,"transferFormat");Arg.isIn(transferFormat,TransferFormat,"transferFormat");this._url=url;this._logger.log(LogLevel.Trace,"(LongPolling transport) Connecting.");if(transferFormat===TransferFormat.Binary&&(typeof XMLHttpRequest!=="undefined"&&typeof new XMLHttpRequest().responseType!=="string")){throw new Error("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");}
const[name,value]=getUserAgentHeader();const headers={[name]:value,...this._options.headers};const pollOptions={abortSignal:this._pollAbort.signal,headers,timeout:100000,withCredentials:this._options.withCredentials,};if(transferFormat===TransferFormat.Binary){pollOptions.responseType="arraybuffer";}
const pollUrl=`${url}&_=${Date.now()}`;this._logger.log(LogLevel.Trace,`(LongPolling transport) polling: ${pollUrl}.`);const response=await this._httpClient.get(pollUrl,pollOptions);if(response.statusCode!==200){this._logger.log(LogLevel.Error,`(LongPolling transport) Unexpected response code: ${response.statusCode}.`);this._closeError=new HttpError(response.statusText||"",response.statusCode);this._running=false;}
else{this._running=true;}
this._receiving=this._poll(this._url,pollOptions);}
async _poll(url,pollOptions){try{while(this._running){try{const pollUrl=`${url}&_=${Date.now()}`;this._logger.log(LogLevel.Trace,`(LongPolling transport) polling: ${pollUrl}.`);const response=await this._httpClient.get(pollUrl,pollOptions);if(response.statusCode===204){this._logger.log(LogLevel.Information,"(LongPolling transport) Poll terminated by server.");this._running=false;}
else if(response.statusCode!==200){this._logger.log(LogLevel.Error,`(LongPolling transport) Unexpected response code: ${response.statusCode}.`);this._closeError=new HttpError(response.statusText||"",response.statusCode);this._running=false;}
else{if(response.content){this._logger.log(LogLevel.Trace,`(LongPolling transport) data received. ${getDataDetail(response.content, this._options.logMessageContent)}.`);if(this.onreceive){this.onreceive(response.content);}}
else{this._logger.log(LogLevel.Trace,"(LongPolling transport) Poll timed out, reissuing.");}}}
catch(e){if(!this._running){this._logger.log(LogLevel.Trace,`(LongPolling transport) Poll errored after shutdown: ${e.message}`);}
else{if(e instanceof TimeoutError){this._logger.log(LogLevel.Trace,"(LongPolling transport) Poll timed out, reissuing.");}
else{this._closeError=e;this._running=false;}}}}}
finally{this._logger.log(LogLevel.Trace,"(LongPolling transport) Polling complete.");if(!this.pollAborted){this._raiseOnClose();}}}
async send(data){if(!this._running){return Promise.reject(new Error("Cannot send until the transport is connected"));}
return sendMessage(this._logger,"LongPolling",this._httpClient,this._url,data,this._options);}
async stop(){this._logger.log(LogLevel.Trace,"(LongPolling transport) Stopping polling.");this._running=false;this._pollAbort.abort();try{await this._receiving;this._logger.log(LogLevel.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);const headers={};const[name,value]=getUserAgentHeader();headers[name]=value;const deleteOptions={headers:{...headers,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials,};let error;try{await this._httpClient.delete(this._url,deleteOptions);}
catch(err){error=err;}
if(error){if(error instanceof HttpError){if(error.statusCode===404){this._logger.log(LogLevel.Trace,"(LongPolling transport) A 404 response was returned from sending a DELETE request.");}
else{this._logger.log(LogLevel.Trace,`(LongPolling transport) Error sending a DELETE request: ${error}`);}}}
else{this._logger.log(LogLevel.Trace,"(LongPolling transport) DELETE request accepted.");}}
finally{this._logger.log(LogLevel.Trace,"(LongPolling transport) Stop finished.");this._raiseOnClose();}}
_raiseOnClose(){if(this.onclose){let logMessage="(LongPolling transport) Firing onclose event.";if(this._closeError){logMessage+=" Error: "+this._closeError;}
this._logger.log(LogLevel.Trace,logMessage);this.onclose(this._closeError);}}};class ServerSentEventsTransport{constructor(httpClient,accessToken,logger,options){this._httpClient=httpClient;this._accessToken=accessToken;this._logger=logger;this._options=options;this.onreceive=null;this.onclose=null;}
async connect(url,transferFormat){Arg.isRequired(url,"url");Arg.isRequired(transferFormat,"transferFormat");Arg.isIn(transferFormat,TransferFormat,"transferFormat");this._logger.log(LogLevel.Trace,"(SSE transport) Connecting.");this._url=url;if(this._accessToken){url+=(url.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(this._accessToken)}`;}
return new Promise((resolve,reject)=>{let opened=false;if(transferFormat!==TransferFormat.Text){reject(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"));return;}
let eventSource;if(Platform.isBrowser||Platform.isWebWorker){eventSource=new this._options.EventSource(url,{withCredentials:this._options.withCredentials});}
else{const cookies=this._httpClient.getCookieString(url);const headers={};headers.Cookie=cookies;const[name,value]=getUserAgentHeader();headers[name]=value;eventSource=new this._options.EventSource(url,{withCredentials:this._options.withCredentials,headers:{...headers,...this._options.headers}});}
try{eventSource.onmessage=(e)=>{if(this.onreceive){try{this._logger.log(LogLevel.Trace,`(SSE transport) data received. ${getDataDetail(e.data, this._options.logMessageContent)}.`);this.onreceive(e.data);}
catch(error){this._close(error);return;}}};eventSource.onerror=(e)=>{if(opened){this._close();}
else{reject(new Error("EventSource failed to connect. The connection could not be found on the server,"
+" either the connection ID is not present on the server, or a proxy is refusing/buffering the connection."
+" If you have multiple servers check that sticky sessions are enabled."));}};eventSource.onopen=()=>{this._logger.log(LogLevel.Information,`SSE connected to ${this._url}`);this._eventSource=eventSource;opened=true;resolve();};}
catch(e){reject(e);return;}});}
async send(data){if(!this._eventSource){return Promise.reject(new Error("Cannot send until the transport is connected"));}
return sendMessage(this._logger,"SSE",this._httpClient,this._url,data,this._options);}
stop(){this._close();return Promise.resolve();}
_close(e){if(this._eventSource){this._eventSource.close();this._eventSource=undefined;if(this.onclose){this.onclose(e);}}}};class WebSocketTransport{constructor(httpClient,accessTokenFactory,logger,logMessageContent,webSocketConstructor,headers){this._logger=logger;this._accessTokenFactory=accessTokenFactory;this._logMessageContent=logMessageContent;this._webSocketConstructor=webSocketConstructor;this._httpClient=httpClient;this.onreceive=null;this.onclose=null;this._headers=headers;}
async connect(url,transferFormat){Arg.isRequired(url,"url");Arg.isRequired(transferFormat,"transferFormat");Arg.isIn(transferFormat,TransferFormat,"transferFormat");this._logger.log(LogLevel.Trace,"(WebSockets transport) Connecting.");let token;if(this._accessTokenFactory){token=await this._accessTokenFactory();}
return new Promise((resolve,reject)=>{url=url.replace(/^http/,"ws");let webSocket;const cookies=this._httpClient.getCookieString(url);let opened=false;if(Platform.isNode||Platform.isReactNative){const headers={};const[name,value]=getUserAgentHeader();headers[name]=value;if(token){headers[HeaderNames.Authorization]=`Bearer ${token}`;}
if(cookies){headers[HeaderNames.Cookie]=cookies;}
webSocket=new this._webSocketConstructor(url,undefined,{headers:{...headers,...this._headers},});}
else{if(token){url+=(url.indexOf("?")<0?"?":"&")+`access_token=${encodeURIComponent(token)}`;}}
if(!webSocket){webSocket=new this._webSocketConstructor(url);}
if(transferFormat===TransferFormat.Binary){webSocket.binaryType="arraybuffer";}
webSocket.onopen=(_event)=>{this._logger.log(LogLevel.Information,`WebSocket connected to ${url}.`);this._webSocket=webSocket;opened=true;resolve();};webSocket.onerror=(event)=>{let error=null;if(typeof ErrorEvent!=="undefined"&&event instanceof ErrorEvent){error=event.error;}
else{error="There was an error with the transport";}
this._logger.log(LogLevel.Information,`(WebSockets transport) ${error}.`);};webSocket.onmessage=(message)=>{this._logger.log(LogLevel.Trace,`(WebSockets transport) data received. ${getDataDetail(message.data, this._logMessageContent)}.`);if(this.onreceive){try{this.onreceive(message.data);}
catch(error){this._close(error);return;}}};webSocket.onclose=(event)=>{if(opened){this._close(event);}
else{let error=null;if(typeof ErrorEvent!=="undefined"&&event instanceof ErrorEvent){error=event.error;}
else{error="WebSocket failed to connect. The connection could not be found on the server,"
+" either the endpoint may not be a SignalR endpoint,"
+" the connection ID is not present on the server, or there is a proxy blocking WebSockets."
+" If you have multiple servers check that sticky sessions are enabled.";}
reject(new Error(error));}};});}
send(data){if(this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN){this._logger.log(LogLevel.Trace,`(WebSockets transport) sending data. ${getDataDetail(data, this._logMessageContent)}.`);this._webSocket.send(data);return Promise.resolve();}
return Promise.reject("WebSocket is not in the OPEN state");}
stop(){if(this._webSocket){this._close(undefined);}
return Promise.resolve();}
_close(event){if(this._webSocket){this._webSocket.onclose=()=>{};this._webSocket.onmessage=()=>{};this._webSocket.onerror=()=>{};this._webSocket.close();this._webSocket=undefined;}
this._logger.log(LogLevel.Trace,"(WebSockets transport) socket closed.");if(this.onclose){if(this._isCloseEvent(event)&&(event.wasClean===false||event.code!==1000)){this.onclose(new Error(`WebSocket closed with status code: ${event.code} (${event.reason || "no reason given"}).`));}
else if(event instanceof Error){this.onclose(event);}
else{this.onclose();}}}
_isCloseEvent(event){return event&&typeof event.wasClean==="boolean"&&typeof event.code==="number";}};const MAX_REDIRECTS=100;class HttpConnection{constructor(url,options={}){this._stopPromiseResolver=()=>{};this.features={};this._negotiateVersion=1;Arg.isRequired(url,"url");this._logger=createLogger(options.logger);this.baseUrl=this._resolveUrl(url);options=options||{};options.logMessageContent=options.logMessageContent===undefined?false:options.logMessageContent;if(typeof options.withCredentials==="boolean"||options.withCredentials===undefined){options.withCredentials=options.withCredentials===undefined?true:options.withCredentials;}
else{throw new Error("withCredentials option was not a 'boolean' or 'undefined' value");}
options.timeout=options.timeout===undefined?100*1000:options.timeout;let webSocketModule=null;let eventSourceModule=null;if(Platform.isNode&&"function"!=="undefined"){webSocketModule=getWS();eventSourceModule=getEventSource();}
if(!Platform.isNode&&typeof WebSocket!=="undefined"&&!options.WebSocket){options.WebSocket=WebSocket;}
else if(Platform.isNode&&!options.WebSocket){if(webSocketModule){options.WebSocket=webSocketModule;}}
if(!Platform.isNode&&typeof EventSource!=="undefined"&&!options.EventSource){options.EventSource=EventSource;}
else if(Platform.isNode&&!options.EventSource){if(typeof eventSourceModule!=="undefined"){options.EventSource=eventSourceModule;}}
this._httpClient=new AccessTokenHttpClient(options.httpClient||new DefaultHttpClient(this._logger),options.accessTokenFactory);this._connectionState="Disconnected";this._connectionStarted=false;this._options=options;this.onreceive=null;this.onclose=null;}
async start(transferFormat){transferFormat=transferFormat||TransferFormat.Binary;Arg.isIn(transferFormat,TransferFormat,"transferFormat");this._logger.log(LogLevel.Debug,`Starting connection with transfer format '${TransferFormat[transferFormat]}'.`);if(this._connectionState!=="Disconnected"){return Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."));}
this._connectionState="Connecting";this._startInternalPromise=this._startInternal(transferFormat);await this._startInternalPromise;if(this._connectionState==="Disconnecting"){const message="Failed to start the HttpConnection before stop() was called.";this._logger.log(LogLevel.Error,message);await this._stopPromise;return Promise.reject(new AbortError(message));}
else if(this._connectionState!=="Connected"){const message="HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!";this._logger.log(LogLevel.Error,message);return Promise.reject(new AbortError(message));}
this._connectionStarted=true;}
send(data){if(this._connectionState!=="Connected"){return Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State."));}
if(!this._sendQueue){this._sendQueue=new TransportSendQueue(this.transport);}
return this._sendQueue.send(data);}
async stop(error){if(this._connectionState==="Disconnected"){this._logger.log(LogLevel.Debug,`Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnected state.`);return Promise.resolve();}
if(this._connectionState==="Disconnecting"){this._logger.log(LogLevel.Debug,`Call to HttpConnection.stop(${error}) ignored because the connection is already in the disconnecting state.`);return this._stopPromise;}
this._connectionState="Disconnecting";this._stopPromise=new Promise((resolve)=>{this._stopPromiseResolver=resolve;});await this._stopInternal(error);await this._stopPromise;}
async _stopInternal(error){this._stopError=error;try{await this._startInternalPromise;}
catch(e){}
if(this.transport){try{await this.transport.stop();}
catch(e){this._logger.log(LogLevel.Error,`HttpConnection.transport.stop() threw error '${e}'.`);this._stopConnection();}
this.transport=undefined;}
else{this._logger.log(LogLevel.Debug,"HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.");}}
async _startInternal(transferFormat){let url=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory;this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation){if(this._options.transport===HttpTransportType.WebSockets){this.transport=this._constructTransport(HttpTransportType.WebSockets);await this._startTransport(url,transferFormat);}
else{throw new Error("Negotiation can only be skipped when using the WebSocket transport directly.");}}
else{let negotiateResponse=null;let redirects=0;do{negotiateResponse=await this._getNegotiationResponse(url);if(this._connectionState==="Disconnecting"||this._connectionState==="Disconnected"){throw new AbortError("The connection was stopped during negotiation.");}
if(negotiateResponse.error){throw new Error(negotiateResponse.error);}
if(negotiateResponse.ProtocolVersion){throw new Error("Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.");}
if(negotiateResponse.url){url=negotiateResponse.url;}
if(negotiateResponse.accessToken){const accessToken=negotiateResponse.accessToken;this._accessTokenFactory=()=>accessToken;this._httpClient._accessToken=accessToken;this._httpClient._accessTokenFactory=undefined;}
redirects++;}while(negotiateResponse.url&&redirects<MAX_REDIRECTS);if(redirects===MAX_REDIRECTS&&negotiateResponse.url){throw new Error("Negotiate redirection limit exceeded.");}
await this._createTransport(url,this._options.transport,negotiateResponse,transferFormat);}
if(this.transport instanceof LongPollingTransport){this.features.inherentKeepAlive=true;}
if(this._connectionState==="Connecting"){this._logger.log(LogLevel.Debug,"The HttpConnection connected successfully.");this._connectionState="Connected";}}
catch(e){this._logger.log(LogLevel.Error,"Failed to start the connection: "+e);this._connectionState="Disconnected";this.transport=undefined;this._stopPromiseResolver();return Promise.reject(e);}}
async _getNegotiationResponse(url){const headers={};const[name,value]=getUserAgentHeader();headers[name]=value;const negotiateUrl=this._resolveNegotiateUrl(url);this._logger.log(LogLevel.Debug,`Sending negotiation request: ${negotiateUrl}.`);try{const response=await this._httpClient.post(negotiateUrl,{content:"",headers:{...headers,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials,});if(response.statusCode!==200){return Promise.reject(new Error(`Unexpected status code returned from negotiate '${response.statusCode}'`));}
const negotiateResponse=JSON.parse(response.content);if(!negotiateResponse.negotiateVersion||negotiateResponse.negotiateVersion<1){negotiateResponse.connectionToken=negotiateResponse.connectionId;}
if(negotiateResponse.useStatefulReconnect&&this._options._useStatefulReconnect!==true){return Promise.reject(new FailedToNegotiateWithServerError("Client didn't negotiate Stateful Reconnect but the server did."));}
return negotiateResponse;}
catch(e){let errorMessage="Failed to complete negotiation with the server: "+e;if(e instanceof HttpError){if(e.statusCode===404){errorMessage=errorMessage+" Either this is not a SignalR endpoint or there is a proxy blocking the connection.";}}
this._logger.log(LogLevel.Error,errorMessage);return Promise.reject(new FailedToNegotiateWithServerError(errorMessage));}}
_createConnectUrl(url,connectionToken){if(!connectionToken){return url;}
return url+(url.indexOf("?")===-1?"?":"&")+`id=${connectionToken}`;}
async _createTransport(url,requestedTransport,negotiateResponse,requestedTransferFormat){let connectUrl=this._createConnectUrl(url,negotiateResponse.connectionToken);if(this._isITransport(requestedTransport)){this._logger.log(LogLevel.Debug,"Connection was provided an instance of ITransport, using that directly.");this.transport=requestedTransport;await this._startTransport(connectUrl,requestedTransferFormat);this.connectionId=negotiateResponse.connectionId;return;}
const transportExceptions=[];const transports=negotiateResponse.availableTransports||[];let negotiate=negotiateResponse;for(const endpoint of transports){const transportOrError=this._resolveTransportOrError(endpoint,requestedTransport,requestedTransferFormat,(negotiate===null||negotiate===void 0?void 0:negotiate.useStatefulReconnect)===true);if(transportOrError instanceof Error){transportExceptions.push(`${endpoint.transport} failed:`);transportExceptions.push(transportOrError);}
else if(this._isITransport(transportOrError)){this.transport=transportOrError;if(!negotiate){try{negotiate=await this._getNegotiationResponse(url);}
catch(ex){return Promise.reject(ex);}
connectUrl=this._createConnectUrl(url,negotiate.connectionToken);}
try{await this._startTransport(connectUrl,requestedTransferFormat);this.connectionId=negotiate.connectionId;return;}
catch(ex){this._logger.log(LogLevel.Error,`Failed to start the transport '${endpoint.transport}': ${ex}`);negotiate=undefined;transportExceptions.push(new FailedToStartTransportError(`${endpoint.transport} failed: ${ex}`,HttpTransportType[endpoint.transport]));if(this._connectionState!=="Connecting"){const message="Failed to select transport before stop() was called.";this._logger.log(LogLevel.Debug,message);return Promise.reject(new AbortError(message));}}}}
if(transportExceptions.length>0){return Promise.reject(new AggregateErrors(`Unable to connect to the server with any of the available transports. ${transportExceptions.join(" ")}`,transportExceptions));}
return Promise.reject(new Error("None of the transports supported by the client are supported by the server."));}
_constructTransport(transport){switch(transport){case HttpTransportType.WebSockets:if(!this._options.WebSocket){throw new Error("'WebSocket' is not supported in your environment.");}
return new WebSocketTransport(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case HttpTransportType.ServerSentEvents:if(!this._options.EventSource){throw new Error("'EventSource' is not supported in your environment.");}
return new ServerSentEventsTransport(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case HttpTransportType.LongPolling:return new LongPollingTransport(this._httpClient,this._logger,this._options);default:throw new Error(`Unknown transport: ${transport}.`);}}
_startTransport(url,transferFormat){this.transport.onreceive=this.onreceive;if(this.features.reconnect){this.transport.onclose=async(e)=>{let callStop=false;if(this.features.reconnect){try{this.features.disconnected();await this.transport.connect(url,transferFormat);await this.features.resend();}
catch{callStop=true;}}
else{this._stopConnection(e);return;}
if(callStop){this._stopConnection(e);}};}
else{this.transport.onclose=(e)=>this._stopConnection(e);}
return this.transport.connect(url,transferFormat);}
_resolveTransportOrError(endpoint,requestedTransport,requestedTransferFormat,useStatefulReconnect){const transport=HttpTransportType[endpoint.transport];if(transport===null||transport===undefined){this._logger.log(LogLevel.Debug,`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);return new Error(`Skipping transport '${endpoint.transport}' because it is not supported by this client.`);}
else{if(transportMatches(requestedTransport,transport)){const transferFormats=endpoint.transferFormats.map((s)=>TransferFormat[s]);if(transferFormats.indexOf(requestedTransferFormat)>=0){if((transport===HttpTransportType.WebSockets&&!this._options.WebSocket)||(transport===HttpTransportType.ServerSentEvents&&!this._options.EventSource)){this._logger.log(LogLevel.Debug,`Skipping transport '${HttpTransportType[transport]}' because it is not supported in your environment.'`);return new UnsupportedTransportError(`'${HttpTransportType[transport]}' is not supported in your environment.`,transport);}
else{this._logger.log(LogLevel.Debug,`Selecting transport '${HttpTransportType[transport]}'.`);try{this.features.reconnect=transport===HttpTransportType.WebSockets?useStatefulReconnect:undefined;return this._constructTransport(transport);}
catch(ex){return ex;}}}
else{this._logger.log(LogLevel.Debug,`Skipping transport '${HttpTransportType[transport]}' because it does not support the requested transfer format '${TransferFormat[requestedTransferFormat]}'.`);return new Error(`'${HttpTransportType[transport]}' does not support ${TransferFormat[requestedTransferFormat]}.`);}}
else{this._logger.log(LogLevel.Debug,`Skipping transport '${HttpTransportType[transport]}' because it was disabled by the client.`);return new DisabledTransportError(`'${HttpTransportType[transport]}' is disabled by the client.`,transport);}}}
_isITransport(transport){return transport&&typeof(transport)==="object"&&"connect" in transport;}
_stopConnection(error){this._logger.log(LogLevel.Debug,`HttpConnection.stopConnection(${error}) called while in state ${this._connectionState}.`);this.transport=undefined;error=this._stopError||error;this._stopError=undefined;if(this._connectionState==="Disconnected"){this._logger.log(LogLevel.Debug,`Call to HttpConnection.stopConnection(${error}) was ignored because the connection is already in the disconnected state.`);return;}
if(this._connectionState==="Connecting"){this._logger.log(LogLevel.Warning,`Call to HttpConnection.stopConnection(${error}) was ignored because the connection is still in the connecting state.`);throw new Error(`HttpConnection.stopConnection(${error}) was called while the connection is still in the connecting state.`);}
if(this._connectionState==="Disconnecting"){this._stopPromiseResolver();}
if(error){this._logger.log(LogLevel.Error,`Connection disconnected with error '${error}'.`);}
else{this._logger.log(LogLevel.Information,"Connection disconnected.");}
if(this._sendQueue){this._sendQueue.stop().catch((e)=>{this._logger.log(LogLevel.Error,`TransportSendQueue.stop() threw error '${e}'.`);});this._sendQueue=undefined;}
this.connectionId=undefined;this._connectionState="Disconnected";if(this._connectionStarted){this._connectionStarted=false;try{if(this.onclose){this.onclose(error);}}
catch(e){this._logger.log(LogLevel.Error,`HttpConnection.onclose(${error}) threw error '${e}'.`);}}}
_resolveUrl(url){if(url.lastIndexOf("https://",0)===0||url.lastIndexOf("http://",0)===0){return url;}
if(!Platform.isBrowser){throw new Error(`Cannot resolve '${url}'.`);}
const aTag=window.document.createElement("a");aTag.href=url;this._logger.log(LogLevel.Information,`Normalizing '${url}' to '${aTag.href}'.`);return aTag.href;}
_resolveNegotiateUrl(url){const negotiateUrl=new URL(url);if(negotiateUrl.pathname.endsWith('/')){negotiateUrl.pathname+="negotiate";}
else{negotiateUrl.pathname+="/negotiate";}
const searchParams=new URLSearchParams(negotiateUrl.searchParams);if(!searchParams.has("negotiateVersion")){searchParams.append("negotiateVersion",this._negotiateVersion.toString());}
if(searchParams.has("useStatefulReconnect")){if(searchParams.get("useStatefulReconnect")==="true"){this._options._useStatefulReconnect=true;}}
else if(this._options._useStatefulReconnect===true){searchParams.append("useStatefulReconnect","true");}
negotiateUrl.search=searchParams.toString();return negotiateUrl.toString();}}
function transportMatches(requestedTransport,actualTransport){return!requestedTransport||((actualTransport&requestedTransport)!==0);}
class TransportSendQueue{constructor(_transport){this._transport=_transport;this._buffer=[];this._executing=true;this._sendBufferedData=new PromiseSource();this._transportResult=new PromiseSource();this._sendLoopPromise=this._sendLoop();}
send(data){this._bufferData(data);if(!this._transportResult){this._transportResult=new PromiseSource();}
return this._transportResult.promise;}
stop(){this._executing=false;this._sendBufferedData.resolve();return this._sendLoopPromise;}
_bufferData(data){if(this._buffer.length&&typeof(this._buffer[0])!==typeof(data)){throw new Error(`Expected data to be of type ${typeof (this._buffer)} but was of type ${typeof (data)}`);}
this._buffer.push(data);this._sendBufferedData.resolve();}
async _sendLoop(){while(true){await this._sendBufferedData.promise;if(!this._executing){if(this._transportResult){this._transportResult.reject("Connection stopped.");}
break;}
this._sendBufferedData=new PromiseSource();const transportResult=this._transportResult;this._transportResult=undefined;const data=typeof(this._buffer[0])==="string"?this._buffer.join(""):TransportSendQueue._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(data);transportResult.resolve();}
catch(error){transportResult.reject(error);}}}
static _concatBuffers(arrayBuffers){const totalLength=arrayBuffers.map((b)=>b.byteLength).reduce((a,b)=>a+b);const result=new Uint8Array(totalLength);let offset=0;for(const item of arrayBuffers){result.set(new Uint8Array(item),offset);offset+=item.byteLength;}
return result.buffer;}}
class PromiseSource{constructor(){this.promise=new Promise((resolve,reject)=>[this._resolver,this._rejecter]=[resolve,reject]);}
resolve(){this._resolver();}
reject(reason){this._rejecter(reason);}};const JSON_HUB_PROTOCOL_NAME="json";class JsonHubProtocol{constructor(){this.name=JSON_HUB_PROTOCOL_NAME;this.version=2;this.transferFormat=TransferFormat.Text;}
parseMessages(input,logger){if(typeof input!=="string"){throw new Error("Invalid input for JSON hub protocol. Expected a string.");}
if(!input){return[];}
if(logger===null){logger=NullLogger.instance;}
const messages=TextMessageFormat.parse(input);const hubMessages=[];for(const message of messages){const parsedMessage=JSON.parse(message);if(typeof parsedMessage.type!=="number"){throw new Error("Invalid payload.");}
switch(parsedMessage.type){case MessageType.Invocation:this._isInvocationMessage(parsedMessage);break;case MessageType.StreamItem:this._isStreamItemMessage(parsedMessage);break;case MessageType.Completion:this._isCompletionMessage(parsedMessage);break;case MessageType.Ping:break;case MessageType.Close:break;case MessageType.Ack:this._isAckMessage(parsedMessage);break;case MessageType.Sequence:this._isSequenceMessage(parsedMessage);break;default:logger.log(LogLevel.Information,"Unknown message type '"+parsedMessage.type+"' ignored.");continue;}
hubMessages.push(parsedMessage);}
return hubMessages;}
writeMessage(message){return TextMessageFormat.write(JSON.stringify(message));}
_isInvocationMessage(message){this._assertNotEmptyString(message.target,"Invalid payload for Invocation message.");if(message.invocationId!==undefined){this._assertNotEmptyString(message.invocationId,"Invalid payload for Invocation message.");}}
_isStreamItemMessage(message){this._assertNotEmptyString(message.invocationId,"Invalid payload for StreamItem message.");if(message.item===undefined){throw new Error("Invalid payload for StreamItem message.");}}
_isCompletionMessage(message){if(message.result&&message.error){throw new Error("Invalid payload for Completion message.");}
if(!message.result&&message.error){this._assertNotEmptyString(message.error,"Invalid payload for Completion message.");}
this._assertNotEmptyString(message.invocationId,"Invalid payload for Completion message.");}
_isAckMessage(message){if(typeof message.sequenceId!=='number'){throw new Error("Invalid SequenceId for Ack message.");}}
_isSequenceMessage(message){if(typeof message.sequenceId!=='number'){throw new Error("Invalid SequenceId for Sequence message.");}}
_assertNotEmptyString(value,errorMessage){if(typeof value!=="string"||value===""){throw new Error(errorMessage);}}};const LogLevelNameMapping={trace:LogLevel.Trace,debug:LogLevel.Debug,info:LogLevel.Information,information:LogLevel.Information,warn:LogLevel.Warning,warning:LogLevel.Warning,error:LogLevel.Error,critical:LogLevel.Critical,none:LogLevel.None,};function parseLogLevel(name){const mapping=LogLevelNameMapping[name.toLowerCase()];if(typeof mapping!=="undefined"){return mapping;}
else{throw new Error(`Unknown log level: ${name}`);}}
class HubConnectionBuilder{configureLogging(logging){Arg.isRequired(logging,"logging");if(isLogger(logging)){this.logger=logging;}
else if(typeof logging==="string"){const logLevel=parseLogLevel(logging);this.logger=new ConsoleLogger(logLevel);}
else{this.logger=new ConsoleLogger(logging);}
return this;}
withUrl(url,transportTypeOrOptions){Arg.isRequired(url,"url");Arg.isNotEmpty(url,"url");this.url=url;if(typeof transportTypeOrOptions==="object"){this.httpConnectionOptions={...this.httpConnectionOptions,...transportTypeOrOptions};}
else{this.httpConnectionOptions={...this.httpConnectionOptions,transport:transportTypeOrOptions,};}
return this;}
withHubProtocol(protocol){Arg.isRequired(protocol,"protocol");this.protocol=protocol;return this;}
withAutomaticReconnect(retryDelaysOrReconnectPolicy){if(this.reconnectPolicy){throw new Error("A reconnectPolicy has already been set.");}
if(!retryDelaysOrReconnectPolicy){this.reconnectPolicy=new DefaultReconnectPolicy();}
else if(Array.isArray(retryDelaysOrReconnectPolicy)){this.reconnectPolicy=new DefaultReconnectPolicy(retryDelaysOrReconnectPolicy);}
else{this.reconnectPolicy=retryDelaysOrReconnectPolicy;}
return this;}
withServerTimeout(milliseconds){Arg.isRequired(milliseconds,"milliseconds");this._serverTimeoutInMilliseconds=milliseconds;return this;}
withKeepAliveInterval(milliseconds){Arg.isRequired(milliseconds,"milliseconds");this._keepAliveIntervalInMilliseconds=milliseconds;return this;}
withStatefulReconnect(options){if(this.httpConnectionOptions===undefined){this.httpConnectionOptions={};}
this.httpConnectionOptions._useStatefulReconnect=true;this._statefulReconnectBufferSize=options===null||options===void 0?void 0:options.bufferSize;return this;}
build(){const httpConnectionOptions=this.httpConnectionOptions||{};if(httpConnectionOptions.logger===undefined){httpConnectionOptions.logger=this.logger;}
if(!this.url){throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");}
const connection=new HttpConnection(this.url,httpConnectionOptions);return HubConnection.create(connection,this.logger||NullLogger.instance,this.protocol||new JsonHubProtocol(),this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize);}}
function isLogger(logger){return logger.log!==undefined;};;if(!Uint8Array.prototype.indexOf){Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:true,});}
if(!Uint8Array.prototype.slice){Object.defineProperty(Uint8Array.prototype,"slice",{value:function(start,end){return new Uint8Array(Array.prototype.slice.call(this,start,end));},writable:true,});}
if(!Uint8Array.prototype.forEach){Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:true,});}
return __webpack_exports__;})();});;;
